Analise as seguintes dependências funcionais:             a ...

Próximas questões
Com base no mesmo assunto
Q738854 Banco de Dados

Analise as seguintes dependências funcionais:

             a → b

             b → a

Considerando-se que a constraint UQ estabelece o que é equivalente a uma chave candidata, assinale a opção que apresenta um esquema relacional normalizado até a FNBC à luz das dependências mostradas.

Alternativas

Gabarito comentado

Confira o gabarito comentado por um dos nossos professores

Alternativa correta: C - create table R ( a int not null, b int not null, constraint PK primary key (a) , constraint UQ unique (b) )

Para abordar esse tema, é necessário compreender o conceito de Formas Normais no contexto de bancos de dados relacionais. As formas normais são regras para a organização de tabelas de modo a reduzir redundâncias e evitar problemas como anomalias de inserção, atualização e exclusão. A questão trata especificamente da Terceira Forma Normal (3FN ou FNBC), onde uma tabela está na 3FN se estiver na Segunda Forma Normal (2FN) e todos os atributos não-chave forem mutuamente independentes, isto é, cada atributo não-chave deve depender apenas da chave primária.

As dependências funcionais apresentadas na questão são:

  • a → b: o atributo b é funcionalmente dependente de a.
  • b → a: o atributo a é funcionalmente dependente de b.

Essas dependências indicam que a e b são mutuamente dependentes, o que implica que qualquer um deles pode ser considerado uma chave candidata, já que um determina unicamente o outro. Portanto, para satisfazer a 3FN, devemos garantir que a tabela tenha apenas uma chave primária e que os atributos sejam independentes entre si.

A alternativa C é a correta porque define a como chave primária (PK) e b como uma chave única (UQ). Ao fazer isso, estabelece-se que tanto a quanto b são capazes de identificar unicamente um registro na tabela, sem redundâncias ou dependências funcionais transitivas que violariam a 3FN. A construção constraint UQ unique (b) impede que haja mais de um registro com o mesmo valor para b, o que, junto com a sendo a chave primária, assegura que a tabela esteja normalizada até a FNBC.

As outras alternativas falham em respeitar as dependências funcionais ou em satisfazer as condições para a 3FN:

  • A alternativa A define apenas a como chave primária, ignorando que b também poderia ser uma chave candidata.
  • A alternativa B faz o inverso, considerando apenas b como chave primária.
  • A alternativa D não define nenhuma chave primária, o que é necessário para estabelecer uma tabela normalizada.
  • A alternativa E define uma chave primária composta por a e b, o que seria redundante dado que cada um pode, individualmente, funcionar como chave.

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

Alguem poderia explicar a diferença entre a letra B e a letra E?

Acredito que se a coluna B tem valor único, ela consegue identificar unicamente cada tupla da tabela, sendo portante uma chave candidata. a FNBC institui que todo determinante deve ser chave candidata, não sendo necessário portanto que B seja uma chave primária para que a relação atenda a regra dessa forma normal.

Lembre-se que a chave primária deve ser constituída pelo menor conjunto de atributos possível.

As instâncias "a" e 'b" são chaves candidatas, "a" foi escolhida para ser chave primária e "b" chave alternada, logo, esse esquema está na forma normal FNBC, pois ambos os determinantes podem ser chaves candidatas. 

 

 

At.te 

Foco na missão

FNBC, todo determinante deve ser chave candidata.

Quem pode ser chave, quem é "not null" e "unique".

create table R ( 

a int not null, 

b int not null,

  constraint PK primary key (a) , 

  constraint UQ unique (b) ) 

Gab. C.

Clique para visualizar este comentário

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