Pular para o conteúdo principal

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

Banco de DadosFormas 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:Imagem associada para resolução da questãoQuais das tabelas acima estão na Terceira Forma Normal (3FN)?
  1. AApenas a Tabela 1.
  2. BApenas a Tabela 2.
  3. CApenas a Tabela 3.
  4. DApenas a Tabela 1 e a Tabela 2.
  5. 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.

Critério

Tabela 1

Tabela 2

Tabela 3

Atributo derivado/calculado (ex.: valorTotal = quantidade × preco)

Presente → viola 3FN

Ausente

Ausente

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.

Gabarito: letra C

Link permanente: /questoes/qg162295