WMS系统数据库表设计
了解了下网上关于库存表的设计,结合个人的思索认为可以有如下的设计模式:
总的原则:库存表和出入库记录分开。有一种设计是没有库存表,只有出入库记录表,要查询库存就利用出入库记录动态计算。如此用到库存的地方都需要动态计算,如果数据结构复杂、数量庞大对响应有影响。而用到库存的地方还不少,特别是与外部系统有联动时,经常要进行库存的查询。如:采购前可能需要查询库存量,据此来制定采购计划,出库申请时也要查询库存。还有各类统计报表。
库存表:只存储当前的库存量,库存量的更新由出入库记录进行同步。这里涉及的问题有:
物品在仓库内的多个位置有存放时,如何记录?
如何查询历史库存?
盘存数据如何与库存数据同步?
问题1.同一个物品多个存储位置,没必要按存储位置分多条记录,存放位置作为备注存在一个表字段里即可。否则要知道库存量时要计算(多条记录加一起),另外出入库操作时同步库存量时更麻烦,还要按存储位置同步(不是库存量的简单加减,出现新的位置还要新加库存记录)。
入库时分配存储位置,入库量同步到库存量,备注字段更新存储位置。
出库时,出库量更新到库存量。如果某个位置的物品全出库了。如何更新位置信息?
戴尔电脑 |
202205-型 |
20 |
台 |
1#架,3#架 |
1#架有15台,3#架有5台。现在有个出库申请,出库该电脑5台。库管员把3#架的5台全部出库了。如何更新上面库存的位置信息?如果不更新下次出库,去到3#架发现没有,又去1#架。另外后期入库时,选择存储位置时如何知道哪些位置是空闲的?
当然一般同一物品是放在同一个位置的,而且后期的增量物品也是放在这个位置。除非对库位重新进行了规划。看来WMS里需要一个库位管理。
问题2.查询历史库存。由于库存表只存储了当前库存量,要查历史,有两种处理方式:1.更新库存量后,将库存记录拷贝另存一个表中;2.更新库存量后,将新的库存量存储在相应的出入库记录里。这类似于查询我们的银行账户,开始只显示账号的余额,查询明细的时候,显示资金的出入记录,每个记录会显示当时的余额。推荐方式2,好核对数据。
问题3.盘存数据同步到库存。盘存后的实际库存与系统内的记录库存有差异,需要同步。同时盘存本身应有历史记录。所以不能直接修改库存表里的库存量就完事。提供的一种方式就是,把盘存记录当作一种特殊的出入库记录,和出入库同样的操作,这样系统的流程是统一的,不会增加复杂度。同时查询历史库存的时候,可以看到各种变化记录。另一种方式提供单独的盘存记录表。
库存表:相当于台账,记录物品的基础信息、库存数据。
字段 |
备注 |
物品编码 |
企业内部编码 |
物品名称 |
|
规格型号 |
|
供应商 |
|
图片 |
实物图片 |
库存量 |
正常可用量 |
计量单位 |
|
【锁定量】 |
库管通过了出库申请但还未实际出库(动态计算锁定量,不需要字段存储) |
备注 |
|
规定存放位置 |
|
出入库申请主表:出入库的概要信息,便于从业务角度查询出入物品。
字段 |
备注 |
出入库编号 |
|
操作类型 |
入库、出库 |
申请时间 |
|
完成时间 |
|
申请人 |
|
库管操作人 |
|
出入库标签 |
如:采购入库、报损出库 |
状态 |
申请-受理【出库时锁定库存】-完成【更新库存量】,取消 |
出入库明细表:相当于是流水表,记录物品出入记录,出入后存储最新的库存量,作为日后查询历史库存的数据,类似银行账户的流水。
字段 |
备注 |
出入库编号 |
关联到出入库主表主键 |
物品编码 |
|
数量 |
|
【计量单位】 |
引用自库存表 |
操作时间 |
|
操作人 |
|
库存快照 |
操作后的库存快照 |
盘存记录表 简单设计为各物品的实际可用数量上报,在盘存时应该停止出入库的业务,避免数据的错乱。在盘存的时候,会发现报废、损坏、过期的物品,需要填写报损记录。在界面上可以和二为一填报,后台分开存储。同步库存的时候,是用实际盘存覆盖同步,所以报损记录不需要再同步。
字段 |
备注 |
物品编码 |
|
可用库存量 |
|
【损废量】 |
物品损坏的应减库存 |
盘存时间 |
|
盘存人 |
|
【现场拍照】 |
拍照损坏的物品 |
是否同步系统库存 |
是、否 |
报损表 日常工作中,发现有物品报废,损坏无法正常使用时,应该将这些物品从库存里剔除。所以设计了报损表。报损记录同步库存时是用的 增减方式同步,所以报损记录的同步可以任何时候进行(除了盘存阶段,需在盘存阶段前,避免报损物品的重复减库存)。
字段 |
备注 |
物品编码 |
|
损废量 |
|
上报时间 |
|
上报人 |
|
现场拍照 |
|
是否同步到系统库存 |
是、否 |
损废确认人 |
|
确认时间 |
|
损废处理表:对损坏、报废物品的处理记录
字段 |
备注 |
物品编码 |
|
处理量 |
|
处理时间 |
|
处理人 |
|
处理方式 |
另存、出库(丢弃、回收卖出) |
处理结果 |
|
处理确认人 |
|
确认时间 |
|
WMS系统数据库表设计相关推荐
- mysql设计积分兑换表_积分系统数据库表设计.docx
积分系统数据库表设计 文件编号:JHDZ/SJ 密 级: 云上城积分功能数据库设计文档 项目名称:<云上城>项目代号:XXX版 本:V1.0编制单位:平台运营编制日期:2014-10-08 ...
- php二级分销数据表的设计,无限级分销系统数据库表设计
在做交易所的时候有个需求,需要统计邀请注册人数,比如 A邀请B, B邀请C, C邀请D.那么A的邀请人数就是3个,B的邀请人数就是2个,C的邀请人数就是1个.除此之外,还要能统计出A直接邀请人数,A下 ...
- 数据库设计:用户登录系统数据库表设计
用户登录系统数据库表设计 最近看了看公司后台用户登录系统的设计, 比较混乱, 主要还是因为URS和Oauth以及URS第三方这三个登录形式各不相同导致的. 下面着重介绍一下涉及到第三方登录中需要注意的 ...
- 新催收系统数据库表设计的小结
总结下前几个月设计的新催收系统,主要是数据库方面的一个设计. 解决旧催收系统的一个严重的性能问题. 可以讲需要开发新催收系统的根本原因,就是这个. 主因只有一个,就是帐单表h_bills. 这个表包括 ...
- 无限级分销系统数据库表设计
这次分享的内容很简单,就是一张表的设计思路. 一.背景 在做交易所的时候有个需求,需要统计邀请注册人数,比如 A邀请B, B邀请C, C邀请D.那么A的邀请人数就是3个,B的邀请人数就是2个,C的邀请 ...
- 消息提醒系统:设计模式与实现方案 (公告(通告)、消息、提醒等基本功能数据库表设计与实现)
参考地址: 公告(通告),消息,提醒等基本功能数据库表设计_DamonREN的博客-CSDN博客 多种消息提醒系统的设计模式.实现方案(附功能截图+表结构)_黑夜的风的博客-CSDN博客_消息提醒 设 ...
- Oracle数据库表设计时的注意事项
Oracle数据库表设计时的注意事项 表是Oracle数据库中最基本的对象之一.万丈高楼从平地起,这个基础对象对于数据库来说,非常重要.因为其设计是否合理,直接跟数据库的性能相关.从Oracle数据 ...
- 不定字段数目的数据库表设计和数据结构
不定字段数目的数据库表设计和数据结构 可能采用四种技术: 动态增加数据库表字段 预留足够的空白字段,运行时作动态影射 用xml格式保存在单字段里 改列为行,用另外一个表存放定制字段 现在我们来分析一下 ...
- 数据库表设计、 数据库分层、myslq水平拆分、oracle表分区
数据库表设计 数据库表结构设计方法及原则(li)数据库设计的三大范式:为了建立冗余较小.结构合理的数据库,设计数据库时必须遵循一定的规则.在关系型数据库中这种规则就称为范式.范式是符合某一种设计要求的 ...
最新文章
- python采集bandwidth信息
- MiguelCatalan/MaterialSearchView
- python爬虫百科-Python爬虫之requests库介绍(一)
- SageMaker使用托管容器训练本地网络模型
- AES 加密256位 错误 java.security.InvalidKeyException: Illegal key size or default parameters
- bat批处理笔记(二)
- 网页设计 html鼠标悬停,利用css3实现的简单的鼠标悬停按钮
- c语言 freopen txt_C语言文件操作函数freopen详细解析
- LeetCode: Convert BST to Greater Tree
- 将数据传回前端_惠普打印机被发现偷偷回传数据:隐藏极深
- OUTLOOK新邮件到达提醒设置以及outlook最小化到托盘设置
- 融合不是冗余,全栈自研才有出路?特斯拉/Mobileye这样做
- [Excel数据处理与分析实战技巧精粹].Excelhome.扫描版
- IDM插件chrome无法加载
- 川农计算机应用基础考试文档,中学生计算机基础考试题库
- pat 甲级 A1008 Elevator
- pygame实现找方块(色彩敏感度测试)游戏
- 创造者的品味 转自apple4.us
- 人生需有三心境,你有吗?
- BART 文本摘要示例
热门文章
- 将Maven配置到Eclipse中
- java千克和磅之间的转换,进行打印
- Cache(缓存)基本概念
- 华为机试真题 Java 实现【开心消消乐】【2022.11 Q4 新题】
- 用Python做了个私活,小赚3W,说下接单心得
- 3分钟带你彻底弄懂数码管的段选与位选
- [CQOI2009]循环赛[HNOI2013]比赛
- HASH和HMAC(5):SHA-384、SHA-512、SHA-512/224和SHA-512/256算法原理
- RTL-SDR 学习——什么是RTL-SDR(1)
- 【建议收藏】数据结构和算法面试题