业务情况:通过条码管理A车间成品、B仓库成品、C仓成品业务流程:
A车间包装扫码下线 -> B仓库入库 ->B仓库出库 -> C仓库入库 ->C仓库出库要求:
1)实现A车间条码向B仓库、C仓库流向查询及追溯功能;
2)实现A车间下线产品统计、B仓库、C仓库入出库统计;
3)B仓库、C仓库出库出库时,要检查是否有存货;
A车间每天大约产生10000条下线条码求助:该数据库表结构如何设计
A车间包装扫码下线 -> B仓库入库 ->B仓库出库 -> C仓库入库 ->C仓库出库要求:
1)实现A车间条码向B仓库、C仓库流向查询及追溯功能;
2)实现A车间下线产品统计、B仓库、C仓库入出库统计;
3)B仓库、C仓库出库出库时,要检查是否有存货;
A车间每天大约产生10000条下线条码求助:该数据库表结构如何设计
我觉得放在一张表里就可以实现啊?也可以建立4张表,每个仓库一张表。
但是如果数据表设计好些的话,可能可以减少业务的复杂程度。要符合:1)实现A车间条码向B仓库、C仓库流向查询及追溯功能;
估计要建立4张表。
pid:产品id,psn:产品条码,status,状态(0已入库,1已出库),ptype:产品类别a_table : pid,psn,status,ptype,
b_table : pid,psn,status,ptype,
c_table : pid,psn,status,ptype,这样:
2)实现A车间下线产品统计、B仓库、C仓库入出库统计;
3)B仓库、C仓库出库出库时,要检查是否有存货;
也能实现。
再建立一个视图:union all a_table,b_table,c_table and status 0 .
这个视图就是所有产品的当前状态,并且保证这个视图里面的pid是唯一的。
-------------------------------------------------------------------------------------
还有就是:把所有数据用两张表来表示。
p_table : pid,psn,status,ptype,location(A,B,C仓库)process_talble:保存产品的过程。
这种比较麻烦,主要是统计比较麻烦。
-------------------------------------------------------------------------
【更正下第二种方法的设计】:
第二种方法:和第一种,本质是一样的。第二种更符合范式规定。也要用事务控制。 出库要更新状态,入库要插入记录。
p_table : pid,psn,ptype
process_table:pid,location(A,B,C仓库),status(0入库,1出库),其他辅助字段如:入库时间,出库时间等.
采用了okayu的方法。