物联传媒 旗下网站
登录 注册
RFID世界网 >  技术文章  >  物流  >  正文

基于RFID技术的物流自动化管理系统数据库设计

作者:微计算机信息
来源:RFID世界网
日期:2007-06-01 15:20:40
摘要:为实现仓储物流自动化管理系统的入库、出库、报表、储位查询、物品查询、客户查询、仓库及人员管理模块等功能模块,本文采用SQL SEVER 2000数据库管理系统、微软公司的VS.NET的C#开发工具,利用其提供的各种面向对象的开发工具,其中最主要的是ADO.NET技术实现了基于电子标签技术的物流自动化管理系统后台数据库方面的开发任务。现场试验表明:本文所设计的物流自动化管理系统达到了预期要求。
关键词:RFID技术物流
1 引言 
RFID是Radio Frequency Identification的缩写,即射频识别,俗称电子标签。在我国物流业飞速发展的今天,射频技术以其特有的优势,克服了条码识别需要光学可视、识别距离短、信息不可更改等缺点,成为物流自动识别领域一个耀眼的亮点。射频技术的出现,改变了传统的数据采集方法,它信息含量大,可以根据需要实时更改,简化了物流的中间环节,缩短了物流人工操作时间,其准确性和快速性越来越得到行业的认同。本文主要讲述基于电子标签技术的仓储物流自动化管理系统的后台数据库的设计与开发。 

2 系统功能分析 
经过对系统的需求分析,确定系统要实现用户对仓库的各种操作,要能够实现自动出入库,手动出入库,还要有库内移动的操作,人员的管理与维护,客户的管理,对仓库进行的操作如增删仓库的操作、储位查询功能,对物品的查询功能、盘点以及报表功能。因此,用户操作界面设计了如下模块:用户的登录模块、入库模块、出库模块、库内移动模块、仓库管理模块、储位查询模块、物品查询模块、客户管理模块、报表模块和帮助模块。 

后台数据库根据系统的功能为每个模块设计相应的表和存储过程。 

3 系统的功能设计 
3.1 功能概述 
程序的总体功能模块图如图1所示。各个模块的功能说明如下: 

(1)      入库模块:实现物品的自动及手动入库的管理,新物品的添加功能; 

(2)      出库模块:实现物品的自动及手动出库的管理; 

(3)      报表模块:实现库存报表、入库报表、出库报表、员工操作报表、人员变动报表的查询、打印、导出功能; 

(4)      储位查询模块:实现对货位的详细查询; 

(5)      物品查询模块:实现对库存物品的信息的查询; 

(6)      客户查询模块:实现对存货客户的详细信息的查询; 

(7)      仓库管理模块:实现对仓库的管理如添加、删除模块; 

(8)      人员管理模块:实现对员工、登录信息的管理; 




图1 程序功能模块图 

3.2 后台数据库设计 
3.2.1 数据库表的设计 
根据系统功能要求进行数据库中表格的建立。根据对用户的需求分析,在项目中,需要记录物品的基本信息、仓库的基本信息、仓库的操作信息。 

物品的基本信息表应该包括物品的编号、名称、生产厂商、种类、规格、等级和物品所属的客户(即物品的所有者),其中物品的编号为主键。因此要建立一个物品列表,用以储存物品的信息。在物品的基本信息中生产厂商、物品种类和客户都需要单独为他们建立单独的表。在物品的生产厂商表中应该包含生产厂商的名称和代号,生产厂商代号为主键;在物品种类表中应包含物品种类的名称和代号,物品种类代号为主键;在客户表中应该包含客户的名称、联系人、和联系电话,客户代号为主键。这样的设计完全满足BCNF范式,表格之间的条理比较清晰。 

各个表之间的外键关系如下:生产厂商表的主键与物品列表中的生产厂商代号相关联;物品种类表的主键与物品列表中的生产厂商代号相关联;客户表的主键与物品列表中的客户代号相关联。 

仓库的基本信息应包括用于记录职工基本信息的仓库人员管理表,及用于记录仓库库位信息的仓库信息表。仓库人员管理表中包括职工的代号、姓名、职位、联系电话、身份证号码和住址,职工代号为主键。仓库信息表中包括存放地点(相当于仓库的标号)、仓库号、区域、货架号、层、行、列、是否为空几个属性,其中存放地点为主键。 

仓库的操作信息应包括用于储存入、出库及库内移动操作记录的入库表、出库表及库内移动表;用于储存当前仓库中物品记录的库存表;用于记录员工增删情况的人事变动表。入库表中应该记录物品的编码、入库的时间、经手人和存放地点,其中以物品编码和入库时间联合作为主键;出库表中应该记录物品的编码、出库时间和经手人,其中以物品编码和出库时间联合作为主键;库内移动表中应该记录物品的编码、移动时间、经手人、原存放地点和新存放地点,其中以物品编码和移动时间联合作为主键;库存表中应该包括物品的编码、入库时间 、存放地点和经手人,其中以物品的编码作为主键。人事变动表中应该包括操作号、人事变动的内容、变动的时间、变动人员的代号和变动人员的姓名,其中操作号为主键。 

