Pular para o conteúdo principal

Questão de Banco de Dados — Normalização — CESPE / CEBRASPE 2024

Banco de DadosNormalização
Código
ce403609
Banca
CESPE / CEBRASPE
Órgão
INPI
Ano
2024
Cargo
APGIPI ( )
Julgue o seguinte item, relacionados a modelagem de dados.   Considere-se que uma tabela de nome Produto tenha os atributos cod_cliente, cod_produto, nome_produto, preço e quantidade. Nesse caso, se a chave primária for composta de cod_cliente e cod_produto, a tabela estará na segunda forma normal, pois não possui grupos repetitivos.
  1. CCerto
  2. EErrado
Revelar gabarito e comentário

GabaritoE — Errado

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: 2FN e dependência parcial

Gabarito: Errado. A tabela não está na segunda forma normal (2FN) apenas por não possuir grupos repetitivos — esse é um requisito da primeira forma normal (1FN). Para estar na 2FN, a tabela deve estar na 1FN e todos os atributos não chave devem depender da chave primária inteira, ou seja, não pode haver dependência parcial de atributos não chave em relação a apenas parte de uma chave composta. Como a chave é composta por cod_cliente e cod_produto, e atributos como nome_produto e preço provavelmente dependem apenas de cod_produto, há dependência parcial — o que viola a 2FN.

A normalização é um processo de organização de tabelas em bancos de dados relacionais, dividido em formas normais (1FN, 2FN, 3FN, etc.), cada uma com requisitos específicos. A 1FN exige que todos os atributos tenham valores atômicos (indivisíveis) e que não existam grupos repetitivos (ou seja, cada célula contém um único valor, e não uma lista ou conjunto). A 2FN vai além: além de estar na 1FN, exige que cada atributo não chave seja totalmente dependente da chave primária — se a chave for composta, nenhum atributo não chave pode depender de apenas parte dela. Isso é chamado de dependência funcional total. A 3FN, por sua vez, exige que não haja dependências transitivas entre atributos não chave.

No caso da tabela Produto, a chave primária é composta por cod_cliente e cod_produto. Isso significa que, para identificar uma linha, precisamos da combinação dos dois. Agora, observe os atributos não chave: nome_produto e preço — é razoável supor que eles dependem apenas de cod_produto, e não de cod_cliente. Por exemplo, o nome e o preço de um produto são características do próprio produto, independentemente de qual cliente o comprou. Isso configura uma dependência parcial: nome_produto e preço dependem de apenas parte da chave (cod_produto), e não da chave inteira. Portanto, a tabela viola a 2FN.

A banca explora aqui uma confusão clássica: trocar o requisito da 1FN (ausência de grupos repetitivos) pelo da 2FN (ausência de dependência parcial). O enunciado afirma que a tabela está na 2FN porque não possui grupos repetitivos — isso é um erro conceitual. A ausência de grupos repetitivos é condição para a 1FN, não para a 2FN. Além disso, mesmo que a tabela estivesse na 1FN, ela não estaria na 2FN justamente por causa da dependência parcial.

Para fixar: a 2FN não se verifica olhando para a tabela em si, mas sim para as dependências funcionais entre os atributos. A pergunta-chave é: "cada atributo não chave depende da chave inteira ou apenas de parte dela?" Se depender de parte, a tabela está apenas na 1FN (no máximo).

Critério

1FN

2FN

3FN

Requisito principal

Atributos atômicos, sem grupos repetitivos

Estar na 1FN + dependência total de atributos não chave em relação à chave inteira

Estar na 2FN + sem dependência transitiva entre atributos não chave

Foco da verificação

Estrutura da tabela (valores indivisíveis)

Dependências funcionais com chave composta

Dependências funcionais entre atributos não chave

Exemplo na questão

✅ Atendida (não há grupos repetitivos)

❌ Violada — nome_produto e preço dependem apenas de cod_produto (dependência parcial)

Não avaliada (a tabela já falha na 2FN)

Conclusão para a tabela Produto

Está na 1FN

Não está na 2FN

Não se aplica

Alternativa E — ❌ Errado ⟵ GABARITO

A afirmação está errada por dois motivos: (1) a ausência de grupos repetitivos é requisito da 1FN, não da 2FN; (2) a tabela provavelmente viola a 2FN porque nome_produto e preço dependem apenas de cod_produto, caracterizando dependência parcial em relação à chave composta. Portanto, a tabela está, no máximo, na 1FN.

NÃO CAIA NESSA!

A banca troca o requisito da 1FN (sem grupos repetitivos) pelo da 2FN (sem dependência parcial). Cuidado: a 2FN só se aplica quando há chave composta, e exige que todo atributo não chave dependa da chave inteira — se depender de parte, não está na 2FN.

Gabarito: Errado

Link permanente: /questoes/ce403609