Questão de Banco de Dados — Banco de Dados Relacionais — CESPE / CEBRASPE 2024
- Código
- ce188244
- Banca
- CESPE / CEBRASPE
- Órgão
- TCE-AC
- Ano
- 2024
- Nível
- Superior
- Cargo
- Analista de Tecnologia da Informação - Área: Gestão de Dados
- CCerto
- EErrado
GabaritoE — Errado
Gabarito: ❌ ERRADO. A tabela não está na 3FN porque contém uma dependência funcional entre atributos não chave: valor_total é derivado de quantidade e preco_unitario, o que configura uma dependência transitiva em relação à chave primária id_licitacao. Para a 3FN, todos os atributos não chave devem depender exclusivamente da chave primária, e não de outros atributos não chave.
A tabela possui os campos: id_licitacao (chave primária), id_fornecedor, quantidade, preco_unitario, data_licitacao e valor_total. Conforme o enunciado, valor_total = quantidade * preco_unitario. Isso cria a dependência funcional {quantidade, preco_unitario} → valor_total. Como quantidade e preco_unitario são atributos não chave, essa dependência viola o requisito da 3FN de que não haja dependências entre atributos não chave.
De acordo com as definições clássicas de normalização:
1FN: atributos atômicos (ok).
2FN: estar na 1FN e todos os atributos não chave dependem completamente da chave primária (ok, pois a chave é simples).
3FN: estar na 2FN e nenhum atributo não chave depende transitivamente da chave primária, ou seja, não pode haver dependência funcional entre atributos não chave.
A presença de valor_total que depende de quantidade e preco_unitario (ambos não chave) caracteriza uma dependência transitiva: id_licitacao → (quantidade, preco_unitario) → valor_total. Portanto, a tabela não está na 3FN.
A banca tenta confundir o candidato ao apresentar um campo calculado (valor_total) como se fosse aceitável na 3FN. Embora o valor seja derivado, ele está armazenado e cria uma dependência entre atributos não chave, o que quebra a forma normal. Na prática, colunas calculadas devem ser evitadas em tabelas normalizadas ou tratadas como colunas virtuais (não armazenadas).
Conclusão: ❌ ERRADO. (Gabarito oficial: E)
Link permanente: /questoes/ce188244