资源描述
仓储物资管理系统
1. 课程设计目标
应用对数据库系统概论理论学习,经过上机实践方法将理论知识和实践愈加好结合起来,巩固所学知识。
实践和巩固在课堂教学中学习相关数据库相关知识,熟练掌握对于给定结构数据库创建、基础操作、程序系统建立和调试和系统评价。
实践和巩固在课堂教学中学习相关关系数据库原理相关知识和数据库系统建立方法,熟练掌握对于给定实际问题,为了建立一个关系数据库货物管理系统,必需得经过系统调研、需求分析、概念设计、逻辑设计、物理设计、系统调试、维护和系统评价通常过程,为毕业设计打下基础。
2.设计方案论证
2.1问题提出
过去传统物资管理方法已经不能满足现代仓库物资管理客观要求,本课程设计就是利用SQL server数据库开发一个仓库物资管理系统,它为仓库管理人员提供供给商信息,物资信息,职员信息,用户信息等内容,方便仓库管理人员对物资管理,以提升仓库管理人员对物资管理工作效率。
2.2可行性研究
2.2.1技术可行性
此课程设计均是利用SQL server 企业版软件调试出来,所以只要操作系统在windowsXP之上全部能够实现SQL server 运行,此次所用操作系统是:WindowsXP,内存:2G,CPU:2.10GHZ,硬盘:250G,所以技术上是可行。
2.2.2运行可行性
伴随社会发展,基础上全部含有一定数量数据仓库全部开始使用计算机数据库来做管理。当然几乎全部仓库也全部已经在使用计算机管理数据机制,大大降低了仓储物资管理工作量。该课程设计要求设计一个仓库物资管理数据库系统,数据库中要求包含物资基础信息,职员信息,货物供给商信息。同时还要设计它们之间关系,最终还要对部分数据进行查询,如查询物资多种相关信息等。我们经过该课程设计,应该达成目标是把数据库理论知识愈加巩固加深,加强动手能力和实践能力,学以致用,和现实生活中应用充足结合起来。仓库物资管理系统关键针对于日常物资信息管理,它针对货物日常发生业务,分为了两大类,即货物提供商和货物销售商和入库和出库信息,用户经过对应模块,对货物基础情况进行操作,对货物库存数量进行查询,用户经过简单操作即可轻松管理物资。
2.3需求分析
2.3.1需求分析
要求本系统能够投入实际使用而且满足基础功效要求。要求含有较高可靠性、安全性和易维护性,含有较高可移植性。
本系统实现了以下功效:
基础信息模块:包含商品信息、职员信息、用户信息、供给商信息四个子模块
(1)仓库管理模块:仓库编号、仓库名称、仓库责任人。
(2)供给商管理模块:包含供给商个人(企业)信息、供给商供给货物信息查询两个子模块。
(3)用户管理模块:包含用户个人(企业)信息、订货信息查询两个子模块。
(4)职员管理模块:包含职员个人信息查询、职员薪资查询、职员值勤查询三个子模块。
(5)物资信息模块:商品信息查询、入库登记查询、出库登记查询、退货查询、库存查询五个个子模块。
(6)报表管理:财务报表查询、报表打印两个子模块。
(7)系统维护模块:包含数据安全管理、操作员管理、权限设置三个模块
2.3.2数据字典
(1)数据项名称:供给商代码
含义说明:惟一标识一个供给商
类型:字符型
长度:10
逻辑关系:不许可为空
(2)数据项名称:商品代码
类型:字符型
长度:16
逻辑关系:不许可为空
(3)数据项名称:供给数量
类型:数值型
(4)数据项名称:供给时间
类型:时间型
(5)数据项名称:商品代码
含义说明:惟一标识一个商品
类型:字符型
长度:6
逻辑关系:不许可为空
(6)数据项名称:商品名称
类型:字符型
长度:8
逻辑关系:不许可为空
(7)数据项名称:商品种类代码
类型:字符型
长度:10
逻辑关系:不许可为空
(8)数据项名称:销售数量
类型:数值型
逻辑关系:不许可为空
(9)数据项名称:销售价
类型:数值型
(10)数据项名称:最低销售价
类型:数值型
(11)数据项名称:用户所使用时间
类型:时间型
(12)数据项名称:用户代码
含义说明:惟一标识一个用户
类型:字符型
长度:10
逻辑关系:不许可为空
(13)数据项名称:用户名称
类型:字符型
长度:16
逻辑关系:不许可为空
(14)数据项名称:用户联络
类型:字符型
长度:12
(15)数据项名称:用户联络电话
类型:字符型
长度:11
(16)数据项名称:用户所在城市
类型:字符型
长度:8
(17)数据项名称:销售总额
类型:数值
(18)数据项名称:商品种类说明
类型:字符型
长度:10
(19)数据项名称:职员编号
类型:字符型
长度:10
(20)数据项名称:职员姓名
类型:字符型
长度:12
(21)数据项名称:用户名
类型:字符型
长度:6
(22)数据项名称:密码
类型:字符型
长度:10
逻辑关系:不许可为空
(23)数据项名称:职务
类型:字符型
长度:10
(24)数据项名称:职员查询
类型:字符型
长度:4
(2)数据结构描述
①数据流名称:供给商信息
含义说明:说明了一个供给商相关信息
组成结构:提供产品资料,提供供给商个人(企业)资料,统计供给商品信息。
②数据流名称:职员信息
含义说明:说明一个职员信息
组成结构:统计入库、出库信息,统计退货信息,现金收支是指对进出帐目标统计统计。
数据流名称:仓库管理员信息
含义说明:说明仓库管理员信息
组成结构:管理员地址,电话,姓名。
2.4 概念结构设计
2.4.1概念结构设计方法
概念设计阶段采取自底向上方法,即自顶向下进行需求分析,然后再自底向上进行概念结构设计。对已经细化到无法再分阶段逐步集成在一起,最终合成一个全局概念模式。
2.4.2概念结构设计步骤
数据库设计是指对一个给定应用环境,结构数据库模式,建立数据库及其应用系统,满足多种用户需求。作为信息资源开发、管理和服务一个有效手段,数据库技术应用已越来越广泛,从小型单项事务处理系统到大型信息系统大全部用优异数据库技术来保持系统数据安全性、完整性和共享性。对一个实际系统来说,数据库表设计在遵照数据库理论同时,必需能用开发工具来实现用户在各方面提出功效要求。
2.4.3数据抽象和局部视图设计
在系统数据库设计中,先要对系统分析得到数据字典中数据存放进行分析,分析各数据存放之间关系,然后才能得出系统关系模式。能够采取E-R图方法来进行数据结构分析,E-R设计方法是一个经过E-R图来描述现实世界信息结构DB设计方法。E-R图由实体、属性、联络三部分组成。
用户名
仓库责任人
密码
图1. 仓库责任人E-R图
用户名
仓库责任人
供给商编号
联络人
供给商所在城市
联络方法
图2. 供给商E-R图
姓名
职员
权限
密码
职位
用户名
职员编号
图3.职员E-R图
单价
职员
出库日期
入库数量
出库数量
销售职员编码
入库日期
商品编码
供给商编号
商品名称
图4. 商品销售清单E-R图
用户
联络方法
用户号
用户名称
联络人
用户所在城市
图5. 用户E-R图
商品
商品编号
进价
供给商
商品类代号
使用期
售价
供给商编号
商品名称
图6. 商品E-R图
供给
供给日期
商品编号
供给商编号
供给数量市
图7. 供给E-R图:
查询
商品编号
用户编号
销售日期
图8. 查询E-R图
仓库责任人
管理
供给商
管理
销售
供给
职员
用户
查询
商品
图9. 整体E-R图
2.5逻辑结构设计
2.5.1 E-R图向关系模型转换
(1)一个1:1联络可转换为一个独立关系模式,能够和任意一端对应关系模式合并;(2)一个1:n联络能够转换为独立关系模式,也能够和n端对应关系模式合并;
(3)一个m:n联络转换为一个关系模式。和该联络相连各实体码和联络本身属性均转换为关系属性,各实体码组成关系码或关系码一部分; 将实体转化为关系模式。依据图9所表示货物管理基础E-R图,将其中实体转化为以下关系,关系主码用下划线标出,外码用横线标出。由E-R图转换成关系模式:
(1)商品信息(商品编号,商品名称,商品类别代号,售价,进价,库存量,供给商,使用期) 外码:商品类别代号、 供给商
(2)职员信息(职员号,姓名,用户名,密码,职位,权限)
(3)用户信息(用户号,用户名称,联络人,联络方法,用户所在城市)
(3)供给商信息(供给商号,供给商名称,联络人,联络方法,供给商所在城市)
(4)供给信息(供给商编号,商品编号,供给日期,供给数量)
(5)查询信息(用户编号,商品编号,查询日期)
(6)商品销售信息(销售编码,出库日期,入库日期,商品编码,商品名称,单价,入库数量,出库数量,供给商编码,销售员编码) 外码:销售员编码、商品编码
2.5.2判定每个表分别属于第几范式
在上述关系模式中,每一个分量全部是不可分割数据项所以全部符合第一范式;而且前四个关系模式全部是单个属性作为码,没有任何非主属性对码部分函数依靠,在商品销售信息内虽由三个属性作为码,但也不存在非主性对码部分函数依靠,所以上全部符合第二范式;商品信息、商品类别索引、用户信息、供给商信息四个关系模式中全部不存在非主属性对码传输函数依靠,全部属于第三范式。
2.5.3数据库结构
表1.供给信息表
字段名称
类 型
长 度
是否主键
说 明
FirmCODE
vachar
10
是
供给代码
merchandiseCode
vachar
16
否
经销商代码
number
int
否
供给数量
FirmDate
datetime
否
供给数据
表2.商品信息表
字段名称
类 型
长 度
是否主键
说 明
merchandiseCode
varchar
6
是
商品编码
merchandiseName
varchar
8
否
商品名
MerKindeCode
varchar
10
否
商品种类代码
Price Money
int
否
销售价格
ListPrice Money
int
否
最低销售价
Number
int
否
销售数量
FirmCode
int
否
供给商代码
Userfulllife
datetime
否
用户使用时间
表3.用户信息表
字段名称
类 型
长 度
是否主键
说 明
GuestCODE
varchar
10
是
用户代码
GuestNAME
varchar
16
否
用户名称
GLINK
varchar
12
否
用户联络
GLinkTell
varchar
11
否
用户电话
CITY
varchar
8
否
用户所在城市
表4.商品销售主表
字段名称
类 型
长 度
是否主键
说 明
SaleNo
varchar
4
是
销售编号
WorkNo
varchar
10
否
工作编号
SaleDate
dtetime
否
销售时间
Amount
mney
否
销售
表5.商品销售子表
字段名称
类 型
长 度
是否主键
说 明
SaleNo
int
是
销售代码
merchandiseCode
varchar
6
否
商品代码
merchandiseName
varchar
32
否
商品名称
Price
money
否
销售价格
number
int
否
销售数量
Amount
money
否
销售总额
表6.商品索引信息表
字段名称
类 型
长 度
是否主键
说 明
MerKindeCode
char
10
是
商品种类代码
KindExplanation
varchar
10
否
种类说明
表7.查询信息表
字段名称
类 型
长 度
是否主键
说 明
GuestCODE
varchar
10
是
用户代码
merchandiseCode
varchar
16
否
商品代码
2.5.4创建基础表
(1)创建品信息表
create table MerInfor
(merchandiseCode VARCHAR (6) constraint M_PRIM PRIMARY KEY,
merchandiseName varchar(8) NOT NULL,
MerKindeCode varchar(10) ,
Price Money,
ListPrice Money,
Number Int,
FirmCode char(10),
Userfulllife Datetime )
(2)建用户信息表
create table GueInfor
(GuestCODE VARCHAR(10) NOT NULL,
GuestNAME VARCHAR(16) NOT NULL,
GLINK varchar(12),
GLinkTell VARCHAR(11),
CITY VARCHAR(8))
(3)建商品销售主表
create table sellMain
(SaleNo VARCHAR(4) NOT NULL,
WorkNo VARCHAR(10) NOT NULL,
SaleDate DateTime ,
Amount Money)
(4)商品销售子表
create table sellChild
(SaleNo int constraint SC_PRIM PRIMARY KEY,
merchandiseCode VARCHAR(6) NOT NULL,
merchandiseName VARCHAR (32) NOT NULL,
Price money,
number int,
Amount Money )
(5)商品类别索引信息
create table MerID
(MerKindeCode CHAR(10)constraint MI_PRI PRIMARY KEY,
KindExplanation VARCHAR(10) NOT NULL)
(6)创建职员表
create table WorkInfor
(WorkNo VARCHAR(10) NOT NULL,
WNAME VARCHAR(12),
UserRegName VARCHAR (6) NOT NULL,
Password VARCHAR(10) NOT NULL ,
Position VARCHAR(10),
WPower VARCHAR (4))
(7)创建供给信息表
create table FInfor
(FirmCODE VARCHAR(10) NOT NULL,
merchandiseCode VARCHAR(16) NOT NULL,
number int,
FirmDate DateTime)
(8)创建查询信息表
create table SearchInfor
(GuestCODE VARCHAR(10) NOT NULL,
merchandiseCode VARCHAR(16) NOT NULL,
SearchDate DateTime)
为商品信息表中merchandiseCode属性建立降序唯一索引merchandiseCode desc:
CREATE UNIQUE INDEX merchandiseCode-index ON MerInfor(merchandiseCode) desc
为用户信息表中GuestCODE属性建立唯一索引:
CREATE UNIQUE INDEX GuestCODE-index ON GueInfor(GuestCODE);
为销售主表中saleno属性建立降序唯一索引:
CREATE UNIQUE INDEX sellMain-index ON sellMain (saleno);
为商品销售子表中saleno属性建立降序唯一索引:
CREATE UNIQUE INDEX salechild-index ON salechild(saleno);
数据载入是一个很繁杂和关键过程需要很大工作量,可分为人工输入和其它格式数据文件导入。该系统只是一个简单试验系统,所以采取手工输入少许数据可满足试验要求即可。分别给供给商基础信息表,销售商基础信息表,仓库基础信息表,管理员基础信息表和货物基础信息表输入数据。下面若干个表分别显示了所要求表基础信息息录入。
图10.供给商表
图11.用户信息表
图12.商品销售主表
图13.商品销售子表
图14.职员表
图15.供给信息表
图16.查询信息表
2.5.5为系统创建视图
(1)为商品类别表“MerID”建立一个视图,该视图由商品类别表全部列组成
create view 商品类别(商品类别代码,类别说明)
as
select* from MerID
图17.MerID视图
(2)由用户信息表“GueInfor”建立一个视图,该视图由用户信息表全部列组成*/
create view 用户信息(用户编码,用户名称,联络人,联络电话,所在城市)
as
select* from GueInfor
图18.用户信息表视图
(3)查询信息表视图
图19. 查询信息表视图
(4)供给信息视图
图20. 供给信息视图
(5)商品销售主表视图
图21. 商品销售主表视图
3.设计结果及分析
3.1 查询和结果分析
(1) 从供给商表中查询Firmcode为’015’信息
Select * from FInfor where firmcode=’015’
图22. 供给商表中查询Firmcode为’015’信息
(2) 从用户信息表中查询GLINK为’吴江’全部信息
Select*from GueInfor where GLINK=’吴江’
图23. 查询用户信息表中GLINK为’吴江’全部信息
(3) 从商品销售主表中查询saleno为20商品信息
Select*from sellMain where saleno=’20’
图24. 查询商品销售主表中saleno为20商品信息
(4)查询职员信息表中WorkNo为075101全部信息
图25. 查询职员信息表中WorkNo为075101全部信息
(5)查询职员信息表中UserRegName为zzm20信息
图26. 查询职员信息表中UserRegName为zzm20信息
(6)删除用户信息表中相关武将全部信息。
Delete from GueInfor where GLINK=’吴枫’
图27. 删除用户信息表中相关武将全部信息
(7)建立一个用户信息存放过程,并向其中插入数据,并查询结果。
图28. 为一个用户信息建立存放过程,并向其中插入数据,并查询结果
7.为MerID建立存放过程并进行更新数据,并进行查询KindExplanation为家俱类全部信息。
图29. MerID建立存放过程并进行更新数据,并进行查询KindExplanation为家俱类全部信息
4.设计体会
此次课程设计调查了部分商品销售、供给等,依据其具体情况,设计仓储物资管理系统。加深了对数据库课程知识了解。因为时间仓促,软件还有很多不足之处,如:商品信息查询部分不够完善,软件代码交冗余、效率不高等等,全部相关功效缺乏认识造成。在以后学习中我们会加强理论实践结合,经过不停探索来填补自己在软件制作方面差距。
在这一个星期课程设计中,我们回顾了很多以前东西,也发觉了很多问题,以前全部没遇见过,收获很大,在对不一样功效代码是不一定能够完整实施,不过大约全部是一样,只有部分小细节。我们认为每一次课程设计,全部是让我们对原有知识从了解表面到深入本质,从个体学习到整体把握跳跃,对新知识汲取,更是让我们把书本知识应用到实际中,让我们了解了我们学习有什么用,能够处理什么样问题,增加我们自信和学习动力。在学习过程中,我也能过上网查了不少资料,也看了部分她人设计图书馆管理信息系统设计汇报,学以致用,自我创新,独立完成了这份自己汇报,从中在学到用,从用又到学,不停修改,系统更新。即使不能达成完善系统,但也做到了尽善尽美,加强理论学习对完善系统会有很多帮助,不管怎么说,对这次做课程设计自己认为还算满意。
经过这次课程设计,我们深入掌握了数据库知识,也让我们知道了学这门课作用是什么,会应用于哪些,不会再迷茫。而且还拓展了部分知识,让我们学到了很多书本上学不到知识,也学会了碰到问题时,怎样去处理它,攻克它,而不是认为依靠她人。这次课程设计,我们收获很大。
5.参考文件
[1] 廖望,何俊,谢春旺等编著SQL SERVER 案例教程[M]冶金工业出版社,.4.
[2] 塞奎春主编.SQL SERVER数据库开发实例解析 [M].北京:北京-机械工业出版社,.1
[3] 李昆 主编.SQL SERVER课程设计案例精编[M].中国水利水电出版社,. 1.
[4] 杨海霞,南志红.数据库试验指导[M]. 北京:人民邮电出版社,.9
[5] 石岩.数据库技术和应用 [M].哈尔滨:哈尔滨工业大学出版社,.5
[6] 成先海.数据库基础和应用-SQL Sever [M].北京:机械工业出版社,.3
展开阅读全文