2
respostas

[Dúvida] Aula 2 Modelagem de Dados difinindo Modelo logico

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"?

resposta certa: TabelaClienteCompraLivro com os atributos IDCliente, IDCompra, IDLivro, TipoPagamento, Quantidade.

Esta alternativa corretamente representa as relações complexas entre clientes, compras, livros e tipos de pagamento. Ela permite que uma compra contenha múltiplos livros e associa cada compra a um cliente e um tipo de pagamento, seguindo as melhores práticas de nomenclatura e representação.

quais seriam os atributos da entidades Compra e as cardinalidades dessa entidade TabelaClienteCompraLivro

2 respostas

Ei, Vivaldo! Tudo bem?

Sobre sua dúvida em relação aos atributos da entidade Compra e as cardinalidades da TabelaClienteCompraLivro:

Atributos da entidade Compra:

A tabela Compra geralmente inclui atributos como IDCompra,IDCliente , DataCompra, ValorTotal e, possivelmente, StatusCompra (ex.: pendente, concluída). O TipoPagamento pode estar em uma tabela separada (TipoPagamento) ou diretamente na TabelaClienteCompraLivro, dependendo da normalização desejada.

Cardinalidades da TabelaClienteCompraLivro:
  • Cliente x Compra: Um cliente pode ter várias compras (1:N).
  • Compra x Livro: Uma compra pode conter vários livros, e um livro pode estar em várias compras (N:N), o que justifica a tabela associativa TabelaClienteCompraLivro.
Compra x TipoPagamento:
  • Uma compra pode estar associada a um tipo de pagamento (1:1 ou 1:N, dependendo se múltiplos tipos de pagamento por compra são permitidos).

Livro x TabelaClienteCompraLivro:

  • Um livro pode aparecer em várias entradas da tabela associativa (1:N).

A entidade TabelaClienteCompraLivro é uma solução eficiente para modelar essas relações complexas, conectando cada compra a um cliente, vários livros e um tipo de pagamento, garantindo integridade e flexibilidade.

Espero ter ajudado e qualquer dúvida, compartilhe no fórum.

Até mais, Vivaldo!

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

neste caso não existe relação direita entre a entidade cliente e a entidade associativa ClienteCompraLivro, certo?