No projeto de bancos de dados relacionais, as dependências f...

Próximas questões
Com base no mesmo assunto
Q567886 Banco de Dados
No projeto de bancos de dados relacionais, as dependências funcionais têm um importante papel no processo de normalização. Dependências funcionais podem ser combinadas para a derivação de novas dependências.

Considere as seguintes dependências funcionais: 

                               A → B

                               A → C

                               B → C

                               B → D

A dependência funcional que não pode ser derivada das dependências acima, e que não é uma dependência trivial é: 
Alternativas

Gabarito comentado

Confira o gabarito comentado por um dos nossos professores

A alternativa correta é a D - C → D.

Para entender o motivo, vamos nos aprofundar um pouco no conceito de dependências funcionais e como elas são aplicadas na normalização de bancos de dados relacionais. Dependências funcionais são uma forma de expressar que o valor de um conjunto de atributos determina unicamente o valor de outro conjunto de atributos. Este conceito é fundamental para definir as formas normais, que são um conjunto de regras para reduzir redundâncias e evitar anomalias em operações de inserção, atualização e exclusão de dados.

As dependências apresentadas no enunciado são:

  • A → B: o atributo A determina unicamente o atributo B.
  • A → C: o atributo A determina unicamente o atributo C.
  • B → C: o atributo B determina unicamente o atributo C.
  • B → D: o atributo B determina unicamente o atributo D.

Com base nessas dependências, podemos analisar as alternativas propostas na questão:

  • A) A → C: Esta dependência é diretamente uma das dadas, então pode ser derivada das informações iniciais.
  • B) A → D: A partir de A → B e B → D, pode-se inferir que A → D, pois se A determina B e B determina D, então A também determina D.
  • C) A → B, C: Uma vez que A → B e também A → C são dadas, ambas podem ser combinadas para inferir que A determina tanto B quanto C.
  • D) C → D: Não há nenhuma dependência funcional dada que permita inferir que C determina D diretamente. Portanto, essa é a dependência que não pode ser derivada das informações fornecidas e não é trivial.
  • E) A, B, C → A, B: Esta é uma dependência trivial porque o lado direito é um subconjunto do lado esquerdo, ou seja, é sempre verdadeiro que um conjunto de atributos determina qualquer subconjunto de si mesmo.

Portanto, a alternativa D - C → D está correta, pois não podemos derivar essa dependência a partir das dependências fornecidas e ela não é uma dependência trivial, que seria aquela em que o conjunto de atributos determinantes inclui os atributos determinados, como na alternativa E.

Clique para visualizar este gabarito

Visualize o gabarito desta questão clicando no botão abaixo

Comentários

Veja os comentários dos nossos alunos

A e C) Não precisa comentar. Copiou e colou do enunciado DFs existentes.

B) A->D - Pela regra da transitividade, se A determina B e C, logo determina D também.

E) É uma dependência trivial pois AB está contido em ABC.

D) Feriu a 3 FN. atributo não chave determinando outro atrib. ñ chave.

(a) Errado, nem precisa ser derivada porque já está explícita no enunciado;

(b) Errado, é possível derivar por transitividade: A → B, B → D, logo A → D;

(c) Errado, nem precisa ser derivada porque está explícito: A → B e A → C, logo A → B,C;

(d) Correto, não é possível derivar essa dependência funcional;

(e) Errado, trata-se de uma dependência funcional trivial porque A, B ⊂ A, B, C.

Portanto,

Gab. item d) C → D

Estratégia. Prof. Diego Carvalho

Reflexividade: Se Y está contido em X então X → Y. (trivial)

Aumentação: Se X → Y, XZ → YZ;

Transitividade: Se X → Y e Y → Z então X → Z.

União: Se X → Y e X → Z então X → YZ.

Decomposição: Se X → YZ e X → Y então X → Z.

De acordo com as regras acima, somente a alternativa D não pode ser derivada.

alguém poderia me explicar o que é derivar ?

Clique para visualizar este comentário

Visualize os comentários desta questão clicando no botão abaixo