Pular para o conteúdo principal

Questão de Banco de Dados — Normalização — VUNESP 2023

Banco de DadosNormalização
Código
vu195637
Banca
VUNESP
Órgão
TJM SP
Ano
2023
Cargo
Ana SJ ( )
Considerando o conceito da normalização utilizado em bancos de dados relacionais, é correto afirmar que uma tabela R estará na Segunda Forma Normal se e somente se estiver na Primeira Forma Normal e
  1. Anão contiver nenhum valor nulo nos registros da tabela R.
  2. Ba chave primária de R for composta por dois atributos.
  3. Ccada atributo não chave primária da tabela ser total e funcionalmente dependente da chave primária de R.
  4. Da chave primária de R não tiver números em sua composição.
  5. Eo número de atributos de R for múltiplo de dois.
Revelar gabarito e comentário

GabaritoC — cada atributo não chave primária da tabela ser total e funcionalmente dependente da chave primária de R.

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”.

Segunda Forma Normal (2FN) em bancos de dados relacionais

Gabarito: letra C. Uma tabela está na Segunda Forma Normal (2FN) se, e somente se, estiver na Primeira Forma Normal (1FN) e cada atributo não chave for total e funcionalmente dependente da chave primária inteira — ou seja, não pode haver dependência parcial de um atributo não chave em relação a apenas parte de uma chave composta. Essa é a definição clássica da 2FN, e é exatamente o que a alternativa C afirma.

A normalização é o processo de organizar as tabelas de um banco de dados relacional para minimizar redundâncias e anomalias de inserção, exclusão e atualização. Ela se dá por meio das formas normais, que são regras progressivas: para estar na 2FN, a tabela precisa antes estar na 1FN; para estar na 3FN, precisa estar na 2FN; e assim por diante. A 1FN exige que todos os atributos tenham valores atômicos (indivisíveis), ou seja, não pode haver atributos multivalorados nem compostos. Já a 2FN adiciona um requisito sobre as dependências funcionais: cada atributo que não faz parte da chave deve depender da chave inteira, e não de apenas uma parte dela.

Para entender a 2FN, é essencial compreender o conceito de dependência funcional. Dizemos que um atributo B é funcionalmente dependente de um atributo A (A → B) quando o valor de A determina unicamente o valor de B. Em uma tabela com chave primária composta por dois ou mais atributos, pode ocorrer a chamada dependência parcial: um atributo não chave depende apenas de um dos atributos que compõem a chave, e não da chave como um todo. É justamente essa situação que a 2FN proíbe.

Vejamos um exemplo prático. Considere uma tabela com a chave primária composta por (cod_pedido, cod_produto) e os atributos não chave nome_produto e quantidade. O atributo quantidade depende da chave inteira (a quantidade de um produto em um pedido depende do par pedido-produto). Porém, nome_produto depende apenas de cod_produto — ou seja, há uma dependência parcial. Essa tabela viola a 2FN, pois nome_produto não é total e funcionalmente dependente da chave primária inteira. Para normalizar, seria necessário separar nome_produto em uma tabela própria de produtos, com cod_produto como chave primária.

A pegadinha que a banca explora neste tema é justamente a confusão entre a 2FN e outras características que não fazem parte de sua definição. Muitos candidatos associam a 2FN a requisitos como ausência de valores nulos, chave composta por dois atributos, ou número par de atributos — tudo isso é irrelevante para a forma normal. O critério decisivo é sempre a dependência funcional total dos atributos não chave em relação à chave primária inteira. Guarde essa fronteira: é nela que as alternativas se dividem.

Alternativa A — ❌ Incorreta

A ausência de valores nulos não é um requisito de nenhuma forma normal. A 1FN exige atomicidade dos valores, e a 2FN exige dependência funcional total — nada tem a ver com a presença ou ausência de nulos. Valores nulos são uma questão de integridade de dados, não de normalização.

Alternativa B — ❌ Incorreta

A 2FN não exige que a chave primária seja composta por dois atributos. Na verdade, a dependência parcial — que a 2FN visa eliminar — só pode ocorrer quando a chave é composta (com dois ou mais atributos). Se a chave é simples (um único atributo), não há como existir dependência parcial, e a tabela está automaticamente na 2FN (desde que esteja na 1FN). Portanto, a alternativa confunde uma condição que possibilita a violação da 2FN com uma exigência da própria forma normal.

Alternativa C — ✅ Correta ⟵ GABARITO

Esta é a definição exata da Segunda Forma Normal. A tabela deve estar na 1FN e cada atributo não chave deve ser total e funcionalmente dependente da chave primária inteira, ou seja, não pode haver dependência parcial de nenhum atributo não chave em relação a apenas parte da chave. É a chamada dependência funcional total.

Alternativa D — ❌ Incorreta

A composição da chave primária (se contém números ou não) é totalmente irrelevante para a normalização. A chave primária pode ser formada por qualquer tipo de dado — numérico, textual, data etc. — sem que isso afete a forma normal da tabela. O que importa é a dependência funcional dos atributos não chave.

Alternativa E — ❌ Incorreta

O número de atributos da tabela ser múltiplo de dois não tem qualquer relação com as formas normais. A normalização trata da atomicidade dos valores (1FN) e das dependências funcionais (2FN, 3FN etc.), nunca da quantidade de colunas. Essa alternativa é um distrator puramente numérico, sem fundamento teórico.

NÃO CAIA NESSA!

A banca adora impor restrições inexistentes à 2FN — como chave composta por dois atributos, ausência de nulos ou número par de colunas — para confundir o candidato. O que define a 2FN é apenas a dependência funcional total dos atributos não chave em relação à chave primária inteira. Se a alternativa não falar em dependência parcial ou total, desconfie: provavelmente está errada. Com treino, você enxerga essas armadilhas de longe 💪

PEGA ESSA DICA!

Para memorizar as formas normais, foque nas palavras-chave: 1FN = atômico (valores indivisíveis), 2FN = dependência funcional total (sem dependência parcial), 3FN = sem dependência transitiva. Na prova, ao analisar uma tabela, primeiro verifique se os valores são atômicos (1FN); depois, se a chave é composta, verifique se algum atributo não chave depende de apenas parte da chave (violação da 2FN); por fim, verifique se algum atributo não chave depende de outro atributo não chave (violação da 3FN).

Gabarito: letra C

Link permanente: /questoes/vu195637