-
O objetivo da normalização é a remoção das dependências funcionais que causam redundâncias (com consequente aumento do espaço necessário para o armazenamento das informações) e que provocam as anomalias de inserção, modificação e exclusão (processamento redundante e possibilidade de perda de informações).
A existência de dependências funcionais parciais (violação da 2FN) e transitivas (violação da 3FN), são algumas das causas das anomalias indesejáveis.
Uma relação pode possuir chaves candidatas, além da chave primária, sem violar as restrições especificadas pelas formas normais e sem causar as anomalias nas operações de inserção, modificação e exclusão.
Fonte: Sistema de Banco de Dados, Navathe e Elmasri, 6ª edição, capítulo 15.
-
Quando um esquema de relação tem mais de uma chave, cada uma delas é denominada chave-candidata, e, nesse caso, deve-se decompor a relação com base nas dependências funcionais até que somente uma chave primária permaneça na relação.
Não há necessidade de decompor a tabela (relação), gerando novas tabelas.
É possível manter todas as chaves candidatas na mesma tabela.
Nessa situação, escolhe-se uma como chave primária e as demais tornam-se chaves alternativas.
-
Na análise de dependências funcionais e no processo de normalização, não é necessário decompor a relação em outras com base na presença de chaves candidatas. Não há problema em manter mais de uma chave candidata na mesma tabela, então é possível escolher apenas uma chave primária (simples ou composta por múltiplos atributos), e manter as demais como chaves candidatas ou alternativas.
-
Comentário: “Decompor?!” Não tem nada que decompor. O projetista só escolhe qual será a chave primária dentre as chaves candidatas. Errado
Hachid Targino