《仓库管理系统》课程设计报告题目:仓库管理系统专业:网络工程班级:姓名:指导教师:成绩:计算机学院2017年12月8日目录1设计内容及要求 (1)1.1设计内容 (1)1.2设计要求 (1)2概要设计 (2)2.1课程设计选题背景 (2)2.2系统功能简介 (2)3概念结构设计工具(E-R模型) (3)3.1数据流图 (3)3.2基本数据项及数据结构 (4)3.3总体E-R图 (5)3.3 系统结构设计 (7)4逻辑结构设计 (8)4.1关系数据模式 (8)4.2视图的设计 (8)5.数据库物理设计与实现 (10)5.1数据库应用的硬件、软件环境介绍 (10)5.2 物理结构设计 (10)5.3 索引的设计 (12)5.4 相关SQL语句 (13)6 数据操作要求及实现 (18)6.1数据查询操作 (18)6.2数据更新操作 (18)6.3数据维护操作 (19)总结 (20)参考文献 (21)1设计内容及要求1.1设计内容《仓库管理系统》该系统主要分为四大功能:管理员功能、信息安全功能、一般用户功能、报表生成。
管理员功能:产品入库登记、确认入库信息、删除库内信息、借出信息登记、产品分类管理、添加人员、删除人员、查询库内信息;信息安全功能:人员权限区分、事件记录、数据警告、计划备份、即时备份、数据恢复;一般用户功能:查询库内信息、查询出库信息、查询入库信息、修改本用户密码;报表生成:库存信息报表生成。
1.2设计要求根据用户需求,该系统应该实现以下功能:进出库管理:对进出库信息进行记录。
查询功能:仓库管理对查询要求高,通过主菜单记录当前操作用户的用户编号,保证了对进、出库信息录入负责人的确认。
部门资料管理与库存报表生成:资料管理包括了人员信息管理,财政支出信息管理,以及各项业务单据的资料管理。
报表主要分类为:日报表,月报表,销售报表,入库报表等等。
由于计算机能存贮大量的数据,而且数据只要一次存入,便可多次重复使用,所以管理数据达到完整,统一,原始记录能保证及时,准确。
许多重复性的工作,都可由计算机去执行,从而使管理人员从事务性工作解脱出来,真正变为从事一些信息的分析,判断,决策等创造性的工作。
2概要设计2.1课程设计选题背景随着我国经济的飞速发展,各种类型规模的公司企业迅速崛起,许多从事生产和经营管理的企业都有自己生产和销售的产品,而这些产品都需要储存在仓库中,对于每个企业来说,随着企业规模的不断大,产品数量的急剧增加,所生产产品的种类也会不断地更新与发展,有关产品的各种信息量也会成倍增长。
面对庞大的产品信息量,如何有效地管理仓库产品,对这些企业来说是非常重要的,仓库管理的重点是销售信息能否及时反馈,从而确保企业运行效益。
而仓库管理又涉及入库、出库的产品、经办人员及客户等方方面面的因素,如何管理这些信息数据,是一项复杂的系统工程,充分考验着仓库管理员的工作能力,工作量的繁重是可想而知的,所以这就需要由仓库管理系统来提高仓库管理工作的效率,这对信息的规范管理、科学统计和快速查询,减少管理方面的工作量,同时对于调动广大员工的工作积极性,提高企业的生产效率,都具有十分重要的现实意义。
现在国内外对此类系统的开发与研究也是很有实用性的,基本上能满足各企业的自身特点,来进行仓库方面的管理,同时,改类系统又都在不断地深入与发展,来适用更多的企业,一般都能运用于各个企业的仓库管理,但是都没有针对大众的广泛应用,只能运用某个企业或单位,这一点还有待于今后的进一步开发与实践。
2.2系统功能简介建立简明准确的表示模型是把握复杂系统的关键。
模型是对事物的一种抽象,人们常常在正式建造实物之前,首先建立一个简化的模型,以便更透彻地了解它的本质。
使用模型可使人们从全局把握系统的全貌及其相关部件之间的关系,可以防止人们过早的陷入各个模块的细节。
因此,建模是毕业论文选题系统数据库设计的重要部分。
而统一建模语言UML是第三代用来为面向对象开发系统的产品进行说明、可视化和编制文档的标准表示,是目前最好的建模工具。
下面就用UML 对本系统进行建模。
3概念结构设计工具(E-R模型)建立简明准确的表示模型是把握复杂系统的关键。
模型是对事物的一种抽象,人们常常在正式建造实物之前,首先建立一个简化的模型,以便更透彻地了解它的本质。
使用模型可使人们从全局把握系统的全貌及其相关部件之间的关系,可以防止人们过早的陷入各个模块的细节。
因此,建模是毕业论文选题系统数据库设计的重要部分。
而统一建模语言UML是第三代用来为面向对象开发系统的产品进行说明、可视化和编制文档的标准表示,是目前最好的建模工具。
下面就用UML 对本系统进行建模。
3.1数据流图当信息在软件中流动时,它将被一系列“变换”所修改。
数据流图(Data FlowDiagram):简称 DFD,它从数据传递和加工角度,以图形方式来表达系统的逻辑功能、数据在系统内部的逻辑流向和逻辑变换过程,是结构化系统分析方法的主要表达工具及用于表示软件模型的一种图示方法。
根据毕业论文选题事务,容易得出系统的顶层数据流图如图2.1所示,跟进子系统数据流图如图2.2所示。
图 3.1.1 系统的顶层数据流图入库信息表货物入库信息管理管理员货物出库信息管理出库信息表货物库存信息管理管理员供应商库存信息表入库信息出库信息入、出库信息库存信息订货报单图 3.1.2 系统详细数据流图3.2基本数据项及数据结构零部件信息。
包括的数据项有零件号、零件名称、规格、单价、描述。
仓库信息。
包括的数据项有仓库号、已用库存、库存总量、负责人、电话号码。
供应商信息。
包括的数据项有编号、供应商、电话号码、地址。
部门信息。
包括的数据项有部门号、名称、电话。
数据项名称别名简述类型长度取值范围零件号- 零件的编号字符型7 第1位:进口/国产(I/D)第2-4位:类别第5-7位:物资编号零件名称- 零件的名称字符型20 -规格- 零件规格字符型10单价- 零件的单位价格货币型 6 默认计量单位:元描述- 零件描述/说明文本型- -仓库号- 仓库的编号字符型 3 -已用库存- 仓库已用存储容量数值型 6 >0:仓库非空=0:空仓库<0:不允许库存总量- 仓库总存储容量数值型 6 >0:物资存量=0:空仓库<0:不允许负责人- 仓库负责人字符型20 -供应商编号- 供应商编号字符型 3 - 供应商- 供应商名称字符型20 -地址- 供应商联系地址文本- - 部门号- 公司部门编号字符型 3 - 部门名- 公司部门名称字符型20 -电话- 电话号码字符型15 -3.3总体E-R图1 现有库存信息:仓库号、零件号、最小库存、最大库存。
图3.3.1 实体E-R图2 零件入库:编号、零件号、供应商、经手人、入库数量、入库时间。
图3.3.2入库实体E-R图3 零件出库:编号、零件号、出库数量、使用人、领取人、出库时间。
图3.3.3出库实体E-R图4 零件需求:零件号、部门号、需求数量、需求时间。
图3.3.4 部门需求实体E-R图图3.3.5 实体和实体之间的关系图图3.3.6 仓库管理系统总E-R图3.3 系统结构设计系统功能结构图主要从功能的角度描述了系统的结构。
根据设计原则、设计目标和详细的调研,主要针对仓库的进出货物情况而开发的一个具有综合管理功能的信息系统。
仓库管理系统主要完成对仓库进出货物信息的处理工作。
该系统可以完成系统管理、仓库管理、备份恢复等全过程。
系统功能模块结构如图3-7所示。
4逻辑结构设计4.1关系数据模式在关系数据库系统中,数据库的逻辑设计就是根据概念模型设计的E-R图,按照E-R图到关系数据模型的转换规则,将E-R图转换成关系模型的过程,即将所有的实体和联系转化为一系列的关系模式的过程。
E-R图向关系模型的转换要解决的问题是,如何将实体和实体间的联系转换为关系模式,以及确定这些关系模式的属性和键。
根据E-R图向关系数据模型转换的相关规则,将图3.8所示E-R图转换为关系数据模型,得到毕业设计选题系统的关键模式如下:登录用户(登录ID,登录密码)为登录用户对应的关系模式,其中登录ID 是登录用户关系的主键。
零件设备(零件ID,零件名称,规格,单价)为零件设备对应的关系模式,其中零件ID为关系的主键。
仓库(仓库ID,已用库存,库存总量,负责人,电话)为仓库对应的关系模式,其中仓库ID为关系的主键。
供应商(供应商ID,电话,地址)为供应商对应的关系模式,其中供应商ID为关系的主键。
部门(部门ID,电话,名称)为部门对应的关系模式,其中部门ID为关系的主键。
入库(编号ID,仓库号,供应商号,零件号,入库数量,经手人,入库时间)为入库对应的关系模式,其中编号ID为关系的主键。
出库(编号ID,仓库号,零件号,出库数量,使用者,经手人,领取人,出库时间)为出库的关系模式,其中编号ID为关系的主键。
4.2视图的设计数据库中的视图是常用的数据对象,它用于定义数据库中某类用户的的外模式。
通过创建视图,可以限制不同的用户查看不同的信息,屏蔽用户不关心的或者不应该看到的信息。
视图是从一个或者多个基本表中导出的表,它与基本表不同,视图是一个虚表,其数据不单独保存在一个基本文件中,仍然保存在导出视图的基本表文件中,数据库系统中只保存视图的定义。
视图一经定义,就和基本表一样,也是关系。
可以进行基本的操作如查询、删除等。
下面我用SQL语句建立视图。
1 创建入库视图,方便管理员查看入库货物的信息。
SELECT * FROM stockint2创建出库视图,方便管理员查看出库货物信息。
5.数据库物理设计与实现5.1数据库应用的硬件、软件环境介绍(1) 操作系统:Windows XP(2) 数据库系统:SQL Server 2005(3) 开发平台:Visual Studio 20085.2 物理结构设计根据系统逻辑关系设计出本系统的数据库逻辑结构如下:1 仓库表仓库表包括仓库ID、已用库存,库存总量、负责人、电话号码。
其表结构如表5-1所示。
2 零件表零件表包括零件号、名称、规格、单价、计量单位、描述。
如表5-2所示3 部门表部门表主要存储负责仓库的各部门的信息,主要包括部门ID、名称、电话,其表结构如表5-3所示。
4 库存表库存表主要包括仓库号、零件号、现有库存、最小库存、最大库存。
表结构如表5-4所示。
5 入库表入库表主要包括编号、仓库号、供应商号、零件号、入库数量、经手人、入库时间。
其表结构如5-5所示。
6 出库表出库表主要包括编号、仓库号、零件号、出库数量、使用者、经手人、领取人、出库时间。
其表结构如表5-6所示。
5.3 索引的设计5.4 相关SQL语句1. 创建数据库Create database 仓库管理系统GoUse仓库管理系统Go2.创建数据表(含主键、外键定义及约束性条件设计)create table 供应商表(SID varchar(8) primary key,Sname Varchar(20) not null,Scon varchar(6) not null,Sdr Varchar(30),Stele varchar(15) check(Stele like'[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]') )create table 仓库管理员表(MID varchar(8) primary key,Mname varchar(8) not null)create table 仓库表(WID varchar(8) primary key,WName varchar(20) not null,Wsq varchar(6),MID varchar(8)not null,foreign key (MID) references 仓库管理员表(MID) )create table 客户表(CID varchar(8) primary key,Cname varchar(8) not null,Csex varchar(6),Ctele varchar(15)check(Ctelelike'[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]') )create table 货物表(GID varchar(8) primary key,Gname varchar(20) not null,Gnum varchar(8) check(Gnum>=1),Gprice varchar(8),CID varchar(8) not null,foreign key (CID) references 客户表(CID))create table 供应表(GID varchar(8) not null,SID varchar(8) not null,primary key(GID,SID),foreign key (GID) references 货物表(GID),foreign key (SID) references 供应商表(SID))create table 存储表(GID varchar(8) not null,WID varchar(8) not null,primary key(GID,WID),foreign key (GID) references 货物表(GID),foreign key (WID) references 仓库表(WID))3.插入数据insert into 供应商表 values('S1','服装供应商','Jack',null,'12223333')insert into 供应商表 values('S2','食品供应商','James',null,'33332222')insert into 供应商表 values('S3','摩托车供应商','Jerry',null,'44443333')insert into 供应商表 values('S4','盆栽供应商','Tom',null,'55553332')insert into 供应商表 values('S5','图书供应商','Mary',null,'53097652')insert into 仓库管理员表 values('M1','Mike')insert into 仓库管理员表 values('M2','Harris') insert into 仓库管理员表 values('M3','Steven') insert into 仓库管理员表 values('M4','Jeremy')insert into 仓库管理员表 values('M5','Jackson')insert into 仓库表 values('W1','一号仓库','100','M1')insert into 仓库表 values('W2','二号仓库','100','M2')insert into 仓库表 values('W3','三号仓库','100','M3')insert into 仓库表 values('W4','四号仓库','100','M4')insert into 仓库表 values('W5','五号仓库','100','M5')insert into 客户表 values('C1','John','男','11112222') insert into 客户表 values('C2','Johnson','男','33332222') insert into 客户表 values('C3','Stella','女','22223332') insert into 客户表 values('C4','Byran','男','93847301') insert into 客户表 values('C5','Eric','男','98762234')insert into 货物表 values('G1','衣服','500','300','C1') insert into 货物表 values('G2','食物','300','35','C2') insert into 货物表 values('G3','摩托车','200','3000','C3') insert into 货物表 values('G4','植物','700','200','C4') insert into 货物表 values('G5','图书','5000','150','C5')insert into 供应表 values('G1','S1')insert into 供应表 values('G2','S2')insert into 供应表 values('G3','S3')insert into 供应表 values('G4','S4')insert into 供应表 values('G5','S5')insert into 存储表 values('G1','W1')insert into 存储表 values('G2','W2')insert into 存储表 values('G3','W3')insert into 存储表 values('G4','W4')insert into 存储表 values('G5','W5')4.创建视图(含单表和多表查询)create view V1ASselect GID,GName,CName from 客户表 join 货物表 on 客户表.CID=货物表.CIDcreate view V2ASselect Gname from 货物表5.创建触发器或存储过程create procedure chufaqi ASselect * from 供应商表6 数据操作要求及实现6.1数据查询操作数据查询是数据库的核心操作。