SóProvas


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

Considere uma tabela relacional T definida para os atributos A, B,C e D, todos com valores atômicos. Considere também que oatributo A foi definido como chave primária dessa tabela.

R(A, B, C, D)

As dependências funcionais definidas para os atributos dessatabela são:

A → B

B → C

A → D

A → C

Como definida acima, a tabela T viola a forma normal conhecida como:

Alternativas
Comentários
  • se B transita para C e ambos são atributos não chaves não é possível estar na 3FN

  • Não entendi, para mim seria 2FN 

  • Se a chave só tem um atributo e a tabela está na 1ª FN, também está na 2ª FN. Por isso a regra quebrada é da 3ª FN (Nenhum atributo não-chave depende funcionalmente de nenhum outro atributo não-chave)

    Espero ter ajudado.

    Abs

    Gilberto Horácio


    www.gilbertohoracio.blogspot.com.br


  • Pessoal para responder essa questão fiz uma esquema:

    A(pk) |  B |  C | D.

    B depende da A.

    C depende de A.

    D depende de A.

    C depende de B também.

    Análise

    1 - Não tem como saber se viola a 1 FN, devido a não demonstração dos valores dos atributos multivalorados.

    2 - Não viola a 2 FN, porque todos os atributos não-chaves dependem complementamente da chave-primária e não parcial. Note que a chave primária é A, e todos dependem dela.

    3 - Viola a 3 FN, porque o atributo C depende da chave-primária e também de outro atributo não-chave, neste caso (atributo B). Para estar na  3FN, os atributos B e C tinham que estar em única tabela.

    4 - E se não estar na 3 FN. não tem como estar nas demais formais normais (4 e Boyce-Codd). 

  • Bom comentario Roger Sampaio. Contudo, quando diz que os valores são atômicos no enunciado, já invalida a letra A.

    Abraço.

  • A é chave.

    A → B ok

    B → C (c depende de b, um atributo nao-chave. Se for na mesma entidade, viola 3FN.(a questao ja responde isso))

    A → D ok

    A → C (c é transitivamente dependente porque depende de b, o qual depende de A). Logo, 3fn deve ser aplicaod;

  • A questão deveria ter mais de um gabarito pois:

    Se está na FNBC então está na 3FN.
    Se não está na 3FN, então não está na FNBC.

    A FNBC diz : "Uma relação está em FNBC se para toda dependência funcional X => Z (X determina Z), X é uma super-chave."

    E claramente, há uma dependência funcional do tipo B => C (B determina C) onde B não é super-chave.

    Então a letra d também deveria ser correta pois viola a 3FN e a FNBC também.

  • A questão pergunta qual norma é viola, nesse caso a 3FN.

  • 3ª Forma Normal - Deve estar na 2ª FN e não conter dependência funcional transitiva.

    Dependência Funcional Transitiva: quando uma coluna além de depender da chave primária de uma tabela, depende de outra coluna ou conjunto de colunas.

    Obs.: Causa anomalias de inserção, exclusão e/ou modificação.

     

    Na questão diz:

    B -> C

    A -> C

    Por isso o gabarito é a Letra C

     

     

     

  • A questão é ambígua, pois para considerar que a altenativa é viola a 3FN ou 3.5FN, você precisa saber se A → C é dependência transitiva ou não, o que não foi dito em lugar nenhum na questão. Apesar de B → C vir antes de A → C, não se pode pressumir isso que A → C é dependência transitiva, a meu ver deveria haver um parêntese (transitiva) para diferenciar da dependência direta, aí acabaria a ambiguidade.

    A → B

    B → C

    A → D

    A → C (transitiva ou não?)

    Se A -> C for transitiva, viola 3FN, caso contrário viola somente 3.5FN.

    Passível de anulação, gabarito poderia ser C ou D, a depender da interpretação.