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ção | Normalização | Desnormalização |
---|---|---|
Basic | A 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ósito | Reduzir 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 em | Sistema 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 dados | Mantido | Não pode reter |
Redundância | Eliminado | Adicionado |
Número de tabelas | Aumenta | Diminui |
Espaço em disco | Uso otimizado | Desperdí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
- 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.
- 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.
- A integridade dos dados é mantida no processo de normalização, enquanto na integridade dos dados de desnormalização é mais difícil de reter.
- Dados redundantes são eliminados quando a normalização é executada, enquanto a desnormalização aumenta os dados redundantes.
- 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.
- 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.