Formas Normais
As formas normais são regras de design que ajudam a estruturar bancos de dados relacionais, reduzindo redundância e garantindo consistência dos dados.
Visão Geral
Primeira Forma Normal (1FN)
Regras
Valores atômicos
Sem grupos repetitivos
Identificador único para cada registro
Exemplo
Antes da 1FN
Depois da 1FN
Segunda Forma Normal (2FN)
Regras
Deve estar na 1FN
Todos os atributos não-chave dependem totalmente da chave primária
Exemplo
Antes da 2FN
Depois da 2FN
Terceira Forma Normal (3FN)
Regras
Deve estar na 2FN
Sem dependências transitivas
Exemplo
Antes da 3FN
Depois da 3FN
Forma Normal de Boyce-Codd (BCNF)
Regras
Deve estar na 3FN
Toda dependência funcional não-trivial é determinada por uma chave candidata
Exemplo
Antes da BCNF
Depois da BCNF
Quarta Forma Normal (4FN)
Regras
Deve estar na BCNF
Sem dependências multivaloradas
Exemplo
Antes da 4FN
Depois da 4FN
Quinta Forma Normal (5FN)
Regras
Deve estar na 4FN
Sem dependências de junção
Considerações Práticas
Raramente necessária
Complexidade elevada
Casos específicos
Desnormalização
Quando Considerar
Performance crítica
Dados predominantemente estáticos
Consultas complexas frequentes
Requisitos específicos de negócio
Riscos
Redundância de dados
Anomalias de atualização
Complexidade de manutenção
Inconsistência potencial
Recomendações
1. Análise de Requisitos
Padrões de acesso
Volume de dados
Frequência de atualizações
Requisitos de performance
2. Balanceamento
Normalização vs. Performance
Complexidade vs. Simplicidade
Flexibilidade vs. Otimização
Manutenibilidade vs. Eficiência
3. Documentação
Decisões de design
Exceções à normalização
Justificativas
Impactos e trade-offs