Questão de Banco de Dados — Formas normais — FGV 2026
Banco de Dados›Formas normais
Código
fg126982
Banca
FGV
Órgão
AL-RO
Ano
2026
Nível
Superior
Cargo
Analista Legislativo (Engenharia de Computação)
Uma tabela de cadastro de projetos possui os seguintes atributos:ID_PROJETO (PK), NOME_PROJETO, ID_DEPARTAMENTO, NOME_DEPARTAMENTO. O engenheiro percebe que NOME_DEPARTAMENTO depende de ID_DEPARTAMENTO, e ID_DEPARTAMENTO não é chave primária, mas depende de ID_PROJETO.Assinale a opção que identifica a violação e a Forma Normal que exige a eliminação dessa dependência.
AViolação de 1FN - Atributo multivalorado
BViolação de 2FN - Dependência parcial
CViolação de 3FN - Dependência funcional transitiva
DViolação de 4FN - Dependência multivalorada
EViolação de BCNF - Determinante não-chave
Revelar gabarito e comentário▾
GabaritoC — Violação de 3FN - Dependência funcional transitiva
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: Formas Normais (1FN a BCNF)
Gabarito: letra C. A dependência descrita (ID_PROJETO → ID_DEPARTAMENTO → NOME_DEPARTAMENTO) é uma dependência funcional transitiva, que viola a Terceira Forma Normal (3FN). A 3FN exige que todo atributo não-chave dependa exclusivamente da chave primária, sem transitividade. A tabela já está em 1FN (atributos atômicos) e em 2FN (chave simples, sem dependências parciais). A alternativa C identifica corretamente a violação e a forma normal que a elimina.
A banca cobra o conhecimento do processo de normalização e da definição de cada forma normal. A chave é reconhecer que a dependência de NOME_DEPARTAMENTO via ID_DEPARTAMENTO é transitiva, pois ID_DEPARTAMENTO não é chave e depende de ID_PROJETO.
Criar tabela separada para o atributo intermediário
Decompor para que todo determinante seja chave
Alternativa A — ❌ Incorreta
Violaria a 1FN se houvesse atributos multivalorados ou compostos. A tabela descrita tem apenas atributos atômicos, portanto já está em 1FN. A pegadinha é associar a violação a algo que não ocorre.
Alternativa B — ❌ Incorreta
A 2FN trata de dependências parciais, que só ocorrem quando a chave primária é composta (mais de um atributo). Aqui a chave é ID_PROJETO (simples), então a tabela, se 1FN, está automaticamente em 2FN. A dependência descrita não é parcial.
Alternativa C — ✅ Correta ⟵ GABARITO
A dependência transitiva é exatamente o que a 3FN elimina. Para estar em 3FN, a relação deve estar em 2FN e nenhum atributo não-chave pode depender transitivamente da chave primária. ID_PROJETO determina ID_DEPARTAMENTO, que determina NOME_DEPARTAMENTO, gerando a transitividade. A solução é criar uma tabela separada para departamentos (ID_DEPARTAMENTO, NOME_DEPARTAMENTO) e manter na tabela original apenas ID_DEPARTAMENTO como chave estrangeira.
NÃO CAIA NESSA!
A alternativa E (BCNF) pode confundir, pois ID_DEPARTAMENTO é um determinante não-chave (violaria BCNF). No entanto, a BCNF é uma forma mais forte que a 3FN; a violação específica descrita é transitividade, que é eliminada pela 3FN. A questão pede a forma normal que exige a eliminação dessa dependência, e a 3FN é a primeira a tratar de dependências transitivas.
Alternativa D — ❌ Incorreta
A 4FN lida com dependências multivaloradas (ex.: um projeto com vários departamentos independentes). Não há indício de atributos multivalorados; a relação é funcional.
Alternativa E — ❌ Incorreta
Embora a tabela também não esteja em BCNF (pois ID_DEPARTAMENTO → NOME_DEPARTAMENTO e ID_DEPARTAMENTO não é chave candidata), a BCNF não é a forma normal classicamente associada à eliminação de dependências transitivas – essa é a função da 3FN. A banca explora essa sobreposição para testar o conhecimento da sequência correta de normalização.