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