Bases de Dados Normalizadas vs. Desnormalizadas

Quando comecei a trabalhar com SQL, tudo estava numa só tabela. É certo que a tabela tinha este aspecto:

p>A maior parte das bases de dados vão ter um pouco mais de dados do que quatro colunas e cinco filas. Assim, o debate entre as bases de dados normalizadas e desnormalizadas tem vindo a assolar durante séculos (estou a falar em tempo de desenvolvimento). Então qual é a diferença?

Bases de dados normalizadas envolvem múltiplas tabelas. Tal como os dados são organizados numa tabela e outros dados relacionados são colocados numa tabela diferente. Chega-se a cada pedaço de dados através de relações com cada tabela, principalmente juntar tabelas. O que é bom é que a normalização reduz a redundância e mantém a integridade dos dados. Tudo é organizado em agradáveis pequenas tabelas onde todos os dados que devem permanecer juntos, o fazem.

Todos os gatinhos cinzentos desta tabela, por favor.

Mas, tal como o lado negativo do Rails, as bases de dados normalizadas podem fazer abrandar as consultas, especialmente quando se trata de uma tonelada de dados (termo técnico) de merda. É aqui que entram as bases de dados desnormalizadas. Embora as múltiplas junções sejam satisfatórias e divertidas, podem tornar-se rapidamente complexas. Quando tudo está na mesma mesa, a consulta não tem de saltar de mesa em mesa para encontrar o que se procura, já está mesmo ali. Uma desvantagem é que haverá dados redundantes – um pequeno sacrifício a fazer para ganhar velocidade.

Todos os gatos na mesma tabela, sem “se” e “mas” ou “mas”.

A melhor parte de tudo isto é que não tem de escolher um ou outro; a sua base de dados não tem de ser normalizada até ao nono grau ou completamente desnormalizada numa só tabela. Se as suas consultas estiverem a correr demasiado devagar e for por causa da complexidade da consulta, pode desnormalizar a base de dados apenas o suficiente para se ver livre de demasiadas adesões. Alternativamente, se a sua base de dados for uma grande confusão de dados e precisar de alguma organização, um pouco de organização de alguns dados em diferentes tabelas e de se livrar da redundância está em ordem. As bases de dados podem dar-lhe o melhor de dois mundos, com um pouco de TLC.

Leave a Comment

O seu endereço de email não será publicado. Campos obrigatórios marcados com *