Entendendo as Formas Normais no Banco de Dados
Entendendo as Formas Normais no Banco de Dados
Organizar dados não é apenas uma questão de estética: é essencial para evitar redundâncias, inconsistências e anomalias. Foi Edgar F. Codd, criador do modelo relacional, quem introduziu o conceito de normalização — e mais tarde, junto com Raymond Boyce, surgiu a famosa Forma Normal de Boyce-Codd (BCNF).
Mas afinal, o que são essas formas normais?
🔹 Primeira Forma Normal (1FN)
- Definição: todos os atributos devem conter valores atômicos (simples e indivisíveis).
- Problema que resolve: elimina colunas com listas, valores compostos ou aninhados.
- Exemplo: em vez de ter uma coluna “telefones” com vários números, criamos uma tabela separada para armazenar cada telefone.
🔹 Segunda Forma Normal (2FN)
- Definição: a tabela deve estar na 1FN e não conter dependências parciais.
- Problema que resolve: evita que atributos não chave dependam apenas de parte da chave primária composta.
- Exemplo: separar informações de projetos e empregados em tabelas distintas, evitando que o nome do empregado dependa apenas do CPF ou apenas do código do projeto.
🔹 Terceira Forma Normal (3FN)
- Definição: a tabela deve estar na 2FN e não conter dependências transitivas.
- Problema que resolve: impede que atributos não chave dependam de outros atributos não chave.
- Exemplo: se “sexo” depende de “nome do empregado”, que por sua vez depende do CPF, temos uma dependência transitiva. A solução é reorganizar em tabelas independentes.
A normalização é como uma “faxina” nos dados: elimina redundâncias, garante integridade e facilita manutenção. Em sistemas transacionais (OLTP), ela é indispensável. Já em ambientes analíticos (OLAP), muitas vezes ocorre a desnormalização para otimizar consultas.
Acesse meu artigo no Linkedin sobre o assunto:
https://www.linkedin.com/pulse/normaliza%25C3%25A7%25C3%25A3o-daniel-fran%25C3%25A7a-dejif
Comentários
Postar um comentário