Sobes.tech
Junior — Middle

Explique o conceito de desnormalização em bases de dados e as suas consequências para o projeto.

sobes.tech IA

Resposta da IA

A desnormalização é o processo de adicionar intencionalmente redundância na estrutura do banco de dados, quando os dados são duplicados ou combinados para melhorar o desempenho das consultas.

Num banco de dados normalizado, os dados estão divididos em tabelas com o mínimo de duplicação, o que facilita a atualização e a manutenção da integridade. A desnormalização, por outro lado, reduz o número de junções (JOIN) entre tabelas, acelerando a leitura, mas aumentando a complexidade da atualização de dados.

Consequências para o projeto:

  • Vantagens:

    • Melhoria no desempenho de leitura, especialmente em sistemas com muitas consultas de seleção.
    • Simplificação de consultas complexas.
  • Desvantagens:

    • Aumento no volume de dados armazenados devido à duplicação.
    • Maior risco de desincronização de dados durante as atualizações.
    • Necessidade de lógica adicional para sincronização e manutenção da integridade.

Exemplo: em vez de armazenar o endereço do cliente em uma tabela separada e vinculá-lo por uma chave, pode-se adicionar os campos de endereço diretamente na tabela de pedidos para obter a informação mais rapidamente, mas então, ao alterar o endereço, é preciso atualizar várias entradas.