Questão de Banco de Dados — Normalização — FGV 2023
Banco de Dados›Normalização
Código
fg161126
Banca
FGV
Órgão
TJ SE
Ano
2023
Cargo
TJ ( )
A normalização de dados é o processo de analisar os esquemas de relações com base nas dependências funcionais de seus atributos e chaves primárias, envolvendo uma série de Formas Normais (FN). Observe a instância da tabela PEDIDO a seguir.
ID_PEDIDO
DATA
ID_CLIENTE
NOME_CLIENTE
1
11/07/2023
1
João
2
11/07/2023
2
Paulo
As colunas de PEDIDO têm valores atômicos e as colunas não chaves (DATA, ID_CLIENTE, NOME_CLIENTE) são totalmente dependentes da chave primária (ID_PEDIDO). Portanto, PEDIDO está normalizada nas FN:
A1FN e 2FN;
B1FN e 3FN;
C2FN e 3FN;
D2FN e 4FN;
E3FN e 4FN.
Revelar gabarito e comentário▾
GabaritoA — 1FN e 2FN;
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 de dados: 1FN, 2FN e 3FN
Gabarito: letra A. A tabela PEDIDO está na 1FN (valores atômicos) e na 2FN (dependência total das colunas não chave em relação à chave primária), mas não está na 3FN, pois há dependência transitiva: NOME_CLIENTE depende de ID_CLIENTE, que não é chave. Portanto, a resposta correta é 1FN e 2FN.
A normalização é o processo de analisar esquemas de relações com base nas dependências funcionais e chaves primárias, com o objetivo de minimizar redundâncias e anomalias de inserção, exclusão e atualização. Cada forma normal impõe uma condição mais forte que a anterior, e a tabela só pode ser classificada na forma normal mais alta que satisfizer.
1FN (Primeira Forma Normal): exige que todos os atributos tenham valores atômicos, ou seja, não podem ser compostos (divisíveis em subpartes) nem multivalorados (conjunto de valores). O enunciado afirma expressamente que "as colunas de PEDIDO têm valores atômicos", logo a tabela está na 1FN.
2FN (Segunda Forma Normal): exige que a tabela esteja na 1FN e que todos os atributos não chave sejam totalmente dependentes da chave primária (dependência funcional total). Isso significa que não pode haver dependência parcial, ou seja, um atributo não chave não pode depender de apenas parte de uma chave composta. O enunciado afirma que "as colunas não chaves (DATA, ID_CLIENTE, NOME_CLIENTE) são totalmente dependentes da chave primária (ID_PEDIDO)", portanto a tabela está na 2FN.
3FN (Terceira Forma Normal): exige que a tabela esteja na 2FN e que não haja dependências transitivas, ou seja, um atributo não chave não pode depender de outro atributo não chave. Na tabela PEDIDO, observamos que NOME_CLIENTE depende de ID_CLIENTE, e ID_CLIENTE não é chave primária. Isso configura uma dependência transitiva: ID_PEDIDO → ID_CLIENTE → NOME_CLIENTE. Portanto, a tabela viola a 3FN.
Como a tabela satisfaz 1FN e 2FN, mas não 3FN, a classificação correta é 1FN e 2FN.
NÃO CAIA NESSA!
A banca tenta confundir o candidato ao afirmar que as colunas não chave são "totalmente dependentes da chave primária". Isso garante a 2FN, mas não a 3FN. A pegadinha está em não perceber que NOME_CLIENTE depende de ID_CLIENTE (atributo não chave), configurando dependência transitiva. Muitos candidatos marcam 3FN por acharem que a ausência de dependência parcial já elimina a transitiva.
Critério
1FN
2FN
3FN
Valores atômicos
✅ Exigido e satisfeito
✅ Herdado da 1FN
✅ Herdado da 2FN
Dependência total dos atributos não chave em relação à chave primária
—
✅ Exigido e satisfeito (enunciado)
✅ Herdado da 2FN
Ausência de dependência transitiva (atributo não chave dependendo de outro não chave)
—
—
❌ Violado: NOME_CLIENTE depende de ID_CLIENTE (não chave)
Classificação final
✅ Atende
✅ Atende
❌ Não atende
Alternativa A — ✅ Correta ⟵ GABARITO
A tabela está na 1FN (valores atômicos) e na 2FN (dependência total das colunas não chave em relação à chave primária). Não está na 3FN devido à dependência transitiva entre NOME_CLIENTE e ID_CLIENTE. Portanto, a alternativa A está correta.
Alternativa B — ❌ Incorreta
Afirma que a tabela está na 1FN e 3FN. Incorreto porque, embora esteja na 1FN, a tabela não está na 3FN, pois há dependência transitiva (NOME_CLIENTE depende de ID_CLIENTE, que não é chave).
Alternativa C — ❌ Incorreta
Afirma que a tabela está na 2FN e 3FN. Incorreto porque, embora esteja na 2FN, a tabela não está na 3FN pela dependência transitiva mencionada.
Alternativa D — ❌ Incorreta
Afirma que a tabela está na 2FN e 4FN. Incorreto porque a tabela não está na 4FN (que exige ausência de dependências multivaloradas e, além disso, estar na 3FN, o que não ocorre).
Alternativa E — ❌ Incorreta
Afirma que a tabela está na 3FN e 4FN. Incorreto porque a tabela não está na 3FN (dependência transitiva) e, consequentemente, também não está na 4FN.