Questão de Banco de Dados — Normalização — CESPE / CEBRASPE 2023
Banco de Dados›Normalizaçã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
Aprimeira forma normal (1FN).
Bsegunda forma normal (2FN).
Cterceira forma normal (3FN).
Dforma normal de boyce-codd (BCNF).
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.