Gerciley 14 Report post Posted March 29, 2012 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. Share this post Link to post Share on other sites
Evandro Oliveira 331 Report post Posted March 30, 2012 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. Share this post Link to post Share on other sites