Pular para o conteúdo principal

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

Banco de DadosNormalização
Código
fg161100
Banca
FGV
Órgão
SEFAZ MT
Ano
2023
Cargo
FTE ( )
A normalização das estruturas de dados é uma etapa importante do processo de modelagem relacional para eliminar distorções ou anomalias no modelo.   Diz-se que uma tabela está na segunda forma normal, de acordo com as regras de normalização, se ela está na primeira forma normal e
  1. Aas linhas da tabela são unívocas, sem chaves compostas e todos os seus atributos são atômicos.
  2. Bas linhas não contêm itens repetitivos, atributos com valores nulos e nem multidimensionais.
  3. Ccada uma das colunas não pertencentes à chave primária não for dependente parcialmente dessa chave.
  4. Dcontém apenas chaves externas e conecta-se a outras tabelas por múltiplas junções.
  5. Eas colunas não pertencentes à chave primária ficam determinadas transitivamente por esta.
Revelar gabarito e comentário

GabaritoC — cada uma das colunas não pertencentes à chave primária não for dependente parcialmente dessa 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: Segunda Forma Normal (2FN)

Gabarito: letra C. A Segunda Forma Normal (2FN) exige que a tabela esteja na 1FN e que nenhum atributo não-chave dependa parcialmente da chave primária — ou seja, se a chave é composta, todo atributo não-chave deve depender da chave inteira, não de apenas parte dela. Essa é a definição clássica de 2FN, e é exatamente o que a alternativa C afirma.

A normalização é o processo de organizar os dados em tabelas para minimizar redundâncias e evitar anomalias de inserção, atualização e exclusão. Ela se baseia nas dependências funcionais entre atributos: dizemos que um atributo B depende funcionalmente de A (A → B) se, para cada valor de A, existe exatamente um valor de B. As formas normais são regras cumulativas — para estar na 2FN, a tabela já deve estar na 1FN; para estar na 3FN, deve estar na 2FN, e assim por diante.

A 1FN exige que todos os atributos sejam atômicos (indivisíveis), ou seja, não pode haver atributos compostos ou multivalorados, nem tabelas aninhadas. A 2FN adiciona a exigência de eliminar a dependência parcial: quando a chave primária é composta (formada por duas ou mais colunas), um atributo não-chave não pode depender de apenas uma parte dessa chave. Por exemplo, em uma tabela com chave composta (cod_pedido, cod_produto), se o atributo nome_produto depende apenas de cod_produto, há uma dependência parcial — violando a 2FN. A solução é separar os atributos em tabelas distintas.

A 3FN, por sua vez, exige que não haja dependência transitiva: um atributo não-chave não pode depender de outro atributo não-chave, que por sua vez depende da chave. Por exemplo, se o atributo nome_gerente depende de cod_departamento, que depende da chave cod_funcionario, há uma dependência transitiva — violando a 3FN.

A pegadinha desta questão está em distinguir a 2FN da 3FN: a alternativa E descreve a dependência transitiva (que é a violação da 3FN), enquanto a alternativa C descreve corretamente a dependência parcial (que é a violação da 2FN). A banca explora exatamente essa confusão entre as formas normais.

Guarde a fronteira entre dependência parcial e transitiva: é nela que as alternativas se dividem. A 2FN elimina a dependência parcial; a 3FN elimina a dependência transitiva.

Critério

2FN (C)

3FN (E)

Violação eliminada

Dependência parcial

Dependência transitiva

Objeto da dependência

Atributo não-chave depende de parte da chave composta

Atributo não-chave depende de outro atributo não-chave

Exemplo típico

nome_produto depende só de cod_produto (parte da chave cod_pedido + cod_produto)

nome_gerente depende de cod_departamento, que depende de cod_funcionario

Pré-requisito

1FN

2FN

Alternativa A — ❌ Incorreta

Esta alternativa mistura requisitos da 1FN (atributos atômicos) com a ideia de "linhas unívocas" e "sem chaves compostas". A 2FN não exige que a chave seja simples — ela apenas exige que, se a chave for composta, não haja dependência parcial. Além disso, "linhas unívocas" é um requisito básico de qualquer relação (não há duplicatas), não específico da 2FN. O erro está em afirmar que a 2FN exige "sem chaves compostas", o que não é verdade.

Alternativa B — ❌ Incorreta

Esta alternativa descreve requisitos da 1FN: eliminar itens repetitivos, atributos multivalorados e valores não atômicos. A 1FN é pré-requisito para a 2FN, mas a 2FN vai além, tratando da dependência parcial. A alternativa não menciona a dependência parcial, que é o cerne da 2FN.

Alternativa C — ✅ Correta ⟵ GABARITO

Esta é a definição exata da 2FN: a tabela está na 1FN e nenhum atributo não-chave depende parcialmente da chave primária. Em outras palavras, todo atributo não-chave deve ter dependência funcional total em relação à chave primária (ou candidata). Se a chave é composta, o atributo não pode depender de apenas uma parte dela.

Alternativa D — ❌ Incorreta

Esta alternativa descreve uma característica de chaves estrangeiras e relacionamentos entre tabelas, não uma forma normal. A 2FN não exige que a tabela contenha apenas chaves externas — pelo contrário, a tabela deve ter uma chave primária e atributos que dependam dela. A descrição de "conectar-se a outras tabelas por múltiplas junções" é irrelevante para a definição de 2FN.

Alternativa E — ❌ Incorreta

Esta alternativa descreve a dependência transitiva, que é a violação da Terceira Forma Normal (3FN), não da 2FN. Na 3FN, um atributo não-chave não pode depender de outro atributo não-chave, que por sua vez depende da chave. A banca troca a 2FN pela 3FN — armadilha clássica.

NÃO CAIA NESSA!

A banca adora inverter as definições de 2FN e 3FN. A 2FN elimina a dependência parcial (atributo depende de parte da chave composta); a 3FN elimina a dependência transitiva (atributo depende de outro atributo não-chave). Na alternativa E, a banca descreve a 3FN como se fosse 2FN. Com treino, você enxerga essas trocas de longe 💪

PEGA ESSA DICA!

Para memorizar, associe: 2FN → parcial (chave composta) e 3FN → transitiva (atributo não-chave dependendo de outro não-chave). Quando a questão falar em "dependência parcial", é 2FN; quando falar em "dependência transitiva", é 3FN.

Gabarito: letra C

Link permanente: /questoes/fg161100