Articles

GeeksforGeeks

Posted on

Denormalização é uma técnica de optimização de bases de dados na qual adicionamos dados redundantes a uma ou mais tabelas. Isto pode ajudar-nos a evitar junções dispendiosas numa base de dados relacional. Note-se que a desnormalização não significa não fazer a normalização. É uma técnica de optimização que é aplicada depois de fazer a normalização.

Numa base de dados tradicional normalizada, armazenamos dados em tabelas lógicas separadas e tentamos minimizar dados redundantes. Podemos esforçar-nos por ter apenas uma cópia de cada pedaço de dados na base de dados.

Por exemplo, numa base de dados normalizada, podemos ter uma tabela de Cursos e uma tabela de Professores. Cada entrada em Cursos armazenaria o ID do professor para um Curso, mas não o nome do professor. Quando precisarmos de recuperar uma lista de todos os Cursos com o nome do Professor, faríamos uma junção entre estas duas tabelas.

Em alguns aspectos, isto é óptimo; se um professor mudar o seu nome, só temos de actualizar o nome num único local.
O inconveniente é que se as mesas forem grandes, podemos passar um tempo desnecessariamente longo a fazer uniões em mesas.
A desnormalização, então, atinge um compromisso diferente. Sob desnormalização, decidimos que estamos bem com alguma redundância e algum esforço extra para actualizar a base de dados, a fim de obter as vantagens de eficiência de menos adesões.

Pros de Desnormalização:-

  1. Retrieving data is faster since we do fewer joins
  2. Queries to retrieving can be simpleer(and therefore less likely to have bugs),
    since que precisamos de olhar para menos tabelas.

Cons de desnormalização:-

  1. Atualizações e inserções são mais caras.
  2. A desnormalização pode tornar a actualização e inserção de código mais difícil de escrever.
  3. Os dados podem ser inconsistentes . Qual é o valor “correcto” de um dado?
  4. redundância de dados requer mais armazenamento.

Num sistema que exige escalabilidade, como o de qualquer grande empresa tecnológica, usamos quase sempre elementos de bases de dados normalizadas e desnormalizadas.

Etiquetas de artigos :

DBMS

Etiquetas de Prática :

Deixe uma resposta

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