Eu encontrei dois tipos de procedimento de normalização ao consultar a internet e os livros didáticos. viz.
Tipo 1 . Formulários normais baseados apenas na chave primária.
Neste tipo,
-> 2NF não permite dependências parciais na chave primária .
-> 3NF não permite dependências transitivas na chave primária .
Tipo 2 . Uma forma Normal muito mais geral baseada em TODAS as chaves candidatas
Neste tipo,
Dependências parciais e dependências transitivas em TODAS as chaves candidatas são levadas em consideração.
Na maioria dos sites que indiquei, encontrei tutoriais e notas baseadas apenas no 1º tipo. Mas o livro 'Fundamentals of Database Systems' de Navathe e Elmasri descreve ambos os tipos. Até a página da wikipedia sobre 2NF menciona separadamente sobre '2NF e chaves candidatas', que é baseada no segundo tipo.
Veja 2NF e Chaves Candidatas - Wiki
Mas nem o livro nem o wiki mencionam nada sobre qual tipo é melhor ou qual é praticamente o preferido.
Qual tipo deve ser seguido quando nada é mencionado sobre o tipo? Espero que você tenha entendido minha pergunta.
Por favor, me ajudem nisso pessoal.
A normalização diz respeito a todas as Chaves Candidatas. Uma chave primária é apenas uma chave candidata. As chaves primárias não são diferentes de qualquer outra chave candidata.
A confusão potencial surge porque, nos primeiros dias da teoria do banco de dados relacional, o termo Chave Primária costumava significar toda e qualquer chave candidata, enquanto o uso moderno é que Chave Primária significa apenas uma chave que é "preferida" ou considerada como tendo algum significado especial para usuários de banco de dados . Infelizmente, muitas das "definições" que você verá on-line ou mesmo impressas estão erradas como resultado.