1
resposta

[Dúvida] Normalização do banco de dados

No tópico "Para saber mais: Entendendo a normalização" é citado o seguinte trecho

"Quando o desempenho é prioridade: a normalização pode melhorar o desempenho e a confiabilidade dos dados, porém, pode fazer com que algumas consultas se tornem mais complexas e lentas para executar."

Parece haver uma certa ambiguidade sobre o impacto da normalização no desempenho. Você quis dizer que depende do tipo de consulta ou do contexto?

1 resposta

Olá Thiago, a dúvida é bem comum e para começar a responder eu vou te dar um contexto.

Contexto

A normalização melhora a estrutura do banco de dados, evitando informações duplicadas e facilitando a manutenção. Isso pode trazer ganhos de desempenho em operações como inserções, atualizações e exclusões.

Cenário real

Por outro lado, quando falamos de consultas, especialmente as que precisam buscar dados em várias tabelas ao mesmo tempo, a normalização pode tornar essas operações mais lentas, já que exige mais junções (JOINs).

Escolha

Ou seja, o impacto da normalização no desempenho depende do contexto: ela ajuda na integridade e organização dos dados, mas pode exigir mais processamento em consultas complexas.

Sendo assim em cada caso vai ser necessário uma análise do que fazer. Em contextos de data marts e BI corporativos geralmente temos várias tabelas até mesmo duplicadas com diferentes níveis de normalização para atender o público.

Em outros casos é possível até criar ou materializar views para isso, portanto o ideal é equilibrar os dois lados de acordo com as necessidades.