Recomendado, 2024

Escolha Do Editor

Diferença entre normalização e desnormalização

Normalização e desnormalização são os métodos usados ​​em bancos de dados. Os termos são diferenciáveis ​​onde Normalização é uma técnica de minimizar as anomalias de inserção, exclusão e atualização através da eliminação dos dados redundantes. Por outro lado, Desnormalização é o processo inverso de normalização onde a redundância é adicionada aos dados para melhorar o desempenho da aplicação específica e a integridade dos dados.

A normalização evita o desperdício de espaço em disco minimizando ou eliminando a redundância.

Gráfico de comparação

Base para comparaçãoNormalizaçãoDesnormalização
BasicA normalização é o processo de criação de um esquema definido para armazenar dados não redundantes e consistentes.Desnormalização é o processo de combinar os dados para que possam ser consultados rapidamente.
PropósitoReduzir a redundância e inconsistência de dados.Para alcançar a execução mais rápida das consultas através da introdução de redundância.
Usado emSistema OLTP, onde a ênfase está em fazer a inserção, apagar e atualizar anomalias mais rapidamente e armazenar os dados de qualidade.Sistema OLAP, onde a ênfase está em tornar a pesquisa e a análise mais rápidas.
Integridade de dadosMantidoNão pode reter
RedundânciaEliminadoAdicionado
Número de tabelasAumentaDiminui
Espaço em discoUso otimizadoDesperdício

Definição de Normalização

A normalização é o método de organizar os dados no banco de dados de maneira eficiente. Envolve a construção de tabelas e a criação de relacionamentos entre essas tabelas de acordo com algumas regras específicas. A redundância e a dependência inconsistente podem ser removidas usando essas regras para torná-la mais flexível.

Dados redundantes consomem espaço em disco, aumentam a inconsistência de dados e diminuem as consultas DML. Se os mesmos dados estiverem presentes em mais de um local e qualquer atualização for confirmada nesses dados, a alteração deverá ser refletida em todos os locais. Dados inconsistentes podem dificultar a pesquisa de dados e o acesso, perdendo o caminho para isso.

Há várias razões por trás da realização da normalização, como evitar redundância, anomalias de atualização, codificação desnecessária, manter os dados na forma que possa acomodar a alteração com mais facilidade e precisão e aplicar a restrição de dados.

A normalização inclui a análise de dependências funcionais entre atributos. As relações (tabelas) são decompostas com anomalias para gerar relações com uma estrutura. Isso ajuda a decidir quais atributos devem ser agrupados em uma relação.

A normalização é basicamente baseada nos conceitos de formas normais . Diz-se que uma tabela de relações está em uma forma normal se preencher um certo conjunto de restrições. Existem 6 formas normais definidas: 1NF, 2NF, 3NF, BCNF, 4NF e 5NF. A normalização deve eliminar a redundância, mas não ao custo da integridade.

Definição de desnormalização

Desnormalização é o processo inverso de normalização, onde o esquema normalizado é convertido em um esquema que possui informações redundantes. O desempenho é aprimorado usando redundância e mantendo os dados redundantes consistentes. O motivo para a desnormalização é o overhead produzido no processador de consultas por uma estrutura supernormalizada.

A desnormalização também pode ser definida como o método de armazenar a junção de relações de forma normal superior como uma relação de base, que está em uma forma normal mais baixa. Reduz o número de tabelas e combinações de tabelas complicadas porque um número maior de junções pode atrasar o processo. Existem várias técnicas de desnormalização, tais como: Armazenar valores derivados, tabelas de pré-junção, valores codificados e manter detalhes com o mestre, etc.

Aqui, a abordagem de desnormalização enfatiza o conceito de que, ao colocar todos os dados em um único local, é possível eliminar a necessidade de pesquisar esses vários arquivos para coletar esses dados. A estratégia básica é seguida na desnormalização, onde o processo mais dominante é selecionado para examinar essas modificações que, em última análise, melhorarão o desempenho. E a alteração mais básica é a adição de vários atributos à tabela existente para reduzir o número de junções.

Principais diferenças entre normalização e desnormalização

  1. Normalização é a técnica de dividir os dados em várias tabelas para reduzir a redundância e inconsistência de dados e para obter a integridade dos dados. Por outro lado, Desnormalização é a técnica de combinar os dados em uma única tabela para acelerar a recuperação de dados.
  2. A normalização é usada no sistema OLTP, que enfatiza a inserção, exclusão e atualização de anomalias mais rapidamente. Em contraste, a desnormalização é usada no sistema OLAP, que enfatiza a busca e a análise mais rápidas.
  3. A integridade dos dados é mantida no processo de normalização, enquanto na integridade dos dados de desnormalização é mais difícil de reter.
  4. Dados redundantes são eliminados quando a normalização é executada, enquanto a desnormalização aumenta os dados redundantes.
  5. A normalização aumenta o número de tabelas e junções. Em contraste, a desnormalização reduz o número de tabelas e une-se.
  6. O espaço em disco é desperdiçado na desnormalização porque os mesmos dados são armazenados em locais diferentes. Pelo contrário, o espaço em disco é otimizado em uma tabela normalizada.

Conclusão

Normalização e desnormalização são úteis de acordo com a situação. A normalização é usada quando as anomalias mais rápidas de inserção, exclusão e atualização e consistência de dados são necessariamente necessárias. Por outro lado, a desnormalização é usada quando a pesquisa mais rápida é mais importante e para otimizar o desempenho de leitura. Isso também diminui as sobrecargas criadas por dados excessivamente normalizados ou junções de tabelas complicadas.

Top