Este documento de conceitos fornece uma discussão breve do tópico de normalização de dados, tal como se aplica ao
desenvolvimento do Produto de Trabalho: 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. A cronometragem exata 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.
|