Pular para o conteúdo principal

Questão de Banco de Dados — Formas normais — FUNDATEC 2026

Banco de DadosFormas 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:Imagem associada para resolução da questãoConsidere 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.
  1. AA tabela já se encontra na Terceira Forma Normal, pois todos os atributos dependem da chave primária.
  2. BA tabela viola a 3FN devido à existência de dependência transitiva entre atributos não chave.
  3. CA tabela viola a 1FN porque possui múltiplos atributos relacionados ao professor.
  4. DA tabela viola a 2FN porque a chave primária possui mais de um atributo.
  5. 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.

Critério

Tabela original (viola 3FN)

Decomposição para 3FN

Chave primária

id_oferta (simples)

Oferta: id_oferta; Professor: id_professor

Atributos não chave

nome_disciplina, id_professor, nome_professor, departamento_professor

Oferta: nome_disciplina, id_professor; Professor: nome_professor, departamento_professor

Dependência transitiva

Presente: id_oferta → id_professor → nome_professor

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.

Gabarito: letra B

Link permanente: /questoes/qg685268