← Questões de Banco de Dados

Banco de Dados · CONSULPLAN · 2025

Questão comentada de Banco de Dados

Uma empresa de e-commerce está enfrentando problemas de redundância e inconsistência em seu sistema de gerenciamento de pedidos. O analista de sistemas foi incumbido de analisar a estrutura inicial do banco de dados para identificar possíveis violações às formas normais, visando melhorar a integridade dos dados. A tabela abaixo, denominada Pedidos, representa a estrutura original, sem nenhuma normalização aplicada previamente. Considere que a chave primária dessa tabela é composta pelos atributos (ClienteID, PedidoID, ProdutoID): Considerando esta situação, assinale a alternativa correta sobre a normalização da tabela:

Gabarito: A

Quando a tabela tem chave primária composta, o primeiro alerta é simples: pergunte se algum atributo depende da chave inteira ou só de uma parte dela. Se depender apenas de um pedacinho da chave, a estrutura já cai na Segunda Forma Normal (2FN). E foi exatamente isso que aconteceu aqui. Na tabela Pedidos, a chave é formada por (ClienteID, PedidoID, ProdutoID). Só que atributos como NomeCliente, EnderecoCliente, DataPedido e talvez outros não precisam de toda essa combinação para existir. NomeCliente, por exemplo, depende de ClienteID; DataPedido depende de PedidoID; e DescricaoProduto depende de ProdutoID. Isso cria dependências parciais, que são vedadas pela 2FN. Ou seja: a tabela pode até estar em 1FN, se os campos forem atômicos, mas não passa da 2FN porque mistura informações de cliente, pedido e produto na mesma estrutura. O caminho correto seria separar em tabelas como Cliente, Pedido, Produto e uma tabela de itens do pedido. Assim, você elimina redundância e evita a famosa bagunça de atualizar o mesmo dado em vários lugares. A alternativa A está certa porque identifica exatamente essa regra: em chave composta, nenhum atributo não-chave deve depender apenas de parte da chave. Esse é um conceito clássico de normalização, usado em teoria de bancos de dados e cobrado com frequência em prova.

Continue treinando

Questões relacionadas