SóProvas


ID
1735093
Banca
FGV
Órgão
TJ-RO
Ano
2015
Provas
Disciplina
Banco de Dados
Assuntos

Observe o comando de criação da tabela relacional T, mostrado a seguir.

create table T
(a int not null primary key,
 b int not null)

Sabendo-se que as dependências funcionais

a → b
b → a

verificam-se para todas as instâncias de T, a forma normal transgredida pelo esquema acima é a:


Alternativas
Comentários
  • 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!