Questão de Banco de Dados — Banco de Dados Relacionais — FGV 2023
Banco de Dados›Banco de Dados Relacionais
Código
fg068148
Banca
FGV
Órgão
SEDUC-SP
Ano
2023
Nível
Superior
Cargo
Professor de Ensino Fundamental e Médio (Educação Profissional) - Eixo 5 - Informação e Comunicação
No contexto do projeto de bancos de dados relacionais, considere uma tabela T composta pelas colunas “A”, ”B”, “C” e “D”. Verificam-se para essa tabela as dependências funcionais a seguir.A -> BA -> CB -> AB -> DAssinale o conjunto de constraints que devem ser aplicadas à tabela referida, de modo que a mesma atenda plenamente às formas normais.
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”.
Dependências funcionais e chaves candidatas
Gabarito: letra C. Para que a tabela T atenda plenamente às formas normais (especialmente BCNF), é necessário que cada chave candidata seja declarada como UNIQUE. As dependências funcionais fornecidas (A→B, A→C, B→A, B→D) indicam que tanto A quanto B são chaves candidatas (cada um determina todos os demais atributos, direta ou transitivamente). Portanto, devem ser aplicadas duas constraints UNIQUE: uma sobre a coluna A e outra sobre a coluna B. A alternativa C é a única que apresenta exatamente essas duas restrições.
A banca testa o conceito de chave candidata a partir das dependências funcionais. Como A e B se determinam mutuamente, ambos são chaves, e a unicidade de cada um garante a integridade e a normalização.
erDiagram
T {
A PK
B PK
C
D
}
T ||--o| T : "A determina B, C"
T ||--o| T : "B determina A, D"
Alternativa A — ❌ Incorreta
UNIQUE (A, B) não garante que A seja único isoladamente; permite que um mesmo valor de A apareça com valores diferentes de B. Como A é chave candidata, cada valor de A deve ser único.
Alternativa B — ❌ Incorreta
UNIQUE (A, B, C, D) impõe unicidade sobre a tupla completa, mas não garante que A ou B sejam individualmente únicos. Além disso, é uma restrição excessiva: a chave não precisa ser composta por todas as colunas.
Alternativa C — ✅ Correta ⟵ GABARITO
UNIQUE (A) e UNIQUE (B) definem exatamente as chaves candidatas identificadas. Com isso, a tabela está em BCNF (toda dependência funcional é de uma superchave) e atende plenamente às formas normais.
Alternativa D — ❌ Incorreta
Duas constraints UNIQUE (A, B, C) idênticas são redundantes e, além disso, a chave não é composta por A, B e C. A unicidade de A e B individualmente não é garantida.
Alternativa E — ❌ Incorreta
UNIQUE (A, C) e UNIQUE (B, C) são combinações que não correspondem a chaves candidatas. Embora A e B sejam chaves, a presença de C na combinação é desnecessária e pode permitir repetições de A ou B (desde que combinados com C diferentes).
PEGA ESSA DICA!
Para resolver questões de normalização, identifique primeiro as chaves candidatas pelas dependências funcionais. Se um atributo ou conjunto determina todos os demais, ele é chave. Depois, verifique quais constraints UNIQUE são necessárias para garantir a unicidade dessas chaves. Neste caso, as DFs A→B e B→A mostram uma equivalência entre A e B, tornando ambos chaves simples.