Estou trabalhando em um projeto pessoal apenas para estudar e aperfeiçoar algumas coisas (utilizando NetBeans [java] com o SQL do Oracle ou MYSQL [estou na dúvida ainda]).
Tenho uma tabela de produtos, que no caso seriam pastéis e uma tabela de ingredientes.
Estes produtos, por padrão, não possuem estoque, apenas ingredientes. Estes ingredientes por sua vez, possuem o estoque deles.
Minha dúvida é: como devo estruturar este banco para possuir um controle do estoque dos ingredientes e da saída dos produtos finais? Faço uma relação N x N, uma relação 1 x N ou estes controle eu faço diretamente no meu programa, ao invés do banco?
Caso o ideal seja realizar este controle pelo banco, eu devo criar uma trigger para checar se existe estoque do ingrediente antes de tentar ‘vender’ 1 pastel
Como exemplo hipotético: toda vez que eu vender 1 pastel de Mussarela, tem que dar baixa em 80g de Mussarela (da tabela de ingredientes)