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.