-
Completando:
a --> b
b -->a
Forma Normal de Boyce-Codd (ou BCNF) requer que não exista nenhuma dependência funcional não-trivial de atributos em algo mais do que um superconjunto de uma chave candidata. Neste estágio, todos os atributos são dependentes de uma chave, de uma chave inteira e de nada mais que uma chave (excluindo dependências triviais, como A --> A).Fonte: https://pt.wikipedia.org/wiki/Normaliza%C3%A7%C3%A3o_de_dados
-
Na forma normal de Boyce Codd, todo determinante (lado esquerdo) deve ser chave candidata. Mas a dependência funcional, b->a, b não é chave candidata. Logo foi violada a FN de Boyce-Codd.
-
Primeira forma normal: Uma tabela está na 1FN, se e somente se, todos os valores de colunas em uma tabela forem atômicos.
a int not null primary key e b int not null (Correto não temos atributos multivalorados).
Segunda Forma Normal: Uma relação está na 2FN se, e somente se, estiver na 1FN e cada atributo não-chave for dependente da chave primária inteira, isto é, cada atributo não-chave não poderá ser dependente de apenas parte da chave.
b → a (Correto)
Terceira Forma Normal: Uma relação R está na 3FN se ela estiver na 2FN e cada atributo não-chave de R não possuir dependência transitiva, para cada chave candidata de R.
a → b e b → a (Correto)
Boyce Codd, todo determinante (lado esquerdo) deve ser chave candidata. Mas a dependência funcional, b->a, b não é chave candidata. Logo foi violada a FN de Boyce-Codd.
-
"Mas a dependência funcional, b->a, b não é chave candidata. " Não há como ter certeza que b não é chave candidata só pelo create. Ainda mais que o infeliz colocou not null na B... mas enfim...
-
Perfeita colocação, Fernando Souza. Confesso que fiquei incomodado em aceitar que b não seria uma chave candidata.
Se b -> a, para um dado valor de b, eu terei necessariamente uma única tupla. Isso não caracterizaria o conceito de chave candidata (ou superchave)?
Fiquei na dúvida.
-
Um outro detalhe que ninguem comentou. A 4FN tambem é conhecida como FN de B&C. Logo, há duas alternativas corretas e essa questão deveria ser anulada!