现在我做自己工厂的库存管理 。
我看了一个星期的库存相关设计思路。
最后我只能按最简单的来,不知道我的想法或思路对不对。
物料表,期初表(相当于盘点表),入库表,出库表 没有实时库存,需要的时候去查 期初+入库-出库,以这种设计是为以后增加查询统计考虑也是,看论坛人推荐这样设计 。
采购回来就生成个入库单,数量及金额,销售出去就生成个出库单 数量及金额,
我想查库存是这样的,没有实时库存,需要的时候去查 期初+入库-出库
我物料表里例如有 A001 ,A002,A003 这几种物料
我实际不再卖A001了,也没有库存了。这期盘点录入期初表也要把它放在里面并填入0是不是?还是只盘有库存的?
要是只盘有库存的向期初表里录那如果我不把A001录入到期初表里,这期期间我又外购了些入库开始卖它了。我要查库存的时候其初表里没有,怎么查库存?因为我向上面说的那样查库存 期初+入库-出库
再或 这期期间我新购进了一种物料A004,并有入库,那我现在要查A004库存的时候 怎么查?期初不存在的物料默认为0吗?
谢谢回答啊,我都困扰几天几夜了。或者给我个思路。
------解决方案--------------------
1、我实际不再卖A001了,也没有库存了。这期盘点录入期初表也要把它放在里面并填入0是不是?还是只盘有库存的?
我觉得在盘点录入期初表还是要录入并给出数量0
2、如果我不把A001录入到期初表里,这期期间我又外购了些入库开始卖它了。我要查库存的时候其初表里没有,怎么查库存?
你可以在查询的时候通过case when语句来控制,如果期初表没有那么就为0,然后通过你的计算公式来查询库存
3、 这期期间我新购进了一种物料A004,并有入库,那我现在要查A004库存的时候 怎么查?期初不存在的物料默认为0吗?
这样做是可以的,但是你入库的时候,新增的物料为什么不是直接在期初表里了,你可以判断如果期初表没有的物料,在新进来的时候直接写到期初表,以后入库的在写入到入库。
------解决方案--------------------
设计思路上没有什么问题。也许你现在觉得迷惑,有些表你暂时很少使用或者几乎用不上,但业务是在不断发展的,也许在不久的将来你就会发现你现在迷惑其实都是多余的。所以前人的经验就尤其重要,既然前人在不断总结中设计了这个表,那么一定有它的用武之地。数据库的设计首先考虑的解决实际问题,但同时扩展性,可维护性和性能,所以楼主还是可以把目光放远一点。
------解决方案--------------------
1.要不要期初表完全取决于你的业务,当然你觉得你对期初不是很依赖,去掉也是可以得,因为期初数据也是通过其他表数据计算得来,就算没有期初表一样可以计算得到期初的数据,但就如我所说,从扩展性和性能来说是建议保留。
2.期初和期中新增物料问题,其实你去问你们会计是如何做账的更为合适。