Formas Normais de Relações
1ª Forma Normal:
Uma relação em 1ª FN não possui relações aninhadas nem atributos multivalorados.
Def: Dado X → A, A é dependente funcional parcial de X se existe um subconjunto Y de X, menor que X,
tal que Y → A
Def: A é um "Atributo Não Primo (ANP)" de uma relação R se A não está contido em nenhuma chave de R
2ª Forma Normal:
Uma relação R está em 2ª FN se nenhum ANP de R é dependente funcional parcial de alguma chave de R
Fornecimentos ( numf, numat, preço, end_fornec )
onde: (numf, numat) → preço, numf → end_fornec
A relação Fornecimentos, acima, não está em 2ª FN.
Def: Se X → Y, Y -/->X, e Y → Z, dizemos que Z é "dependente transitivo forte" de X
3ª Forma Normal:
Numa relação R em 3ª FN nenhum ANP de R é "dependente transitivo forte" de qq chave de R
Na definição acima, Y -/->X (Y não determina X) é importante, porque se X e Y forem
chaves de R, não haveria violação da 3ª FN.
A relação Funcionários, a seguir, não está em 3ª FN:
Funcionários ( numf, RG, nome, depto, nome_depto)
pois, depto → nome_depto
Def: Se X contém Y então se diz que X → Y é uma "dependencia funcional trivial"
Forma Normal de Boyce-Codd (FNBC):
Uma relação está em FNBC se para toda df não trivial válida para R, X → Y, então X é
uma chave de R (ou contém uma chave de R)
Corolário: Numa relação em FNBC as únicas dependências funcionais não triviais provêm de chaves de R