Auditor Federal de Finanças e Controle - Área de Tecnologia da Informação (Operação e Infraestrutura) - manhã
Com referência à normalização de bancos de dados, considere uma tabela relacional T, com colunas C, H, N, P, na qual as dependências funcionais identificadas são exibidas a seguir.C -> HC -> PC -> NP -> CO comando SQL utilizado na criação dessa tabela é exibido a seguir.create table T (C int not null unique,H int null unique,P int null unique,N int not null )Assinale a dependência funcional adicional necessária para que o esquema acima esteja de acordo com a forma normal Boyce-Codd.
AC, H, P -> N
BH -> P
CN -> P
DN -> H
EP, H -> C
Revelar gabarito e comentário▾
GabaritoB — H -> P
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: Forma Normal Boyce-Codd (BCNF)
Gabarito: letra B. A dependência funcional H → P é a adicional necessária para que H se torne uma superchave, garantindo que toda DF tenha determinante superchave, condição essencial da BCNF. Sem ela, a coluna H (que é UNIQUE) não é superchave, e o esquema não estaria em BCNF.
A BCNF exige que, para toda dependência funcional não trivial X → Y, X seja uma superchave da relação. As DFs fornecidas são:
C → H, C → P, C → N e P → C.
As chaves candidatas são {C} e {P}, ambas superchaves. O comando SQL define H como UNIQUE, mas isso não cria automaticamente uma DF que faça de H uma superchave. Para que H seja superchave, é necessária uma DF que ligue H a algum atributo que determine os demais. A opção H → P resolve: com H → P, P → C e C → H, obtém-se H → (C, H, N, P), tornando H superchave.
Alternativa A — ❌ Incorreta
C, H, P → N já é consequência das DFs existentes (C e P são superchaves), portanto não é necessária.
Alternativa B — ✅ Correta ⟵ GABARITO
H → P é a dependência necessária. Conforme explicado, ela transforma H em superchave, satisfazendo a condição da BCNF.
Alternativa C — ❌ Incorreta
N → P violaria a BCNF, pois N não é superchave. Introduziria uma DF cujo determinante não é superchave, o que é proibido.
Alternativa D — ❌ Incorreta
N → H também violaria a BCNF pelo mesmo motivo: N não é superchave.
Alternativa E — ❌ Incorreta
P, H → C já é consequência de P → C, não sendo necessária.
NÃO CAIA NESSA!
A banca explora a confusão entre restrição UNIQUE (que não implica automaticamente superchave na teoria da normalização) e a necessidade de uma dependência funcional que torne o atributo superchave. O candidato pode achar que H já é superchave por ser UNIQUE, mas é preciso uma DF como H → P para que isso ocorra.