Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Gerciley

Exemplo de Modelagem

Recommended Posts

Pessoal, estou fazendo essa modelagem para loja virtual, uma coisa mais simples e direta, nada comparado a uma magento da vida ou prestaShop, mas é que minha dúvida é em relação a modelagem muitos para muitos, como vocês podem conferir na figura (1), a lógica que eu usei foi a seguinte, um produto pode estar contido em vários pedidos, e um pedido pode conter vários produtos, cabendo então o relacionamento n:n, observem que ao criar esse relacionamento o SGBD cria uma nova entidade para intercambio, foi ai que me veio uma dúvida, eu criei a entidade pedidos e detalhes dos pedidos, de maneira que na entidade pedidos armazenasse os dados únicos de cada pedido (CodPedido, CodCriente etc...) e na entidade detalhesPedidos armazenassem os dados que se repetem para cada pedido (codPedido, codProduto, quantidade) o relacionamento n:n ficou entre as entidades pedidos e detalhes pedidos criando assim oura entidade como podem observar, agora pergunto? é mesmo necessária a entidade detalhes pedidos? ou ela pode ser substituída pela entidade criada pelo SGBD e o relacionamento n:n entre as entidades produtos e pedidos?

 

figura (1)

 

PS: caso SIM, na tabela criada automaticamente deve-se criar uma campo para a quantidade, pois pra cada produto é comprado uma quantidade diferente.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pense em um pedido como uma Nota Fiscal.

 

No começo da nota temos o número de registro sequencial da NF e informações sobre a loja e o cliente. Data de emissão e, certamente, você gostaria de manter um controle se aquela NF foi paga e a forma de pagamento.

 

Dessa maneira, conseguimos criar uma tabela chamada Pedidos que pode ser a representação da nossa NF.

 

  • ID numérico, índice, auto_incremental, único, chave primária
  • IDCliente numérico, chave estrangeira -> Clientes
  • DataEmissao Data, valor padrão = NOW()
  • FormaPagto possívelmente uma chave estrangeira para -> FormasPagto
  • Pago booleano, valor padrão = 0

 

De posse do cabeçalho da NF, começamos a inserir os produtos, formando uma composição. Infelizmente no momento não disponho de ferramentas para montar um diagrama gráfico, mas a sua tabela detalhesPedido, na verdade seria esta composição de pedidos relativa a cada NF

  • ID numérico, índice, auto_incremental, único, chave primária
  • IDPedido numérico, chave estrangeira -> Pedidos
  • IDProduto numérico, chave estrangeira -> Produtos,
  • Quantidade numérico, valor padrão = 1

 

Vale lembrar que se o produto tiver qualquer detalhe extra como cor, tamanho ou unidades em estoque, estas informações serão responsabilidade de uma nova tabela, possivelmente chamada detalhesProduto e o campo IDProduto da tabela detalhesPedido deverá apontar para o produto detalhado e não o genérico.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.