SóProvas


ID
2858779
Banca
CCV-UFC
Órgão
UFC
Ano
2018
Provas
Disciplina
Banco de Dados
Assuntos

Considere a relação R (A, B, C, D, E) com as seguintes dependências funcionais:


ABC -> DE e D -> AB.


Qual o número de superchaves de R?

Alternativas
Comentários
  • Antes de iniciar a resolução desta questão, analise essa outra questão motivacional:

    T = { CPF, Identidade, Passaporte, CNH }

    Cada um dos dados da relação T é um atributo e esses atributos podem formar uma super chave, mas cada atributo é uma chave candidata.

    A quantidade de possíveis super chaves da relação T é calculada da seguinte forma:

    Legenda: C(n,p) = combinatória de n elementos escolhidos p em p.

    1. C(4,1) = 4 2. C(4,2) = 6 3. C(4,3) = 4 4. C(4,4) = 1

    Logo, 4 + 6 + 4 + 1 = 15

    Resposta do questão motivacional: São passíveis de escolha 15 super chaves.

    Voltando ao exercício original, analisando a seguinte dependência funcional:

    ABC → DE, temos todos os atributos de R presente nessa dependência funcional.

    A, B, C é uma chave candidata de R.

    Com relação a outra dependência funcional:

    D → AB, substituindo esta na primeira temos:

    AD → ABE

    Logo, A,D é outra chave candidata.

    Só falta fazer os cálculos de combinatória:

    r = (AD, B, C, E) s = (ABC, D, E)

    2 atributos na superchave. A, D

    3 atributos na superchave. A, D, B | A, D, C

    A, D, E | A, B, C

    4 atributos na superchave. A, B, C, D | A, B, C, E

    A, B, E, D | A, C, E, D

    5 atributos na superchave. A, B, C, D, E

    Resposta da questão: 10 possíveis superchaves escolhíveis na relação R.

    GABARITO: C

  • Não entendi esta parte:

    Com relação a outra dependência funcional:

    D → AB, substituindo esta na primeira temos:

    AD → ABE

  • R (A, B, C, D, E)
    ABC → DE
    D → AB

      

    Seguem as possibilidades de superchaves:

    (ABC)
    (ABCDE)
    (CD)

    (ABCD) (ABCE)
    (CDA) (CDB) (CDE)
    (CDAE) (CDBE)

      

    Para quem não conseguiu entender, dê uma olhada na questão Q786886.

    É similar a essa, com bons comentários que ajudam a compreender esse raciocínio.

  • Para quem quiser se aprofundar é o fecho de atributo X*, conjunto de atributos que através das dependências transitivas permite gerar todos atributos da relação

    ABC -> DE

    D -> AB

    X* => todo mundo que tiver CD será superchave, pois D gera AB e, tendo C, gera ABC, que gera E

    CD*** = CD

    CD**E = CDE

    CD*B* = CDB

    CD*BE = CDBE

    CDA** = CDA

    CDA*E = CDAE

    CDAB* = CDAB

    CDABE = CDABE

    Todo mundo que tiver ABC será superchave, pois ABC gera DE, tendo então ABCDE

    ABCE

    ABC