← Questões de Banco de Dados

Banco de Dados · FGV · 2023

Questão comentada de Banco de Dados

Uma rede de lojas de departamentos planeja configurar uma tabela de fato (VENDAS) que favoreça a integridade para análise de vendas no mesmo carrinho (na mesma transação de venda, tal qual a associação conhecida entre fralda e cerveja). A tabela de fato possui os seguintes atributos: ChaveCalendário(FK), ChaveLoja(FK), ChaveProduto(FK), ChaveCliente(FK), IDTransação, HoraMinVenda, ReaisVendidos e QuantidadeVendida. Assinale a opção que indica o(s) atributo(s) que deve(m) ser a chave primária da tabela de fato VENDAS. (FK = Foreign Key/chave estrangeira)

Gabarito: C

Em modelagem dimensional, a tabela de fato guarda os eventos do negócio, e sua chave primária precisa identificar cada ocorrência de forma única, sem confundir uma compra com outra. Aqui, a ideia central é a venda no mesmo carrinho, isto é, a mesma transação pode conter vários produtos. Por isso, só o IDTransação não basta, porque ele se repete para todos os itens daquele carrinho. Se você usar IDTransação junto com ChaveProduto, cada linha passa a representar um item específico dentro da transação, o que identifica corretamente o registro de fato. Esse raciocínio é típico de esquemas estrela em data warehouse: a chave da fato costuma ser composta quando um mesmo evento gera várias linhas, uma para cada dimensão detalhada. Na prática, isso evita duplicidade e mantém a integridade da análise. Já ChaveCliente e ChaveLoja são dimensões importantes para análise, mas não distinguem cada item vendido dentro da mesma venda. Assim, o gabarito C está correto porque a combinação ChaveProduto + IDTransação identifica univocamente cada linha da tabela VENDAS. Isso permite analisar o carrinho inteiro e, ao mesmo tempo, investigar associações entre produtos na mesma transação, como no famoso exemplo fralda e cerveja.

Continue treinando

Questões relacionadas