了解了下网上关于库存表的设计,结合个人的思索认为可以有如下的设计模式:

总的原则:库存表和出入库记录分开。有一种设计是没有库存表,只有出入库记录表,要查询库存就利用出入库记录动态计算。如此用到库存的地方都需要动态计算,如果数据结构复杂、数量庞大对响应有影响。而用到库存的地方还不少,特别是与外部系统有联动时,经常要进行库存的查询。如:采购前可能需要查询库存量,据此来制定采购计划,出库申请时也要查询库存。还有各类统计报表。

库存表:只存储当前的库存量,库存量的更新由出入库记录进行同步。这里涉及的问题有:

  1. 物品在仓库内的多个位置有存放时,如何记录?

  2. 如何查询历史库存?

  3. 盘存数据如何与库存数据同步?

问题1.同一个物品多个存储位置,没必要按存储位置分多条记录,存放位置作为备注存在一个表字段里即可。否则要知道库存量时要计算(多条记录加一起),另外出入库操作时同步库存量时更麻烦,还要按存储位置同步(不是库存量的简单加减,出现新的位置还要新加库存记录)。

入库时分配存储位置,入库量同步到库存量,备注字段更新存储位置。

出库时,出库量更新到库存量。如果某个位置的物品全出库了。如何更新位置信息?

戴尔电脑

202205-型

20

1#架,3#架

1#架有15台,3#架有5台。现在有个出库申请,出库该电脑5台。库管员把3#架的5台全部出库了。如何更新上面库存的位置信息?如果不更新下次出库,去到3#架发现没有,又去1#架。另外后期入库时,选择存储位置时如何知道哪些位置是空闲的?

当然一般同一物品是放在同一个位置的,而且后期的增量物品也是放在这个位置。除非对库位重新进行了规划。看来WMS里需要一个库位管理。

问题2.查询历史库存。由于库存表只存储了当前库存量,要查历史,有两种处理方式:1.更新库存量后,将库存记录拷贝另存一个表中;2.更新库存量后,将新的库存量存储在相应的出入库记录里。这类似于查询我们的银行账户,开始只显示账号的余额,查询明细的时候,显示资金的出入记录,每个记录会显示当时的余额。推荐方式2,好核对数据。

问题3.盘存数据同步到库存。盘存后的实际库存与系统内的记录库存有差异,需要同步。同时盘存本身应有历史记录。所以不能直接修改库存表里的库存量就完事。提供的一种方式就是,把盘存记录当作一种特殊的出入库记录,和出入库同样的操作,这样系统的流程是统一的,不会增加复杂度。同时查询历史库存的时候,可以看到各种变化记录。另一种方式提供单独的盘存记录表。

库存表:相当于台账,记录物品的基础信息、库存数据。

字段

备注

物品编码

企业内部编码

物品名称

规格型号

供应商

图片

实物图片

库存量

正常可用量

计量单位

【锁定量】

库管通过了出库申请但还未实际出库(动态计算锁定量,不需要字段存储)

备注

规定存放位置

出入库申请主表:出入库的概要信息,便于从业务角度查询出入物品。

字段

备注

出入库编号

操作类型

入库、出库

申请时间

完成时间

申请人

库管操作人

出入库标签

如:采购入库、报损出库

状态

申请-受理【出库时锁定库存】-完成【更新库存量】,取消

出入库明细表:相当于是流水表,记录物品出入记录,出入后存储最新的库存量,作为日后查询历史库存的数据,类似银行账户的流水。

字段

备注

出入库编号

关联到出入库主表主键

物品编码

数量

【计量单位】

引用自库存表

操作时间

操作人

库存快照

操作后的库存快照

盘存记录表 简单设计为各物品的实际可用数量上报,在盘存时应该停止出入库的业务,避免数据的错乱。在盘存的时候,会发现报废、损坏、过期的物品,需要填写报损记录。在界面上可以和二为一填报,后台分开存储。同步库存的时候,是用实际盘存覆盖同步,所以报损记录不需要再同步。

字段

备注

物品编码

可用库存量

【损废量】

物品损坏的应减库存

盘存时间

盘存人

【现场拍照】

拍照损坏的物品

是否同步系统库存

是、否

报损表 日常工作中,发现有物品报废,损坏无法正常使用时,应该将这些物品从库存里剔除。所以设计了报损表。报损记录同步库存时是用的 增减方式同步,所以报损记录的同步可以任何时候进行(除了盘存阶段,需在盘存阶段前,避免报损物品的重复减库存)。

字段

备注

物品编码

损废量

上报时间

上报人

现场拍照

是否同步到系统库存

是、否

损废确认人

确认时间

损废处理表:对损坏、报废物品的处理记录

字段

备注

物品编码

处理量

处理时间

处理人

处理方式

另存、出库(丢弃、回收卖出)

处理结果

处理确认人

确认时间

