Conceitos: Normalização
Tópicos
Este documento de conceitos fornece uma discussão breve do tópico de normalização de
dados, tal como se aplica ao desenvolvimento do
Artefato: Modelo de Dados. Ele não fornece um tratamento completo de normalização,
porque o assunto é bastante amplo e foi documentado em muitos textos no design de
banco de dados. Em [NBG01], a normalização
é definida como "uma técnica analítica utilizada para produzir um design de banco de dados
relacional correto." Na prática, a normalização é um procedimento para eliminar
a redundância no Modelo de Dados por meio da aplicação de regras restritivas. A eliminação
de redundância de dados nas tabelas do Modelo de Dados ajuda a reforçar a integridade
referencial dos dados no banco de dados.
A normalização é geralmente executada no Modelo de Dados após uma versão inicial
das tabelas e seus relacionamentos terem sido desenvolvidos no modelo. O
tempo exato para aplicar a normalização depende da situação específica do
projeto e da decisão do designer de banco de dados. O
processo de normalização é aplicado às tabelas no Modelo de Dados em uma série de
etapas, sendo que cada etapa aplica regras mais restritivas do que a última.
Níveis de Normalização
A normalização é classificada hierarquicamente em formatos numéricos, com o
mais comum sendo o primeiro, segundo e terceiro formatos normais. Cada nível de normalização
é mais restritivo que o anterior. Os três primeiros níveis hierárquicos
de normalização são:
- Primeiro Formato Normal-Grupos repetitivos de colunas de dados em tabelas
foram eliminados de modo que os dados fiquem organizados em unidades atômicas.
- Segundo Formato Normal-Os dados estão no primeiro formato normal e a redundância
nos campos-chave principais foi eliminada de modo que os valores da coluna fiquem totalmente
dependentes do campo-chave principal.
- Terceiro Formato Normal-Os dados estão no segundo formato normal e cada coluna
não é dependente de nenhuma coluna não chave.
Outros níveis de normalização são possíveis, mas não são abrangidos nesta discussão.
Informações sobre níveis adicionais de normalização podem ser localizadas em [DAT99]. O
nível exato de normalização para aplicar ao Modelo de Dados é uma decisão que o
designer de banco de dados deve tomar com base na situação específica do projeto.
|