关于一个传统的数据库设计问题 大家好,我在做一个进销存系统的时候,要求库存量可以预留。当下订单的时候我使用触发器来增加预留数量,发货的时候在使用触发器减少预留量。但是有的时候预留量会出现负数。大家在这种问题上是怎么考虑的?我的设计思路是不是有问题呢,还有没有更好的实现方式啊。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 个人觉得有点问题.建议去下个ERP系统,看看别人是怎么搞的. 3楼给推荐一个ERP的数据库看看怎么样,呵呵。好人做到底吗。 我使用的触发器。现在问题还没有找到。看来可能要修改一下设计方式了。对于预留的问题我们原来是每次都去历史记录表中去Sum一下得出全部的预留数量和已经发送的数量,做差得出现在预留数量。但是这样数据库压力大(历史记录表中数据量很大)。后来使用触发器来做,每次下订单就增加预留数量,发货就减少预留数量。不知道是不是可以使用存储过程来做呢?把下订单增加预留量写在一个存储过程中,发货减少预留数量写在另一个存储过程中。请大家提示一下呵呵。对于数据库的完整性问题还真的很让人头痛。 我也看到微软的范例数据库中有这种情况,销售主表有个合计金额列 字表中有单价、数量列,主细表的同步也是通过触发器来做的。但是他不是简单的向上加减,而是每次都是去重新汇总一下销售主表.合计金额=(Sum(子表.数量*子表.单击) where 子表.子表外键=销售主表.主表主键)这样做肯定不会出现不匹配问题了。但是我想在性能上可能也会差一些了。为什么不去直接去增加减少销售主表.合计金额呢是不是微软的触发器真的有问题呢? 如何了解SQLServer在做什么 50分求个简单的SQL语句不要太复杂的 如何合并两个表数据? (高手帮忙,急,在线等) 这个编号怎么写啊? 根据3个关联表格生成一个新表格的SQL语句 急急急~!!!附加数据库慢的问题 请教SQL高手 问题!!高手和斑竹请进!!! 问一个很菜很丢人的问题,database profile是什么意思? 有没有关于SQL SERVER分布式数据处理的资料? 数据库不熟,谁能帮我弄一下这条语句该怎么写! 求一句更新的SQL语句,高手请来~~
3楼给推荐一个ERP的数据库看看怎么样,呵呵。好人做到底吗。
对于预留的问题我们原来是每次都去历史记录表中去Sum一下得出全部的预留数量和已经发送的数量,做差得出现在预留数量。
但是这样数据库压力大(历史记录表中数据量很大)。后来使用触发器来做,每次下订单就增加预留数量,发货就减少预留数量。
不知道是不是可以使用存储过程来做呢?把下订单增加预留量写在一个存储过程中,发货减少预留数量写在另一个存储过程中。
请大家提示一下呵呵。对于数据库的完整性问题还真的很让人头痛。
主细表的同步也是通过触发器来做的。
但是他不是简单的向上加减,而是每次都是去重新汇总一下
销售主表.合计金额=(Sum(子表.数量*子表.单击) where 子表.子表外键=销售主表.主表主键)这样做肯定不会出现不匹配问题了。但是我想在性能上可能也会差一些了。为什么不去直接去增加减少销售主表.合计金额呢
是不是微软的触发器真的有问题呢?