Pular para o conteúdo principal

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

Banco de DadosSQL
Código
fg101862
Banca
FGV
Órgão
TRF - 1ª REGIÃO
Ano
2024
Nível
Superior
Cargo
Técnico Judiciário - Área Administrativa - Especialidade: Tecnologia da Informação
Roberta, funcionária da ORG_A, está utilizando instruções em SQL para fazer inclusões, alterações e exclusões de registros em um banco de dados que contém as informações de funcionários que participaram de determinados treinamentos promovidos pela ORG_A. Roberta notou algumas anomalias de exclusão, pois, ao comandar a instrução SQL para excluir um funcionário desligado da organização, alguns treinamentos desapareceram.Considerando que as instruções em SQL executadas por Roberta estão sintática e semanticamente corretas, a modelagem do banco de dados possui problemas relacionados à existência de:
  1. Adependências multivaloradas de junção;
  2. Bchave primária com mais de um campo não atômico;
  3. Catributos com dependências não funcionais das chaves candidatas;
  4. Ddependências funcionais entre as chaves candidatas e a chave primária;
  5. Edependências transitivas de atributos não chaves em relação à chave primária.
Revelar gabarito e comentário

GabaritoE — dependências transitivas de atributos não chaves em relação à chave primária.

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”.

Anomalia de exclusão e dependências transitivas

Gabarito: letra E. A situação descrita — exclusão de um funcionário causando desaparecimento de treinamentos — é uma anomalia de exclusão típica de projetos que violam a terceira forma normal (3NF), ou seja, que possuem dependências transitivas de atributos não chave em relação à chave primária. Nesse caso, atributos que descrevem os treinamentos estão funcionalmente dependentes de outros atributos não chave (como o código do treinamento) e, por consequência, são armazenados na mesma tabela que vincula funcionários e treinamentos. Ao excluir a última ocorrência de um funcionário associado a um treinamento, os dados do treinamento também são perdidos.

A anomalia descrita é clássica em bancos de dados não normalizados. Vamos analisar cada alternativa:

Critério

Dependência Transitiva (3NF) – Causa da Anomalia

Dependência Multivalorada (4NF)

Chave Primária Não Atômica (1NF)

Dependência Não Funcional

Dependência entre Chaves Candidatas

Conceito

Atributo não chave depende de outro atributo não chave, que depende da chave primária

Associação muitos-para-muitos independente entre atributos

Chave composta por campo não indivisível

Atributo sem dependência funcional total da chave candidata

Relação funcional normal entre chaves candidatas e a chave primária

Forma Normal violada

3NF

4NF

1NF

2NF

Nenhuma (desejável)

Anomalia típica

Exclusão: ao remover um registro, perde-se dados de outra entidade

Redundância e inconsistência em associações independentes

Impossibilidade de indexação e consultas atômicas

Redundância parcial de dados

Nenhuma anomalia

Exemplo no cenário

Nome_Trein depende de ID_Trein, que é parte da chave composta

Treinamentos e instrutores independentes associados ao mesmo funcionário

Chave (ID_Func, ID_Trein) com campo ID_Trein não atômico

Carga_Horaria depende apenas de ID_Trein, não da chave completa

CPF e ID_Func são chaves candidatas e se determinam mutuamente

Solução

Separar tabela de treinamentos

Separar associações independentes em tabelas distintas

Tornar todos os campos atômicos

Decompor em tabelas conforme dependências funcionais

Manter como está (normal)

Alternativa A — ❌ Incorreta

Dependências multivaloradas de junção estão relacionadas à quarta forma normal (4NF) e tratam de associações muitos-para-muitos independentes. Não são a causa direta da anomalia de exclusão descrita.

Alternativa B — ❌ Incorreta

Chave primária com campo não atômico viola a primeira forma normal (1NF). Embora seja um problema de modelagem, não é o que provoca o desaparecimento de treinamentos ao excluir um funcionário.

Alternativa C — ❌ Incorreta

Atributos com dependências não funcionais das chaves candidatas não é um conceito padrão da normalização. A anomalia decorre de dependências funcionais inadequadas, não do oposto.

Alternativa D — ❌ Incorreta

Dependências funcionais entre chaves candidatas e chave primária são normais e desejáveis; toda chave candidata possui dependência funcional com a chave primária (que também é uma chave candidata). Isso não gera anomalias.

Alternativa E — ✅ Correta ⟵ GABARITO

Dependências transitivas de atributos não chaves em relação à chave primária são exatamente o que causa a anomalia. Por exemplo, suponha uma tabela Funcionario_Treinamento com atributos: ID_Func, ID_Trein, Nome_Trein, Carga_Horaria. A chave primária é (ID_Func, ID_Trein). Nome_Trein depende funcionalmente de ID_Trein (parte da chave), mas não da chave completa — caracterizando uma dependência parcial (violação da 2NF). Em um cenário mais refinado, se houver uma tabela Funcionario com ID_Depto e Nome_Depto, teríamos dependência transitiva: ID_Func → ID_Depto → Nome_Depto. Ao excluir o último funcionário de um departamento, o nome do departamento desapareceria. O enunciado descreve situação análoga com treinamentos.

PEGA ESSA DICA!

Para resolver esse tipo de questão, lembre-se da regra prática: se a exclusão de uma entidade leva à perda de informações de outra entidade independente, o problema é uma dependência transitiva (ou parcial, se a chave for composta). A solução é normalizar, separando em tabelas distintas as entidades que têm dependência direta com a chave.

Gabarito: letra E.

Link permanente: /questoes/fg101862