WMS系统数据库表设计相关推荐

  1. mysql设计积分兑换表_积分系统数据库表设计.docx

    积分系统数据库表设计 文件编号:JHDZ/SJ 密 级: 云上城积分功能数据库设计文档 项目名称:<云上城>项目代号:XXX版 本:V1.0编制单位:平台运营编制日期:2014-10-08 ...

  2. php二级分销数据表的设计,无限级分销系统数据库表设计

    在做交易所的时候有个需求,需要统计邀请注册人数,比如 A邀请B, B邀请C, C邀请D.那么A的邀请人数就是3个,B的邀请人数就是2个,C的邀请人数就是1个.除此之外,还要能统计出A直接邀请人数,A下 ...

  3. 数据库设计:用户登录系统数据库表设计

    用户登录系统数据库表设计 最近看了看公司后台用户登录系统的设计, 比较混乱, 主要还是因为URS和Oauth以及URS第三方这三个登录形式各不相同导致的. 下面着重介绍一下涉及到第三方登录中需要注意的 ...

  4. 新催收系统数据库表设计的小结

    总结下前几个月设计的新催收系统,主要是数据库方面的一个设计. 解决旧催收系统的一个严重的性能问题. 可以讲需要开发新催收系统的根本原因,就是这个. 主因只有一个,就是帐单表h_bills. 这个表包括 ...

  5. 无限级分销系统数据库表设计

    这次分享的内容很简单,就是一张表的设计思路. 一.背景 在做交易所的时候有个需求,需要统计邀请注册人数,比如 A邀请B, B邀请C, C邀请D.那么A的邀请人数就是3个,B的邀请人数就是2个,C的邀请 ...

  6. 消息提醒系统:设计模式与实现方案 (公告(通告)、消息、提醒等基本功能数据库表设计与实现)

    参考地址: 公告(通告),消息,提醒等基本功能数据库表设计_DamonREN的博客-CSDN博客 多种消息提醒系统的设计模式.实现方案(附功能截图+表结构)_黑夜的风的博客-CSDN博客_消息提醒 设 ...

  7. Oracle数据库表设计时的注意事项

    Oracle数据库表设计时的注意事项  表是Oracle数据库中最基本的对象之一.万丈高楼从平地起,这个基础对象对于数据库来说,非常重要.因为其设计是否合理,直接跟数据库的性能相关.从Oracle数据 ...

  8. 不定字段数目的数据库表设计和数据结构

    不定字段数目的数据库表设计和数据结构 可能采用四种技术: 动态增加数据库表字段 预留足够的空白字段,运行时作动态影射 用xml格式保存在单字段里 改列为行,用另外一个表存放定制字段 现在我们来分析一下 ...

  9. 数据库表设计、 数据库分层、myslq水平拆分、oracle表分区

    数据库表设计 数据库表结构设计方法及原则(li)数据库设计的三大范式:为了建立冗余较小.结构合理的数据库,设计数据库时必须遵循一定的规则.在关系型数据库中这种规则就称为范式.范式是符合某一种设计要求的 ...

最新文章

  1. python采集bandwidth信息
  2. MiguelCatalan/MaterialSearchView
  3. python爬虫百科-Python爬虫之requests库介绍(一)
  4. SageMaker使用托管容器训练本地网络模型
  5. AES 加密256位 错误 java.security.InvalidKeyException: Illegal key size or default parameters
  6. bat批处理笔记(二)
  7. 网页设计 html鼠标悬停,利用css3实现的简单的鼠标悬停按钮
  8. c语言 freopen txt_C语言文件操作函数freopen详细解析
  9. LeetCode: Convert BST to Greater Tree
  10. 将数据传回前端_惠普打印机被发现偷偷回传数据:隐藏极深
  11. OUTLOOK新邮件到达提醒设置以及outlook最小化到托盘设置
  12. 融合不是冗余,全栈自研才有出路?特斯拉/Mobileye这样做
  13. [Excel数据处理与分析实战技巧精粹].Excelhome.扫描版
  14. IDM插件chrome无法加载
  15. 川农计算机应用基础考试文档,中学生计算机基础考试题库
  16. pat 甲级 A1008 Elevator
  17. pygame实现找方块(色彩敏感度测试)游戏
  18. 创造者的品味 转自apple4.us
  19. 人生需有三心境,你有吗?
  20. BART 文本摘要示例

热门文章

  1. 将Maven配置到Eclipse中
  2. java千克和磅之间的转换,进行打印
  3. Cache(缓存)基本概念
  4. 华为机试真题 Java 实现【开心消消乐】【2022.11 Q4 新题】
  5. 用Python做了个私活,小赚3W,说下接单心得
  6. 3分钟带你彻底弄懂数码管的段选与位选
  7. [CQOI2009]循环赛[HNOI2013]比赛
  8. HASH和HMAC(5):SHA-384、SHA-512、SHA-512/224和SHA-512/256算法原理
  9. RTL-SDR 学习——什么是RTL-SDR(1)
  10. 【建议收藏】数据结构和算法面试题