Questão de Banco de Dados — Formas normais — FUNDATEC 2026
Banco de Dados›Formas normais
Código
qg685268
Banca
FUNDATEC
Órgão
IFC-SC
Ano
2026
Nível
Superior
Cargo
Professor EBTT - Informática: Linguagens de Programação
Considere a seguinte relação utilizada em um sistema acadêmico:Considere também as seguintes dependências funcionais:1. id_oferta → nome_disciplina, id_professor2. id_professor → nome_professor, departamento_professorCom base nas regras de normalização até a Terceira Forma Normal (3FN), assinale a alternativa correta.
AA tabela já se encontra na Terceira Forma Normal, pois todos os atributos dependem da chave primária.
BA tabela viola a 3FN devido à existência de dependência transitiva entre atributos não chave.
CA tabela viola a 1FN porque possui múltiplos atributos relacionados ao professor.
DA tabela viola a 2FN porque a chave primária possui mais de um atributo.
EA tabela está na 2FN, mas não pode ser transformada para a 3FN.
Revelar gabarito e comentário▾
GabaritoB — A tabela viola a 3FN devido à existência de dependência transitiva entre atributos não chave.
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 Banco de Dados: 1FN, 2FN e 3FN
Gabarito: letra B. A tabela viola a Terceira Forma Normal (3FN) porque existe uma dependência transitiva entre atributos não chave: id_professor (não chave) determina nome_professor e departamento_professor (também não chave), e id_professor é determinado pela chave primária id_oferta. Essa cadeia de dependências indiretas é exatamente o que a 3FN proíbe.
A normalização é o processo de organizar os dados de um banco relacional para reduzir redundâncias e anomalias de inserção, atualização e exclusão. Cada forma normal (FN) é um nível de qualidade do esquema, e para atingir um nível superior, a tabela deve primeiro satisfazer o nível anterior. A 1FN exige que todos os atributos sejam atômicos (indivisíveis). A 2FN exige que a tabela esteja na 1FN e que todo atributo não chave dependa da chave primária inteira (dependência funcional total), ou seja, não pode haver dependência parcial de apenas parte de uma chave composta. A 3FN, por sua vez, exige que a tabela esteja na 2FN e que não existam dependências transitivas, isto é, que nenhum atributo não chave dependa de outro atributo não chave.
No caso da questão, a chave primária é id_oferta (chave simples). A dependência funcional 1 (id_oferta → nome_disciplina, id_professor) mostra que todos os atributos não chave dependem da chave inteira, então a tabela está na 2FN. No entanto, a dependência funcional 2 (id_professor → nome_professor, departamento_professor) revela que nome_professor e departamento_professor dependem de id_professor, que é um atributo não chave. Isso configura uma dependência transitiva: id_oferta → id_professor → nome_professor. Como a 3FN proíbe exatamente esse tipo de dependência, a tabela viola a 3FN.
Para corrigir e levar a tabela à 3FN, seria necessário decompor a relação em duas: uma tabela Oferta com id_oferta, nome_disciplina e id_professor, e outra tabela Professor com id_professor, nome_professor e departamento_professor. Assim, cada atributo não chave dependeria exclusivamente da chave primária de sua respectiva tabela, eliminando a dependência transitiva.
A pegadinha desta questão está em confundir a 2FN com a 3FN. Como a chave é simples, muitos candidatos concluem que a tabela está na 2FN e, por isso, também na 3FN. No entanto, a 3FN tem um requisito adicional: a ausência de dependências transitivas. A banca explora exatamente essa confusão, oferecendo alternativas que mencionam a 2FN ou que afirmam que a tabela já está na 3FN.
Guarde a fronteira entre 2FN e 3FN: a 2FN trata da dependência parcial (atributo não chave depende de parte da chave composta), enquanto a 3FN trata da dependência transitiva (atributo não chave depende de outro atributo não chave). É nessa distinção que as alternativas se dividem.
Eliminada: cada atributo não chave depende apenas da chave da sua tabela
Forma normal atingida
2FN (viola 3FN)
3FN
Alternativa A — ❌ Incorreta
Afirma que a tabela já está na 3FN porque todos os atributos dependem da chave primária. O erro está em ignorar a dependência transitiva: nome_professor e departamento_professor dependem de id_professor, que não é chave. A 3FN exige que atributos não chave dependam exclusivamente da chave primária, não de outros atributos não chave.
Alternativa B — ✅ Correta ⟵ GABARITO
A tabela viola a 3FN devido à dependência transitiva entre atributos não chave. A cadeia id_oferta → id_professor → nome_professor mostra que nome_professor depende indiretamente da chave por meio de id_professor, um atributo não chave. Isso é exatamente o que a 3FN proíbe.
Alternativa C — ❌ Incorreta
Afirma que a tabela viola a 1FN por possuir múltiplos atributos relacionados ao professor. A 1FN trata da atomicidade dos valores, não da quantidade de atributos. A tabela está na 1FN, pois os atributos são atômicos. A violação é de 3FN, não de 1FN.
Alternativa D — ❌ Incorreta
Afirma que a tabela viola a 2FN porque a chave primária possui mais de um atributo. Na verdade, a chave primária é id_oferta, um único atributo. Com chave simples, não há como existir dependência parcial, logo a tabela está na 2FN. A violação é de 3FN, não de 2FN.
Alternativa E — ❌ Incorreta
Afirma que a tabela está na 2FN, mas não pode ser transformada para a 3FN. A tabela está na 2FN, porém pode ser transformada para a 3FN por meio da decomposição em duas relações, eliminando a dependência transitiva. A afirmação de que não pode ser transformada é falsa.
NÃO CAIA NESSA!
A banca explora a confusão entre 2FN e 3FN. Como a chave é simples, muitos candidatos concluem que a tabela está na 2FN e, por isso, também na 3FN. No entanto, a 3FN tem um requisito adicional: a ausência de dependências transitivas. A alternativa D tenta induzir ao erro ao mencionar chave composta, e a alternativa A ignora a dependência transitiva. Com treino, você enxerga essas trocas de longe 💪
PEGA ESSA DICA!
Para identificar a forma normal de uma tabela, siga esta ordem: 1) verifique se os atributos são atômicos (1FN); 2) verifique se a chave é composta e se há dependência parcial (2FN); 3) verifique se há dependência transitiva entre atributos não chave (3FN). Se a chave for simples, a tabela está automaticamente na 2FN (desde que na 1FN). O ponto crítico é sempre procurar por dependências transitivas.