仓库管理系统典型数据库.docx
- 文档编号:5466257
- 上传时间:2022-12-16
- 格式:DOCX
- 页数:25
- 大小:26.62KB
仓库管理系统典型数据库.docx
《仓库管理系统典型数据库.docx》由会员分享,可在线阅读,更多相关《仓库管理系统典型数据库.docx(25页珍藏版)》请在冰豆网上搜索。
仓库管理系统典型数据库
河南城建学院
《典型数据库》课程设计报告
课程名称:
《典型数据库》课程设计
设计题目:
仓库管理系统
指导教师:
班级:
学号:
学生姓名:
同组人员:
成绩:
评语:
计算机科学与工程学院
2016年1月10日
第1章概述2
1.1选题的背景与意义2
1.2相关技术分析3
第2章系统功能设计4
2.1系统总体结构设计图4
2.2系统功能模块4
1.2.1登录模块4
1.2.2基本信息管理模块5
1.2.3货物信息管理模块5
1.2.4仓库货物管理模块6
1.2.5查询信息信息模块6
1.2.6仓库警报功能模块7
1.2.7信息导出功能模块7
第3章数据库设计8
3.1需求分析8
3.1.1数据流程图8
3.1.2数据字典10
3.2数据库概念结构设计12
3.2.1E-R图设计方法12
3.2.2全局E-R图12
3.2.3局部E-R图13
3.3数据库逻辑结构设计15
3.4安全性和完整性设计17
第4章数据库维护与查询18
4.1序列18
4.2触发器18
第5章UI设计与代码实现20
5.1UI设计20
5.1.1仓库管理员20
5.1.2系统管理员22
5.2代码实现24
5.2.1仓库管理员24
5.3.2系统管理员28
第6章结束语31
参考文献33
第1章概述
1.1选题的背景与意义
1、背景:
随着信息技术的发展和国内外互联网技术应用水平的逐步提高,在企业管理过程中,传统的工作方式和管理模式已经难以满足现代社会的必然需求,实现企业现代化综合管理已经是提高国家政府机关和企事业单位各部门工作效率、规范化管理的必然发展趋势。
随着经济全球化、信息网络化和物流现代化进程的全面推进,仓储供需量呈现爆炸式的增长,传统的仓库管理模式和管理系统,已根本满足不了现代社会全面信息化的严峻挑战,如何加强以信息化为指导的现代仓库管理技术已成为物流现代化走向成功的有效途径,如何将互联网技术和仓储物流的信息化技术紧密结合起来,开发出适应当前社会发展需要的、先进的现代化物流仓储管理技术平台,是现代化物流发展技术中一项基础的、又是很关键的、特别值得研究的子课题。
ASP技术是面向对象编程的技术,可实现复杂数据库的操作;用ASP开发的Web应用程序安装在网络服务器上,运行在网络服务器上,因而ASP源程序的隐密安全系数性高;而ASP又是基于B/S模型架构的、开放式的Web服务器的应用程序开发技术,因此,采用ASP技术开发运行在服务器端的仓库管理信息系统平台是众多软件设计与开发人士的首要选择。
本文比较全面地阐述了与ASP、ADO、B/S模式有关的理论技术,为构建Web仓库管理信息系统提供了必要的理论支持。
首先分析了ASP技术的优势、特点及其工作原理,剖析了ASP工作的核心内涵,搭建了ASP技术的工作环境,为开发系统功能提供的必需的技术运行环境;分析了目前Web数据库最佳访问组件ADO技术的对象与数据集之间的关系,直接搭建了Web应用程序与数据库访问的联系梁;根据现代仓储市场的需求特点,对拟开发系统的功能进行了细致地分析与设计,建立了仓储数据管理的E-R模型图、数据库结构,分析了B/S架构模式的三层框架,构建了以该框架为模型的仓库管理信息系统,重点分析介绍了有关功能模块的ASP实现过程,成功地实现了基于ASP运行环境的仓库管理信息系统的开发与设计;并对本系统的各项功能进行了测试与分析,发现系统运行状态良好,人机交互友好,程序设计实现合理,达到了项目设计的目的和要求。
最后,对本次的项目设计进行了总结与展望,发现了系统的构架模式关系着程序开发效率,对开发系统有着重要的影响意义,好马配好鞍,优秀的软件必然有优秀的构架。
作为软件开发设计人员既要努力学好软件技术又要重视相关模式的学习,这样,就能达到事半功倍的效果,设计开发出更加优秀的应用系统来。
2、意义
仓库管理系统是典型的信息管理系统(MIS),其开发主要包括后台数据库的建立和维护,以及前端应用程序的开发两个方面。
对于前者要求建立起数据一致性和完整性强、数据安全性好的库,而对于后者则要求应用程序功能完备、易使用等特点。
经过分析,我们使用Microsoft公司的数据库开发工具SQLServer2008和MicrosoftVisualStudio2010,利用其提供的各种面向对象的开发工具和数据库的结合比较方便,我们开发了这套库存管理系统,包括仓库管理、入库管理、出库管理、库存管理以及查询等模块。
仓库管理可用于配置企业的仓库信息;出库、入库管理可以使管理人员管理各种类型的货物进出;库存管理可提供便捷的库存查询管理。
仓库管理系统实现了企业对货物的管理,用来控制存储货物的数量,以保证稳定的货物支持正常的运转,但又最小限度地占用资本。
它是一种相关的、动态的及真实的库存控制系统。
它能够结合、满足相关部门的需求,随时间变化动态地调整库存,精确地反映库存现状,加强库存环节管理,有效地控制货物收发,降低了库存,优化了库存结构;能够及时了解货物状态,全方位的仓库管理可以及时了解货物分布,避免了货物短缺、积压、过期变质,及时了解货物的收发成本,货物数据共享。
1.2相关技术分析
此系统采用了成熟且完善的oracle11g及MicrosoftVisualStudio2010软件开发工具来进行后台数据库的管理、操作和维护。
该软件功能强大,可用性强,完全可以满足我们开发项目的要求。
第2章系统功能设计
2.1系统总体结构设计图
系统要具备如下功能:
登录界面统一,用户登录系统时进行身份验证,如不是系统用户则禁止登录;添加新员工时,通过系统管理员进行添加,并能采集员工的基本信息;仓库货品信息的管理,系统包括仓库管理、入库、出库和一些统计查询等几部分组成。
仓库管理系统实现对货品信息的管理和总体的统计等,仓库信息,供货单位和操作员信息的查看及维护。
仓库管理人员可以浏览、查询、添加、删除等产品的基本信息。
图2.1系统功能图
2.2系统功能模块
1.2.1登录模块
登录模块可以分为系统管理员登录和管理员登录。
如果用户要进行登陆时,系统会进去数据库进行帐号密码匹配,同时也要进行权限匹配,如果匹配成功才可以登录。
根据其选择的用户不同,输入不同的用户与密码,接入不同的用户界面,管理不同的界面。
1.2.2基本信息管理模块
基本信息模块分为仓库基本信息,操作员基本信息,客户基本信息,仓库基本信息又分为管理员管理,提货员管理,采购员管理。
1.2.3货物信息管理模块
货物信息管理模块分为添加货物信息,修改货物信息,删除货物信息。
1.2.4仓库货物管理模块
仓库货物管理模块分为入库操作和出库操作。
1.2.5查询信息信息模块
查询信息管理模块分为查询货物信息,查询仓库信息,查询客户信息。
1.2.6仓库警报功能模块
仓库警报功能模块在货物不足时提示。
1.2.7信息导出功能模块
信息导出功能模块分为导出货物信息,导出入库信息,导出出库信息。
第3章数据库设计
3.1需求分析
3.1.1数据流程图
3.1.2数据字典
(1)仓库表
字段名称
数据类型
描述
Sno
int
仓库编号,主键
Sname
varchar2(10)
仓库名称
Sadress
varchar2(50)
仓库地址
Sbig
number
仓库大小
Ano
varchar2(10)
管理员编号外键
(2)入库表
字段名称
数据类型
描述
Gno
Int
货物编号外键
Bno
int
采购员编号外键
Sno
Int
仓库编号外键
Idate
Date
采购日期
Inum
Int
采购数量
Ano
varchar2(10)
管理员编号外键
(3)出库表
字段名称
数据类型
描述
Gno
Int
货物编号外键
Pno
int
提货员编号外键
Sno
int
仓库编号外键
Ano
varchar2(10)
管理员编号外键
Odate
date
采购日期
Onum
Int
采购数量
(4)客户表
字段名称
数据类型
描述
Cno
Int
客户号,主键
Cname
Varchar2(10)
客户名
Ctype
Varchar2(10)
客户类型
Cmethod
Varchar2(11)
联系地址
Ccode
Varchar2(7)
邮政编号
Cbz
Varchar2(50)
备注
Pno
int
提货员编号外键
(5)库存表
字段名称
数据类型
描述
Gno
Int
货物编号外键
Sno
int
仓库编号外键
Knum
Int
货物数量
Kdate
date
清点时间
(6)提货员表
字段名称
数据类型
描述
Pno
Int
提货员编号,主键
Pname
Varchar2(11)
提货员姓名
Psex
varchar2(3)
提货员性别
Pmethod
varchar2(11)
提货员联系方式
Paddress
varchar2(50)
提货员联系地址
(7)用户表
字段名称
数据类型
描述
Uname
Varchar2(10)
用户名
Upass
Varchar2(10)
密码
Ugrade
Int
权限
(8)管理员表
字段名称
数据类型
描述
Ano
Varchar2(10)
管理员编号,主键
Aname
Varchar2(10)
管理员姓名
Asex
Varchar2(3)
管理员性别
Amethod
varchar2(11)
管理员联系方式
Aaddress
varchar2(50)
管理员地址
(9)货物表
字段名称
数据类型
描述
Gno
int
货物编号主键
Gname
varchar2(10)
货物名称
Sno
nchar(10)
仓库编号
Gdate
date
生产日期
Gfactory
varchar2(10)
生产厂家
Pno
nchar(10)
采购员编号
Gprice
number(7,2)
货物单价
Idate
date
入库时间
(10)采购员表
字段名称
数据类型
描述
Bno
Int
提货员编号,主键
Bname
varchar2(10)
提货员姓名
Bsex
varchar2(3)
提货员性别
Bmethod
varchar2(11)
提货员联系方式
Baddress
varchar2(50)
提货员联系地址
3.2数据库概念结构设计
3.2.1E-R图设计方法
1).属性必须是不可分的数据项。
2).属性不能与其他实体具有联系,联系只能发生在实体之间。
3.2.2全局E-R图
3.2.3局部E-R图
3.1、仓库-货物-采购员
图3.1仓库-货物-采购员
3.2、仓库-货物-提货员
图3.2仓库-货物-提货员
3.3、仓库-货物(存储情况)
图3.3仓库-货物(存储情况)
3.4、客户-提货员
图3.4客户-提货员
3.5、系统管理员-采购员
图3.5管理员-采购员
3.6、管理员-仓库
图3.6管理员-仓库
3.7、系统管理员-提货员
图3.7系统管理员-提货员
3.3数据库逻辑结构设计
1、仓库-货物-采购员(入库)(M-N)
Tb_Storage(Sno,Sname,Sadress,Sbig,Ano);
Tb_Good(Gno,Gname,Gdate,Gfactory,Gprice,Idate)
Tb_InStorage(Gno,Sno,Idate,Inum,Bno);
2、仓库-货物-提货员(出库)(M-N)
Tb_Storage(Sno,Sname,Sadress,Sbig,Ano);
Tb_Good(Gno,Gname,Gdate,Gfactory,Gprice,Idate)
Tb_OutStorage(Gno,Sno,Odate,Onum,Pno);
3、仓库-货物(存储情况)(M-N)
Tb_Storage(Sno,Sname,Sadress,Sbig,Ano);
Tb_Good(Gno,Gname,Gdate,Gfactory,Gprice,Idate)
Tb_Kc(Gno,Sno,Knum,Kdate);
4、客户-提货员(N-M)
Tb_Client(Cno,Cname,Ctype,Cmethod,Ccode,Cphone,Cbz,Pno);
Tb_Picker(Pno,Pname,Psex,Pmethod,Paddress);
5、管理员-仓库(1-N)
Tb_Admin(Ano,Aname,Asex,Amethod,Aaddress);
Tb_Storage(Sno,Sname,Sadress,Sbig,Ano);
◆仓库
//Tb_Storage(Sno,Sname,Sadress,Sbig,Ano);
◆入库
Tb_InStorage(Gno,Sno,Idate,Inum,Bno);
◆出库
Tb_OutStorage(Gno,Sno,Odate,Onum,Pno);
◆客户
//Tb_Client(Cno,Cname,Ctype,Cmethod,Ccode,Cphone,Cbz,Pno);
◆库存
Tb_Kc(Gno,Sno,Knum,Kdate);
◆提货员
//Tb_Picker(Pno,Pname,Psex,Pmethod,Paddress);
◆用户
//Tb_User(Uname,Upass,Ugrade);
◆管理员
//Tb_Admin(Ano,Aname,Asex,Amethod,Aaddress);
◆货物
//Tb_Good(Gno,Gname,Gdate,Gfactory,Gprice,Idate)
◆采购员
//Tb_Buyer(Bno,Bname,Bsex,Bmethod,Badress);
3.4安全性和完整性设计
1.外键约束:
管理员表中作为主键的管理员编号在仓库表中作为外键使用:
constraintgly_keyforeignkey(Ano)referencesTb_Admin(Ano)
提货员表中作为主键的提货员编号在客户表中作为外键使用:
constraintthy_keyforeignkey(Pno)referencesTb_Picker(Pno)
货物表中作为主键的货物编号在库存表中作为外键使用:
constrainthw_keyforeignkey(Gno)referencesTb_Good(Gno)
仓库表中作为主键的的仓库编号在库存表中作为外键使用:
constraintck_keyforeignkey(Sno)referencesTb_Storage(Sno)
货物编号,仓库编号,提货员编号,管理员编号在出库表中作为外键使用:
constrainthw1_keyforeignkey(Gno)referencesTb_Good(Gno)
constraintck1_keyforeignkey(Sno)referencesTb_Storage(Sno)
constraintthy1_keyforeignkey(Pno)referencesTb_Picker(Pno)
constraintgly1_keyforeignkey(Ano)referencesTb_Admin(Ano)
货物编号,仓库编号,采货员编号,管理员编号在出库表中作为外键使用:
constrainthw1_keyforeignkey(Gno)referencesTb_Good(Gno)
constraintck1_keyforeignkey(Sno)referencesTb_Storage(Sno)
constraintcgy2_keyforeignkey(Bno)referencesTb_Buyer(Bno)
constraintgly1_keyforeignkey(Ano)referencesTb_Admin(Ano)
2.check约束
check约束:
Bsexvarchar2(3)check(Bsexin('男','女')),
Psexvarchar2(3)check(Psexin('男','女')),
3.primarykey约束
管理员表:
Anovarchar2(10)primarykey,
仓库表:
Snointprimarykey,
采购员表:
Bnointprimarykey,
提货员表:
Pnointprimarykey,
货物表:
Gnointprimarykey,
客户表:
Cnointprimarykey,
第4章数据库维护与查询
4.1序列
1.提货员序列
createsequencePicker_seq
startwith1001
incrementby1
2.采购员序列
createsequenceBuyer_seq
startwith2001
incrementby1;
3.货物序列
createsequenceGood_seq
startwith3001
incrementby1;
4.仓库序列
createsequenceStorage_seq
startwith4001
incrementby1
5.客户序列
createsequenceClient_seq
startwith5001
incrementby1;
4.2触发器
1.提货员触发器
createorreplacetriggeradd_Picker_trigger
beforeinsert
onTB_Picker
foreachrow
begin
if:
new.Pnoisnullthen
selectPicker_seq.nextvalinto:
new.Pnofromdual;
endif;
endadd_Picker_trigger;
2.采购员触发器
createorreplacetriggeradd_Buyer_trigger
beforeinsert
onTB_Buyer
foreachrow
begin
if:
new.Bnoisnullthen
selectBuyer_seq.nextvalinto:
new.Bnofromdual;
endif;
endadd_Buyer_trigger;
3.货物触发器
createorreplacetriggeradd_Good_trigger
beforeinsert
onTB_Good
foreachrow
begin
if:
new.Gnoisnullthen
selectGood_seq.nextvalinto:
new.Gnofromdual;
endif;
endadd_Good_trigger;
4.仓库触发器
createorreplacetriggeradd_Storage_trigger
beforeinsert
onTB_Storage
foreachrow
begin
if:
new.Snoisnullthen
selectStorage_seq.nextvalinto:
new.Snofromdual;
endif;
endadd_Storage_trigger;
5.客户触发器
createorreplacetriggeradd_Client_trigger
beforeinsert
onTB_Client
foreachrow
begin
if:
new.Cnoisnullthen
selectClient_seq.nextvalinto:
new.Cnofromdual;
endif;
endadd_Client_trigger;
第5章UI设计与代码实现
5.1UI设计
5.1.1仓库管理员
1.登录界面设计
登录模块可以分为系统管理员登录和管理员登录。
如果用户要进行登陆时,系统会进去数据库进行帐号密码匹配,同时也要进行权限匹配,如果匹配成功才可以登录。
根据其选择的用户不同,输入不同的用户与密码,接入不同的用户界面,管理不同的界面。
2.基本信息模块设计
基本信息模块包含仓库基本信息,客户基本信息,操作员基本信息。
仓库基本信息设置有修改和删除的功能。
客户基本信息设置了添加,删除和修改的功能。
操作员基本信息设置了修改功能。
因为客户信息为常变实体属性,因此设置了添加,修改和删除的功能。
仓库信息为不常变实体属性,因此设置了修改和删除属性。
操作员因为是管理员,不能修改同一等级权限的信息,因此只给添加了修改基本信息的功能。
3.货物信息模块设计
货物信息模块包含对货物信息的添加,货物信息的删除,货物信息的修改对应现实世界的引进新货物,货物信息的更新和清仓处理。
4.出库入库模块设计
出库入库模块包含了货物出库和入库模块。
对于入库信息来说,当系统开始入库时,先判断货物是否存在,如果不存在的话这直接将货物信息插入库存表,然后在入库表中插入记录,提示入库成功。
如果货物存在的话则看对应的仓库是否存在如果存在的话则在原来的货物基础上只更新货物数量提示入库成功,如果仓库不匹配的话则插入该货物信息,然后在入库表中插入记录,提示入库成功。
出库信息,当系统开始出库时,先判断货物是否存在如果存在的话则看需要出货的仓库是否存在,如果存在的话再看货物数量是否满足出货数,如果满足则出库成功同时对库存表和出库表进行更新,提示出库成功,否则则出库失败。
5.信息查询模块设计
信息查询模块包含货物信息查询,仓库信息查询,客户信息查询。
通过对客户表,仓库表和货物表的主键进行匹配唯一的确定一行数据返回GridView进行显示。
6.警报信息模块设计
警报信息功能,是当库存中货物数量少于10的时候自动提醒管理员要进行及时的补货,以免货物短缺,造成损失。
7.信息导出模块设计
信息导出模块包含了导出货物信息,导出出库信息,导出入库信息功能,方便仓库人员进行报表打印和仓库流水信息。
5.1.2系统管理员
1.管理员信息模块设计
管理员信息模块包含对管理员的添加修改和删除的功能,因为仓库管理系统由管理员进行管理,因此当添加管理员信息时,在给管理员表添加基本信息的同时也给用户表中添加了信息,帐号为管理员编号,密码默认为1
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 仓库 管理 系统 典型 数据库
![提示](https://static.bdocx.com/images/bang_tan.gif)