Pular para o conteúdo principal

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

Banco de DadosNormalização
Código
ce397740
Banca
CESPE / CEBRASPE
Órgão
AGER MT
Ano
2023
Cargo
Ana Reg ( )
Uma tabela de banco de dados que não possui dependências funcionais parciais está na
  1. Aprimeira forma normal (1FN).
  2. Bsegunda forma normal (2FN).
  3. Cterceira forma normal (3FN).
  4. Dforma normal de boyce-codd (BCNF).
  5. Equarta forma normal (4FN).
Revelar gabarito e comentário

GabaritoB — segunda forma normal (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 Banco de Dados: Formas Normais

Gabarito: letra B. Uma tabela que não possui dependências funcionais parciais está na segunda forma normal (2FN), pois a 2FN exige que a tabela esteja na 1FN e que cada atributo não chave dependa da chave primária inteira, eliminando as dependências parciais. Essa é a definição clássica de normalização, presente em toda a literatura de banco de dados relacional.

A normalização é o processo de analisar os esquemas de relação com base em suas dependências funcionais e chaves primárias, com o objetivo de minimizar redundâncias e anomalias de inserção, exclusão e atualização. As formas normais são regras progressivas: cada forma normal mais alta incorpora as exigências das anteriores e adiciona novas restrições. A 1FN exige que todos os atributos sejam atômicos (indivisíveis), sem grupos repetitivos ou atributos multivalorados. A 2FN, por sua vez, parte da 1FN e elimina as dependências parciais, ou seja, garante que nenhum atributo não chave dependa de apenas parte de uma chave primária composta. A 3FN elimina as dependências transitivas, em que um atributo não chave depende de outro atributo não chave. A BCNF (Forma Normal de Boyce-Codd) é uma variação mais forte da 3FN, exigindo que todo determinante seja uma chave candidata. A 4FN elimina as dependências multivaloradas, e a 5FN elimina as dependências de junção.

Para entender a 2FN, é essencial compreender o conceito de dependência funcional. Uma dependência funcional é um relacionamento entre atributos em que o valor de um atributo (ou conjunto de atributos) determina o valor de outro. Por exemplo, em uma tabela com chave primária composta (A, B), se um atributo não chave C depende apenas de A, então existe uma dependência parcial, violando a 2FN. A 2FN exige que C dependa da chave inteira (A, B), caracterizando uma dependência funcional total.

Um exemplo prático: considere uma tabela ItemVenda com chave primária composta (CodVenda, CodProduto) e atributos Qtd e PrecoProduto. Se PrecoProduto depende apenas de CodProduto (parte da chave), há uma dependência parcial, e a tabela não está na 2FN. Para normalizar, deve-se separar PrecoProduto em uma tabela Produto com chave CodProduto. Já Qtd depende da chave inteira, pois a quantidade é específica de cada combinação venda-produto.

A pegadinha desta questão está em confundir a 2FN com a 3FN ou com a BCNF. A 2FN trata especificamente de dependências parciais, enquanto a 3FN trata de dependências transitivas. A BCNF é uma variação da 3FN que lida com determinantes que não são chaves candidatas. A 4FN lida com dependências multivaloradas. Portanto, a ausência de dependências parciais é o critério exato para a 2FN.

Guarde a fronteira entre as formas normais: 1FN (atomicidade), 2FN (dependência parcial), 3FN (dependência transitiva), BCNF (todo determinante é chave candidata), 4FN (dependência multivalorada) e 5FN (dependência de junção). É exatamente nessa fronteira que as alternativas se dividem.

Forma Normal

Requisito principal

Elimina

Base

1FN

Atributos atômicos (indivisíveis)

Grupos repetitivos e atributos multivalorados

2FN

Estar na 1FN + ausência de dependências parciais

Atributo não chave dependente de parte da chave composta

1FN

3FN

Estar na 2FN + ausência de dependências transitivas

Atributo não chave dependente de outro atributo não chave

2FN

BCNF

Estar na 3FN + todo determinante é chave candidata

Determinantes que não são chaves candidatas

3FN

4FN

Estar na 3FN + ausência de dependências multivaloradas

Atributos multivalorados independentes

3FN

Alternativa A — ❌ Incorreta

A 1FN exige apenas que todos os atributos sejam atômicos, ou seja, sem atributos compostos ou multivalorados. Ela não trata de dependências funcionais parciais. Uma tabela pode estar na 1FN e ainda ter dependências parciais, o que a impediria de estar na 2FN. Portanto, a ausência de dependências parciais é um requisito da 2FN, não da 1FN.

Alternativa B — ✅ Correta ⟵ GABARITO

A 2FN é definida como: a tabela está na 1FN e não possui dependências parciais, ou seja, cada atributo não chave depende da chave primária inteira (dependência funcional total). A ausência de dependências parciais é exatamente o critério que caracteriza a 2FN. Portanto, a alternativa B está correta.

Alternativa C — ❌ Incorreta

A 3FN exige que a tabela esteja na 2FN e que não haja dependências transitivas, ou seja, que nenhum atributo não chave dependa de outro atributo não chave. A ausência de dependências parciais é um pré-requisito para a 3FN, mas não é suficiente para caracterizá-la. A 3FN vai além, eliminando também as dependências transitivas. Portanto, a alternativa C está incorreta.

Alternativa D — ❌ Incorreta

A BCNF é uma variação mais forte da 3FN, exigindo que todo determinante seja uma chave candidata. Ela não é definida apenas pela ausência de dependências parciais. Uma tabela pode estar na 2FN (sem dependências parciais) e ainda não estar na BCNF, se houver determinantes que não sejam chaves candidatas. Portanto, a alternativa D está incorreta.

Alternativa E — ❌ Incorreta

A 4FN exige que a tabela esteja na 3FN e que não haja dependências multivaloradas. A ausência de dependências parciais é um requisito da 2FN, não da 4FN. A 4FN lida com um tipo diferente de dependência, que envolve atributos multivalorados independentes. Portanto, a alternativa E está incorreta.

NÃO CAIA NESSA!

A banca pode tentar confundir o candidato entre 2FN e 3FN. Lembre-se: a 2FN elimina dependências parciais (atributo não chave depende de parte da chave composta), enquanto a 3FN elimina dependências transitivas (atributo não chave depende de outro atributo não chave). A ausência de dependências parciais é o critério exato da 2FN, não da 3FN.

PEGA ESSA DICA!

Para identificar a forma normal de uma tabela, siga a sequência: 1FN (atributos atômicos) → 2FN (sem dependências parciais) → 3FN (sem dependências transitivas) → BCNF (todo determinante é chave candidata) → 4FN (sem dependências multivaloradas) → 5FN (sem dependências de junção). Na prova, verifique primeiro se a chave é composta; se for, cheque se algum atributo não chave depende de apenas parte dela — se sim, a tabela não está na 2FN.

Gabarito: letra B

Link permanente: /questoes/ce397740