首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

请问~药库管理系统数据库设计有关问题~

2012-02-03 
请教~!药库管理系统数据库设计问题~!小弟最近才加入一个学校的药库管理系统开发组中,对于这种系统的许多流

请教~!药库管理系统数据库设计问题~!
小弟最近才加入一个学校的药库管理系统开发组中,对于这种系统的许多流程方面还不是太明白,请教各位大大:

现有数据库设计如下:商品期初表、入库登记表、入库明细表、出库登记表、出库明细表、退库明细表、退货登记表、退货明细表、商品盘存表、商品库存表等等。我想不明白的是:既然商品库存表是记录现有库存的,是由期初+入库+退库+盘盈-盘亏-退货-出库   并分批次   计算得到的,那商品库存表是如何添加和修改、删除记录的?又在什么时候做这些操作?

比如:期初时:
期初表:
        批次编号                         商品编号                 数量
        qc20070403001               7020101001             10
        qc20070403001               7020101002             20
        qc20070403001               7020101003             30
如果这时系统刚建立,还没有其它记录如入库,出库等,是否就是说,现在库丰表中也是:
        批次编号                         商品编号                 数量
        qc20070403001               7020101001             10
        qc20070403001               7020101002             20
        qc20070403001               7020101003             30

那入库时:
入库明细表:
        批次编号                         商品编号                 数量
        rk20070403001               7020101001             100
        rk20070403001               7020101002             200
        rk20070403001               7020101003             300
那么现在库存表中该如何操作记录呢?因为是按批次管理,所以库存表中每种商品都应记录每种批次的数量?如果是这要,那库存表中应该:
        批次编号                         商品编号                 数量
        qc20070403001               7020101001             10
        qc20070403001               7020101002             20
        qc20070403001               7020101003             30
        rk20070403001               7020101001             100
        rk20070403001               7020101002             200
        rk20070403001               7020101003             300
可是这样的话,这些记录实际与其他表是一样的,这些操作岂不是浪费资源和时间?但老师告诉我,必须有库存表来记录商品的实际数量,我知道老师说的应该是对的,可出库时怎么办呢?是否可以理解为:出库时的批次编号应为库存表中现有的某种商品的某个批次编号?(假设先入先出)
        批次编号                         商品编号                 数量


        qc20070403001               7020101001             5
        qc20070403001               7020101002             20
        rk20070403001               7020101002             30
那么,现在库存表中是否现在就变为:
        批次编号                         商品编号                 数量
        qc20070403001               7020101001             5
        qc20070403001               7020101002             0
        qc20070403001               7020101003             30
        rk20070403001               7020101001             100
        rk20070403001               7020101002             170
        rk20070403001               7020101003             300
我的理解是否对的?各位大大对数据库的设计或操作可有好的建议?

[解决办法]
crud嘛..不过流程复杂点撒.
[解决办法]
库存表,很多字段,应该要用触发器和锁来改变值.
[解决办法]
按照你的说法,你所谓的 "批次编号 "依我看应该是 "单号 ".药品和器械应该自己有一个批号,按照 "单号 "来管理库存是不合理的.也就是像你说的每个 "单号 "在库存表中都有一条数据这显然不对.比如你分两天入了同一种药品,如果按你说的那样的话在库存表中有两条分开的记录.实际上这两中药品的所有属性都是相同的,分开记录就没有任何意义.应该是药品的实际属性不相同时才分开记录.对库存量的操作我也建议用触发器.
[解决办法]
出入库管理都是按批次进行的,库存的东西还分明细库存和现有总库存等等,有一般的东西,也有看具体要求的。具体的东西你可以找个库存管理系统的例子好好看看,我建议先看看规范的,这里难以一个个说明白

热点排行