Pular para o conteúdo principal

Questão de Banco de Dados — Banco de Dados Relacionais — FGV 2024

Banco de DadosBanco de Dados Relacionais
Código
fg086780
Banca
FGV
Órgão
MF
Ano
2024
Nível
Superior
Cargo
Auditor Federal de Finanças e Controle - Área de Tecnologia da Informação (Transformação Digital) - manhã
Com referência à normalização de bancos de dados, considere uma tabela relacional T, com colunas A, B, C, D, E, na qual as dependências funcionais identificadas são exibidas a seguir.A -> BB -> AA -> CB -> DB -> ED -> BO comando SQL utilizado na criação dessa tabela é exibido a seguir.create table T (A int not null unique,B int not null unique,C int not null unique,D int not null unique,E int not null )Assinale a dependência funcional adicional necessária para que o esquema acima esteja de acordo com a forma normal BoyceCodd.
  1. AA, B, C, D -> E
  2. BC -> D
  3. CC -> E
  4. DE -> A
  5. EE -> A, B, C D
Revelar gabarito e comentário

GabaritoB — C -> D

Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.

Normalização de Bancos de Dados — Forma Normal Boyce-Codd (FNBC)

Gabarito: letra B. A dependência funcional adicional necessária é C → D, pois a coluna C possui restrição UNIQUE, mas, com base nas dependências funcionais fornecidas, C não é uma superchave. Adicionar C → D faz com que C determine D, que é uma superchave (já que D → B e B → A, B → C, B → D, B → E), tornando C uma superchave e garantindo que o esquema esteja em FNBC.

A questão envolve a verificação de uma relação em FNBC. Uma relação está em FNBC se, para toda dependência funcional não trivial X → Y, X for uma superchave. Na tabela T, as colunas A, B, C, D possuem restrições UNIQUE, o que as torna candidatas a superchaves. Contudo, as dependências funcionais fornecidas (A → B, B → A, A → C, B → D, B → E, D → B) indicam que A, B e D são superchaves equivalentes, mas C não determina nenhum outro atributo. Assim, a restrição UNIQUE em C não é suportada pelas FDs, violando a definição de FNBC (pois a FD implícita C → todas as colunas teria lado esquerdo não superchave). Para resolver, é necessário adicionar uma FD que faça de C uma superchave.

Critério

Alternativa B (C → D)

Alternativa C (C → E)

Alternativa D (E → A)

Alternativa E (E → A, B, C, D)

Objetivo principal

Tornar C uma superchave

Tornar C uma superchave

Tornar E uma superchave

Tornar E uma superchave

C → ?

C → D → B → A, C (indiretamente todos)

C → E (apenas E, sem alcançar A, B, D)

Não afeta C

Não afeta C

C se torna superchave?

Sim (determina todos os atributos)

Não (não determina A, B, D)

Não

Não

E se torna superchave?

Não

Não

Sim (E → A → B → D, etc.)

Sim (diretamente todos)

Resolve violação FNBC em C?

Sim

Não

Não

Não

Resolve violação FNBC em E?

Não se aplica (E não tem UNIQUE)

Não se aplica

Sim, mas desnecessário

Sim, mas desnecessário

Gabarito

✅ Correta

❌ Incorreta

❌ Incorreta

❌ Incorreta

Alternativa A — ❌ Incorreta

A → B, B → A, A → C, B → D, B → E, D → B já implicam que A, B, C, D juntos determinam E (pois B → E). Essa dependência é trivial e não resolve o problema de C não ser superchave.

Alternativa B — ✅ Correta ⟵ GABARITO

C → D: com essa FD, C passa a determinar D. Como D → B (dado) e B → A, B → C? Indiretamente: C → D → B → A → C, então C determina todos os atributos, tornando-se uma superchave. Assim, todas as FDs terão lado esquerdo superchave, e o esquema estará em FNBC.

Alternativa C — ❌ Incorreta

C → E: E não é superchave (não há FDs saindo de E), portanto essa FD não torna C uma superchave, pois não é possível determinar A, B, D a partir de C.

Alternativa D — ❌ Incorreta

E → A: essa FD tornaria E uma superchave (via A → B, B → D, etc.), mas não resolve o problema de C. Além disso, a coluna E não possui restrição UNIQUE, então não há necessidade de transformá-la em superchave para a FNBC.

Alternativa E — ❌ Incorreta

E → A, B, C, D: embora essa FD também fizesse de E uma superchave, ela não trata da questão central: C não é superchave. Além disso, a FD composta é desnecessária e não é a mínima necessária.

NÃO CAIA NESSA!

A banca pode induzir o candidato a pensar que, por C ser UNIQUE, ele já é superchave. Contudo, as dependências funcionais fornecidas não incluem C determinando nenhum atributo. É preciso adicionar uma FD que conecte C a uma das superchaves existentes (A, B, D).

Gabarito: letra B

Link permanente: /questoes/fg086780