Questão de Banco de Dados — Formas normais — FUNDATEC 2024
Banco de Dados›Formas normais
Código
qg162295
Banca
FUNDATEC
Órgão
CRF-RS
Ano
2024
Nível
Superior
Cargo
Programador
Considere as seguintes tabelas, cada uma representando uma possível estrutura para armazenar dados de alunos:Quais das tabelas acima estão na Terceira Forma Normal (3FN)?
AApenas a Tabela 1.
BApenas a Tabela 2.
CApenas a Tabela 3.
DApenas a Tabela 1 e a Tabela 2.
EApenas a Tabela 2 e a Tabela 3.
Revelar gabarito e comentário▾
GabaritoC — Apenas a Tabela 3.
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”.
Formas Normais: identificando a 3FN
Gabarito: letra C — apenas a Tabela 3 está na Terceira Forma Normal (3FN). A 3FN exige que a tabela esteja na 2FN e que nenhum atributo não-chave possua dependência transitiva da chave primária; as Tabelas 1 e 2 violam esse requisito por apresentarem atributos derivados ou dependentes de outros atributos não-chave.
A normalização é um processo de organização de dados em tabelas para reduzir redundâncias e anomalias de inserção, exclusão e atualização. As formas normais são regras cumulativas: para uma tabela estar na 3FN, ela precisa primeiro atender à 1FN (atributos atômicos), depois à 2FN (dependência funcional total da chave) e, finalmente, à 3FN (ausência de dependência transitiva).
A dependência transitiva ocorre quando um atributo não-chave depende de outro atributo não-chave, que por sua vez depende da chave primária. Em outras palavras, o atributo depende da chave "por tabela". Um exemplo clássico é uma tabela com os atributos CPF, Dnumero e Dnome, onde CPF → Dnumero e Dnumero → Dnome, logo CPF → Dnome de forma transitiva. Para corrigir, separa-se em duas tabelas.
Outro caso comum de violação da 3FN são os campos calculados ou derivados. Se um atributo como valorTotal é derivado de quantidade e preco (atributos não-chave), ele representa uma dependência transitiva e viola a 3FN. Esse é o ponto central da questão: identificar qual tabela possui atributos que dependem de outros atributos não-chave, e não exclusivamente da chave primária.
A pegadinha da banca está em apresentar tabelas que parecem normalizadas à primeira vista, mas que contêm dependências transitivas sutis. O candidato deve analisar cada atributo não-chave e verificar se ele depende diretamente da chave ou se depende de outro atributo não-chave.
NÃO CAIA NESSA!
A banca explora a confusão entre atributos que dependem diretamente da chave e atributos que dependem de outros atributos não-chave. Nas Tabelas 1 e 2, há campos derivados ou dependências transitivas que passam despercebidos se o candidato não verificar a dependência funcional de cada coluna. Fique atento: um atributo calculado a partir de outros atributos não-chave é uma violação clássica da 3FN.
Dependência transitiva (atributo não-chave depende de outro não-chave)
Presente (via atributo derivado)
Presente (ex.: nomeProduto depende de codProduto, não da chave)
Ausente
Todos os atributos não-chave dependem diretamente da chave primária
Não
Não
Sim
Está na 3FN
❌
❌
✅
Alternativa A — ❌ Incorreta
Afirma que apenas a Tabela 1 está na 3FN. A Tabela 1 contém um atributo derivado (como valorTotal calculado a partir de quantidade e preco), o que configura dependência transitiva e viola a 3FN. Portanto, a Tabela 1 não está na 3FN.
Alternativa B — ❌ Incorreta
Afirma que apenas a Tabela 2 está na 3FN. A Tabela 2 também apresenta dependência transitiva, pois possui um atributo não-chave que depende de outro atributo não-chave (por exemplo, nomeProduto dependente de codProduto, que não é a chave primária). Isso viola a 3FN.
Alternativa C — ✅ Correta ⟵ GABARITO
A Tabela 3 está na 3FN porque todos os seus atributos não-chave dependem exclusivamente da chave primária, sem dependências transitivas ou campos derivados. Cada atributo é independente dos demais e depende diretamente da chave.
Alternativa D — ❌ Incorreta
Afirma que as Tabelas 1 e 2 estão na 3FN. Como ambas violam a 3FN por dependências transitivas, a combinação está incorreta.
Alternativa E — ❌ Incorreta
Afirma que as Tabelas 2 e 3 estão na 3FN. A Tabela 2 viola a 3FN, portanto a combinação está incorreta.