另外,系统中还需要有用户的登录信息表用于记录用户的登录信息。登录信息表中应该有登录的用户名和密码,其中登录名为主键。 

3.2.2 数据库中表的关系 
数据库中表的关系如图2所示。它描述了数据库中所有的表以及这些表之间的关系。对于表之间的触发器、为程序设计的存储过程、约束等具体内容这里没有详细列出。 




图2 数据库总关系图 

3.2.3 物品编码的设计 
由于标签技术使用的是RFID技术,可以以无线方式进行双向通信,实现非接触、批量读取和远程读取、可识别高速运动物体、可实现真正的“一物一码”,所以编码也遵照一物一码的原则进行编码。 

由于EPC码是物品本身具有的属性,即物品在出厂时会由生产厂商对其进行EPC编码,写入到电子标签中。而EPC编码是在生产厂商加入EPC global组织后,由组织分配给生产厂商分配一个编码的空间以及一些编码规则,让企业自行编码。本文设计中,为了方便操作,定义了12位的编码。编码规则如图3所示。 




图3 物品编码的编码规则示意图 

其中流水号为同种物品的顺序编号,例如:如果表中已经存在了编号为001001001001的物品,再加入生产厂商代号为001,客户代号为001,种类编号为001的物品时系统对这个物品的编号就为001001001002,最后一位顺序加一。 

这种编码规则的使用在实际操作中应该是在物品出厂的时候由生产厂商为出厂物品进行编码,然后在物品入库的时候物品都应该是带有编码的,仓储物流自动化管理系统只需要根据物品的电子标签上面的信息将物品入库并将分配给物品的存放地点写入电子标签中即可。 

3.2.4 数据库中存储过程及触发器的设计 
在数据库中创建的存储过程主要分为3类:插入数据的存储过程、删除数据的存储过程、查询数据的存储过程。插入数据的存储过程主要实现的是对数据库中表的添加,例如在入库表,出库表,库内移动表中插入仓库操作数据;在客户表,登录表,仓库表,物品表,职工表等表中插入数据,以添加各个实体数据;删除数据的存储过程实现的主要功能与插入相反,它主要是实现对客户表,登录表,仓库表,物品表,职工表等表中的实体数据进行删除操作;查询数据的存储过程主要应用在报表的生成上,各种报表调用相应的存储过程以实现对需要用到的表进行查询,显示查询结果作为报表的数据源。下面只简单介绍一下添加新物品的存储过程,因为这个存储过程涉及到了自动为物品编码的问题。 

在添加新物品的存储过程中,设立了6个输入参数和一个输出参数。6个输入参数分别是要新增物品的名称,生产厂商代号、种类代号、规格、等级和客户代号;输出参数为插入数据后系统分配给该物品的编号,返回给用户。存储过程按照编码规则对物品进行编码,先提取需要用于给物品进行编号的3个属性生产厂商代号、客户代号和种类编号作为物品代号的前9位,然后系统再根据这3个参数在物品列表中查找前9位与这个物品相同的物品,如果存在就将这些物品的代号的最后3位取出最大值加一作为新物品的最后三位,如果不存在就直接赋值为001。然后再将这个得出的标号作为新物品的编号和物品信息一起存入物品列表中,并将物品编号返回给用户。其它存储过程及触发器的作用略。 

4 结论 
本文采用SQL SEVER 2000数据库管理系统设计并完成了基于电子标签技术的物流自动化管理系统后台数据库的开发任务,实现了系统的入库、出库、报表、储位查询、物品查询、客户查询、仓库及人员管理模块等功能。 

本文作者的创新点是:将射频识别技术应用于物流自动化管理系统中,应用了电子标签的非“可视性”和可写性,在货物出入库时只需要进入读写器的能量场范围内即可读取,同时可以根据出、入库的实际需要对标签信息进行在线改写。只要“读”到标签就可以知道货物的存放及入库信息,不仅不用拆包移垛而且避免了人工清点的复杂性合适物,大大提高了库存盘点的准确性和工作效率。 

参考文献 
[1] 廉小亲,翁贻方等,基于电子标签技术的物流自动化管理系统[J].微计算机信息.2006,5 22(5-3). Pp.137-138. 

[2] K.Watson,M.Bellinaso等著,康博译.C#入门经典(第3版)[M].北京:清华大学出版社.2006.5. Pp.1~864 

[3] 数据库设计三大范式应用实例剖析[电子文档]

作者简介:廉小亲(1967-9),女,博士,副教授,研究领域:计算机控制。 

Author brief introduction: LIAN Xiao-qin(1967-9). Female. Dr., Associate professor. Major subject: computer control. 

(100037,北京工商大学信息工程学院)廉小亲 冯允 张晓力 吴叶兰 

(100037, School of Information Engineering, Beijing Technology and Business University)LIAN Xiao-qin, FENG Yun, ZHANG Xiao-li, WU Ye-lan