Boa tarde, Estou desenvolvendo algumas modelagens de dados para aprimorar meus conhecimentos no assunto. Algumas das dúvidas já consegui sanar lendo artigos publicados na internet, mas este ainda me deixa na dúvida. O caso é uma pizzaria. Tem produtos "normais" como bebidas, onde o produto é vendido e cobrado de acordo com seu preço.
Um exemplo de modelagem simplificado para isso é: Tabela de produtos - id produto - nome do produto - preço Tabela de compra - id compra - id cliente - valor total Tabela de produtos de uma compra - id compra - id produto - quantidade - valor unitario Sendo assim eu tenho na tabela "Tabela de produtos de uma compra" um histórico do que foi comprado em cada compra assim como os preços na hora da compra. Até então tudo bem, mas no caso de uma pizza, temos a possibilidade de uma pizza ser de um só sabor (produto) ou meio-a-meio, mussalera e calabresa por exemplo. Qual é a forma mais eficaz de armazenar isso no banco de dados? Eu tenho duas ideias na cabeça. 1- Inserir cada pizza como um produto e permitir que vários produtos se unam para formar um item de uma compra 2- Fazer tabelas completamente separadas para isso, mantendo o diagrama principal para os produtos "normais" e adicionando uma tabela separada para pizzas que permite misturas diversas para formar um produto. Exemplo da idéia 1: Tabela de produtos - id produto - nome do produto - preço Tabela de compra - id compra - id cliente - valor total Tabela de produtos de um item de uma compra - id produto - id item da compra - percentual do item (esse campo diria por exemplo 50% caso fosse uma pizza meio a meio e 100% caso fosse apenas um sabor) Tabela de produtos de uma compra - id item da compra - id compra - quantidade - valor unitario Exemplo da idéia 2: Tabela de produtos - id produto - nome do produto - preço Tabela de compra - id compra - id cliente - valor total Tabela de produtos de uma compra - id compra - id produto - quantidade - valor unitario Tabela de pizzas - id pizza - nome da pizza - preço Tabela de pizzas para um item de compra - id pizza - id pizza da compra - percentual da pizza Tabela de produtos de uma compra - id pizza da compra - id compra - quantidade - valor unitario -- Pela experiencia de vocês, qual é a melhor solução do ponto de vista conceitual e qual a melhor do ponto de vista teórico e porque? Na segunda idéia de modelagem, se houver mais produtos "estranhos" como por exemplo sanduíches que são cobrados por cada sabor adicionado, teríamos que adicionar mais tabelas, esse tipo de solução é usual na prática? Obrigado. -- Rúben Lício Reis
_______________________________________________ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral