Pular para o conteúdo principal

Questão de Banco de Dados — Banco de Dados — FGV 2024

Banco de DadosBanco de Dados
Código
fg098512
Banca
FGV
Órgão
TJ-MS
Ano
2024
Nível
Superior
Cargo
Técnico de Nível Superior - Analista de Sistemas Computacionais - Analista de Sistemas
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 o esquema da tabela “Pedido”, a seguir.Imagem associada para resolução da questãoA tabela "Pedido" possui chave primária composta (ID_PEDIDO, ID_CLIENTE), atributos com valores atômicos e dependência parcial de coluna não chave (NOME_CLIENTE) com parte da chave primária (ID_CLIENTE).Com base nisso, “Pedido” está normalizada na FN:
  1. A1FN;
  2. B2FN;
  3. C3FN;
  4. D4FN;
  5. E5FN.
Revelar gabarito e comentário

GabaritoA — 1FN;

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: identificando a forma normal pela dependência funcional

Gabarito: letra A (1FN). A tabela "Pedido" está na Primeira Forma Normal porque, embora todos os atributos tenham valores atômicos (requisito da 1FN), ela viola a Segunda Forma Normal ao apresentar dependência parcial do atributo não chave NOME_CLIENTE em relação a apenas parte da chave primária composta (ID_CLIENTE). Como a 2FN exige a eliminação de dependências parciais, a tabela não pode estar na 2FN nem em formas superiores, restando apenas a 1FN.

A normalização é o processo de analisar esquemas de relações com base nas dependências funcionais entre atributos e chaves primárias, com o objetivo de minimizar redundâncias e anomalias de inserção, exclusão e atualização. Cada Forma Normal (FN) impõe um requisito adicional sobre a anterior, formando uma hierarquia: para estar na 2FN, a tabela precisa estar na 1FN e não conter dependências parciais; para estar na 3FN, precisa estar na 2FN e não conter dependências transitivas; e assim por diante.

A Primeira Forma Normal (1FN) exige que todos os atributos tenham valores atômicos, ou seja, indivisíveis — não podem ser compostos nem multivalorados. A Segunda Forma Normal (2FN) exige que a tabela esteja na 1FN e que todo atributo não chave seja totalmente dependente da chave primária inteira, não apenas de parte dela. A dependência parcial ocorre justamente quando um atributo não chave depende de apenas uma parte de uma chave primária composta. A Terceira Forma Normal (3FN) exige estar na 2FN e que nenhum atributo não chave seja transitivamente dependente da chave primária, ou seja, que não haja dependência de um atributo não chave em relação a outro atributo não chave.

No caso concreto, a chave primária é composta por (ID_PEDIDO, ID_CLIENTE). O atributo NOME_CLIENTE depende funcionalmente apenas de ID_CLIENTE, que é parte da chave. Isso configura uma dependência parcial, pois NOME_CLIENTE não depende da chave inteira, mas apenas de um de seus componentes. Essa violação impede que a tabela esteja na 2FN, pois a 2FN exige que todos os atributos não chave sejam totalmente dependentes da chave primária completa. Como a tabela está na 1FN (valores atômicos) mas não na 2FN (dependência parcial), ela está normalizada apenas na 1FN.

A pegadinha desta questão está em reconhecer que a presença de valores atômicos (1FN) não é suficiente para classificar a tabela em uma forma normal superior. O candidato pode ser tentado a marcar 2FN por ver que os atributos são atômicos, mas a existência de dependência parcial é exatamente o que impede a 2FN. A banca explora a confusão entre os requisitos de cada forma normal, especialmente a diferença entre dependência parcial (que viola a 2FN) e dependência transitiva (que viola a 3FN).

NÃO CAIA NESSA!

A banca induz o candidato a marcar 2FN ao afirmar que os atributos têm valores atômicos, mas a presença de dependência parcial (NOME_CLIENTE depende de ID_CLIENTE, parte da chave) é justamente o que viola a 2FN. A 1FN é pré-requisito para a 2FN, mas não é suficiente — é preciso eliminar as dependências parciais para alcançar a 2FN.

Alternativa A — ✅ Correta ⟵ GABARITO

A tabela está na 1FN porque todos os atributos têm valores atômicos, ou seja, não há atributos compostos nem multivalorados. No entanto, a existência de dependência parcial do atributo NOME_CLIENTE em relação a ID_CLIENTE (parte da chave primária composta) impede que a tabela esteja na 2FN. Portanto, a tabela está normalizada apenas na Primeira Forma Normal.

Alternativa B — ❌ Incorreta

A tabela não está na 2FN porque a 2FN exige que a tabela esteja na 1FN e que não haja dependências parciais. Como NOME_CLIENTE depende apenas de ID_CLIENTE, que é parte da chave primária composta, há uma dependência parcial que viola a 2FN. A presença de valores atômicos (1FN) não é suficiente para garantir a 2FN.

Alternativa C — ❌ Incorreta

A tabela não está na 3FN porque a 3FN exige que a tabela esteja na 2FN, o que não ocorre devido à dependência parcial. Além disso, a 3FN também exige a ausência de dependências transitivas, mas a violação da 2FN já é suficiente para descartar a 3FN.

Alternativa D — ❌ Incorreta

A tabela não está na 4FN porque a 4FN exige que a tabela esteja na 3FN e que não haja dependências multivaloradas. Como a tabela viola a 2FN (dependência parcial), ela não pode estar na 3FN nem na 4FN.

Alternativa E — ❌ Incorreta

A tabela não está na 5FN porque a 5FN exige que a tabela esteja na 4FN e que não haja dependências de junção. Como a tabela viola a 2FN (dependência parcial), ela não pode estar em nenhuma forma normal superior à 1FN.

Gabarito: letra A — a tabela "Pedido" está normalizada apenas na 1FN, pois a dependência parcial de NOME_CLIENTE em relação a ID_CLIENTE viola a 2FN.

Link permanente: /questoes/fg098512