Pessoal, estou desenvolvendo um sistema, no qual criei as seguintes entidades:
-Venda
-Itens de Venda
-Compra
-Itens de Compra
O sistema é bem grande, preciso calcular o estoque, pensei em algumas estrategias e queria que alguem experiente em desenvolver grandes sistemas me desse uma opinião sobre a melhor.
1- Criar uma tabela Estoque e criar triggers no banco para quando criar uma Compra, ele adicionar no estoque e quando fazer uma Venda ele remover.
Possiveis problemas: Quando efetuando uma venda vamos supor que a energia cai, e ele efetua a venda mas n executa a trigger, isso pode acontecer? ou o banco garante que a atomicidade da Venda+trigger?
2- Calcular o estoque buscando as Compras de um produto e depois buscar todas as Vendas e assim conseguir saber fazendo a subtração.
Possiveis problemas: Como o sistema vai ser muito grande, me parece uma operação bem custosa.
3- Criar a tabela estoque e quando fazer uma Venda, fazer uma baixa na tabela estoque naquele produto, fazer essa logica via software no próprio sistema.
Possiveis problemas: Pode ser que aconteca uma queda de energia apos inserir a venda e nao diminua do estoque, acho q essa seria a pior resolução para o problema.
Alguem tem uma boa solucao para isso?
Obrigado pela atenção