Métodos de controle de estoque

Boa noite Pessoal,

Estamos finalizando um sistema de controle de estoque, e estou tendo algumas dúvidas quanto a segurança das informações nas entradas e saídas de estoque, atualmente estamos trabalhando com procedures, esta seria uma forma segura de se trabalhar, tendo vários usuários realizando as transações ao mesmo tempo?

Ou seria melhor desenvolver esta parte em PHP?

Obrigado

Eu prefiro manter essa segurança a cargo do banco de dados mesmo. É muito melhor. Assim podemos usar o SC (PHP) pra outras coisas.

Minha opinião.

Mais seguro que a Stored Procedure é a Trigger.

Supondo um controle de estoques simples:

Tabela:

Movimento do estoque:

Id_produto, flag_entrada_saida, id_local, quantidade, saldo, data hora do movimento

Tabela saldos em estoque:

Id_local, Id_produto, data_ultimo_movimento, saldo

Uma trigger before insert em Movimento do estoque:

Busca o saldo do produto parao local movimentado.
Conforme flag_entrada_saida, recalcula saldo, para + ou para -.
Atualiza a coluna saldo em Movimento do Estoque.
Atualiza tabela Saldos em Estoque com a data e hora corrente e o novo saldo para o local e produto movimentado.

A segurança é muito maior e os dados muito mais confiáveis.

Eu usaria Engine na tabela movimento do tipo Archive. (Não pode excluir, não pode alterar, somente inserir).

A única preocupação é inserir na tabela movimento do estoque informando o id do produto, o id do local, se é uma entrada ou saida e a quantidade ( a data/hora usa-se current_time_stamp).

É claro que uma gestão inteligente de estoque envolvem muitos outros processos não descritos acima pois o exemplo é uma simplória sugestão para demonstrar as vantagens de usar trigger.

Não tenho material a respeito, precisaria desenvolver uma documentação específica falando sobre controle de estoques.
Mas o tempo é curto demais.