设计进销存数据库时如何实现库存预留
做一个进销存系统的时候,要求库存量可以预留。发货的时候减少预留
有如下实现方式
1、给订单写触发器去增加库存预留量 给发货单写触发器减少库存预留量
2、做添加订单的存储过程,同时完成订单添加和增加预留量
做添加发货单的存储过程,同事完成发货单添加和减少预留量
3、在程序中完成
问题:
1、上面3个方法各有什么优缺点?还有没有其他的方法?
2、要保证预留量精确(订单数量和预留量一致)应该采用什么机制?
3、我看微软的一个数据库设计也使用了触发器,但是他不是简单的去修改预留量
而是每次触发都是重新汇总预留量(预留量=Sum(订单数量)-Sum(发货数量))。
这里为什么不去简单的去增加减少预留量呢?每次都去汇总一下肯定精确,但是效率问题呢?