Pular para o conteúdo principal

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

Banco de DadosNormalização
Código
vu222895
Banca
VUNESP
Órgão
UNESP
Ano
2025
Cargo
V - - Doc ( )
Considerando os bancos de dados relacionais, uma tabela R está na segunda forma normal se
  1. Aa chave primária de R não contenha atributos do tipo numérico.
  2. Bcada atributo não chave de R for total e funcionalmente dependente da chave primária de R.
  3. Ca chave primária de R for simples (contiver exclusivamente um atributo).
  4. Da chave primária de R for composta por um atributo do tipo autoincremento.
  5. Eos atributos não chave de R não contenham registros com valores nulos.
Revelar gabarito e comentário

GabaritoB — cada atributo não chave de R for 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 B. Uma tabela está na segunda forma normal (2FN) 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, em que um atributo depende de apenas parte de uma chave composta. Essa é a definição clássica da 2FN, e é exatamente o que a alternativa B descreve.

A normalização é o processo de organizar os dados de um banco relacional para reduzir redundância e evitar anomalias de inserção, exclusão e atualização. Ela se dá em etapas, chamadas formas normais, cada uma eliminando um tipo específico de problema. A 1FN exige que todos os atributos tenham valores atômicos (indivisíveis). A 2FN, por sua vez, ataca um problema mais sutil: a dependência parcial. Imagine uma tabela com chave primária composta por duas colunas, por exemplo (cod_pedido, cod_produto), e um atributo nome_produto. Se nome_produto depende apenas de cod_produto — e não do par inteiro —, temos uma dependência parcial, que viola a 2FN. Para corrigir, separa-se o nome_produto em outra tabela, cuja chave é cod_produto.

A 2FN só faz sentido quando a chave primária é composta (mais de um atributo). Se a chave é simples (um único atributo), não existe a possibilidade de dependência parcial, pois não há "parte" da chave da qual um atributo possa depender — logo, a tabela está automaticamente na 2FN (desde que esteja na 1FN). Essa é uma distinção crucial que a banca explora: a alternativa C afirma que a chave deve ser simples, o que é uma condição suficiente, mas não necessária, para a 2FN. A definição correta não exige chave simples; exige que não haja dependência parcial, o que pode ocorrer tanto com chave simples quanto com chave composta (desde que todos os atributos dependam da chave inteira).

A pegadinha desta questão está em confundir a 2FN com outras formas normais ou com características gerais do modelo relacional. A alternativa B é a única que captura a essência da 2FN: a dependência funcional total da chave primária. As demais alternativas misturam conceitos de 1FN, 3FN, chaves primárias e até propriedades que nada têm a ver com normalização. Guarde a fronteira: 2FN = dependência funcional total da chave; 3FN = ausência de dependência transitiva; 1FN = atomicidade dos atributos. É exatamente nessa fronteira que as alternativas se dividem.

Alternativa A — ❌ Incorreta

Afirma que a chave primária não pode conter atributos numéricos. Isso é falso — não há nenhuma restrição na normalização quanto ao tipo de dado da chave. Chaves primárias numéricas (como ID inteiro ou autoincremento) são extremamente comuns e não violam nenhuma forma normal. A alternativa confunde normalização com uma regra de modelagem que simplesmente não existe.

Alternativa B — ✅ Correta ⟵ GABARITO

Esta é a definição precisa da 2FN. A tabela está na 2FN se estiver na 1FN e todo atributo não chave for total e funcionalmente dependente da chave primária. Isso significa que não pode haver dependência parcial, ou seja, nenhum atributo pode depender de apenas uma parte da chave composta. A alternativa espelha exatamente o conceito de dependência funcional total.

Alternativa C — ❌ Incorreta

Afirma que a chave primária deve ser simples (um único atributo). Embora uma chave simples garanta a 2FN (pois não há dependência parcial possível), ela não é uma condição necessária. Uma tabela com chave composta pode estar na 2FN, desde que todos os atributos não chave dependam da chave inteira. A alternativa confunde uma condição suficiente com a definição da forma normal.

Alternativa D — ❌ Incorreta

Afirma que a chave primária deve ser composta por um atributo do tipo autoincremento. Isso é contraditório — um atributo autoincremento é um único atributo, não uma chave composta. Além disso, o tipo de dado da chave (autoincremento ou não) não tem relação com a 2FN. A alternativa mistura conceitos de implementação física com a definição lógica da forma normal.

Alternativa E — ❌ Incorreta

Afirma que os atributos não chave não podem conter valores nulos. Isso não é uma condição da 2FN. A restrição de nulidade está relacionada à integridade de entidade (chave primária não pode ser nula) e a regras de negócio, não à normalização. A alternativa confunde a 2FN com restrições de integridade do modelo relacional.

NÃO CAIA NESSA!

A banca explora a confusão entre condição suficiente e definição. A alternativa C (chave simples) é uma condição que garante a 2FN, mas não é a definição da forma normal. O candidato que sabe que chave simples implica 2FN pode marcar C, mas a definição correta é a dependência funcional total (B). Lembre-se: a 2FN é definida pela ausência de dependência parcial, não pelo tipo ou quantidade de atributos da chave.

PEGA ESSA DICA!

Para identificar a 2FN na prova, pergunte-se: "existe algum atributo não chave que depende de apenas parte da chave primária composta?" Se sim, não está na 2FN. Se a chave é simples, a tabela está automaticamente na 2FN (desde que na 1FN). Memorize a sequência: 1FN = atomicidade; 2FN = dependência total da chave; 3FN = sem dependência transitiva.

Gabarito: letra B.

Link permanente: /questoes/vu222895