1
resposta

[Sugestão] Essa questão me deixou confuso

Minha proposta de resposta parar resolver a questao:

Criando relacionamentos complexos no modelo lógico Atividade

Imagine que você está desenvolvendo o modelo lógico para o "Buscante", um e-commerce inovador especializado na venda de livros. Durante a modelagem, você identifica que cada cliente pode realizar várias compras e, para cada compra, pode escolher diferentes tipos de pagamento. Além disso, cada compra pode conter múltiplos livros. Para representar essas relações complexas, você precisa criar uma entidade que relacione clientes, compras e tipos de pagamento, garantindo a integridade e a flexibilidade do modelo.

Como você criaria essa entidade no modelo lógico, considerando as melhores práticas de nomenclatura e representação que aprendemos, para representar adequadamente as relações entre clientes, compras e tipos de pagamento no "Buscante"?

Ao analisar a questão proposta sobre o modelo lógico do e-commerce “Buscante”, percebi que nenhuma das alternativas apresentadas representa de forma completa e adequada a complexidade do relacionamento entre clientes, compras e tipos de pagamento, conforme solicitado no enunciado.

Segundo as melhores práticas de modelagem, uma estrutura eficiente, flexível e normalizada deveria separar as responsabilidades em entidades distintas, respeitando as formas normais e garantindo integridade referencial.

Sendo assim, a forma como eu estruturaria o modelo lógico seria:

TabelaClienteCompra

IDCompra (PK)

IDCliente (FK)

DataCompra

TabelaCompraLivro

IDCompra (FK)

IDLivro (FK)

Quantidade

TabelaCompraPagamento

IDCompra (FK)

IDPagamento (FK)

ValorPago

DataPagamento

TabelaPagamento

IDPagamento (PK)

TipoPagamento

DetalhesPagamento

Essa estrutura permite que:

Um cliente realize várias compras;

Uma compra contenha múltiplos livros;

Uma compra tenha múltiplos tipos de pagamento, com controle sobre valor e data de cada um.

Ao contrário disso, a alternativa considerada correta na questão mistura múltiplas entidades em uma só (como cliente, livro e tipo de pagamento), violando os princípios de normalização (1NF e 3NF), o que dificultaria a manutenção e expansão do sistema no futuro.

Portanto, acredito que seria importante rever a questão ou ao menos abrir espaço para esse tipo de discussão, pois ela pode gerar confusão em quem está aprendendo modelagem e passar uma mensagem equivocada sobre boas práticas.

1 resposta

Ei, Jefferson! Tudo bem?

Obrigada por nos trazer essa análise completa da atividade, o que é bastante pertinente e nos ajudará a aplicar melhorias em nossos conteúdos.

Sua sugestão com tabelas separadas (TabelaClienteCompra, TabelaCompraLivro, TabelaCompraPagamento e TabelaPagamento) está alinhada às melhores práticas para um cenário com relacionamentos complexos. Isso garante flexibilidade (ex.: um cliente com múltiplos pagamentos por compra) e evita anomalias de dados.

Encaminharei sua sugestão para que a equipe também esteja a par dela e caso queira compartilhar seu depoimento sobre essa atividade na avaliação final do curso, sinta-se à vontade

Continue se dedicando aos estudos e qualquer dúvida, compartilhe no fórum.

Até mais!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado!