数据库课程设计报告47.docx

上传人:b****2 文档编号:18062320 上传时间:2023-08-07 格式:DOCX 页数:30 大小:480.87KB
下载 相关 举报
数据库课程设计报告47.docx_第1页
第1页 / 共30页
数据库课程设计报告47.docx_第2页
第2页 / 共30页
数据库课程设计报告47.docx_第3页
第3页 / 共30页
数据库课程设计报告47.docx_第4页
第4页 / 共30页
数据库课程设计报告47.docx_第5页
第5页 / 共30页
数据库课程设计报告47.docx_第6页
第6页 / 共30页
数据库课程设计报告47.docx_第7页
第7页 / 共30页
数据库课程设计报告47.docx_第8页
第8页 / 共30页
数据库课程设计报告47.docx_第9页
第9页 / 共30页
数据库课程设计报告47.docx_第10页
第10页 / 共30页
数据库课程设计报告47.docx_第11页
第11页 / 共30页
数据库课程设计报告47.docx_第12页
第12页 / 共30页
数据库课程设计报告47.docx_第13页
第13页 / 共30页
数据库课程设计报告47.docx_第14页
第14页 / 共30页
数据库课程设计报告47.docx_第15页
第15页 / 共30页
数据库课程设计报告47.docx_第16页
第16页 / 共30页
数据库课程设计报告47.docx_第17页
第17页 / 共30页
数据库课程设计报告47.docx_第18页
第18页 / 共30页
数据库课程设计报告47.docx_第19页
第19页 / 共30页
数据库课程设计报告47.docx_第20页
第20页 / 共30页
亲,该文档总共30页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

数据库课程设计报告47.docx

《数据库课程设计报告47.docx》由会员分享,可在线阅读,更多相关《数据库课程设计报告47.docx(30页珍藏版)》请在冰点文库上搜索。

数据库课程设计报告47.docx

数据库课程设计报告47

河南城建学院

《数据库原理及应用课程设计》

 

专业班级:

08341314

课程设计题目:

仓库管理数据库

指导教师:

吴孝丽苏靖枫

学生学号:

083413147

学生姓名:

张耀

本小组合作者:

张卫玲

 

计算机科学与工程学院

2015年6月

第1章系统分析

1.1需求分析的任务

由于货物的种类数量的纷繁复杂,比较难管理,给工作人员的工作带来诸多不便.此系统的开发就是专门解决工作人员在这些烦琐的问题。

此系统适用于仓库,它是比较完善的系统管理软件。

此系统的采用方便了仓库管理人员对仓库的管理,对管理人员的工作起到重要作用。

通过本系统软件,能帮助工作人员利用计算机,快速方便的对仓库的货物进行管理、输入、输出、查找等操作,将货物的管理具体化、直观化、合理化。

通过该系统所记录的数据,可以使仓库管理者对货物的进出情况管理的更清楚,使仓库管理系统更完善,减轻工作人员的工作负担,使工作简化,从而对货物进行更井井有条的管理。

仓库管理系统主要用于仓库货品信息的管理,系统包括仓库管理、入库、出库和一些统计查询等几部分组成。

仓库管理系统实现对货品信息的管理和总体的统计等。

仓库信息、供货单位和操作员信息的查看及维护。

仓库管理人员可以浏览、查询、添加、删除等产品的基本信息。

产品入库管理,可以填写入库单,确认产品入库

产品出库管理,可以填写出库单,确认产品出库

借出管理,凭借条借出,然后能够还库

初始库存设置,设置库存的初始值,库存的上下警戒限

可以进行盘库,反映每月、年的库存情况

可以查询产品入库情况、出库情况、当前库存情况,可以按出库单、入库单产品、时间进行查询

1.2数据流图

数据流图简称DFD,是SA方法中用于表示系统逻辑模型的一种工具。

它以图形的方式描述数据在系统中流动和处理的过程,由于它只反映系统必须完成的逻辑功能,所以它是一种功能模型。

通过进行系统调查,了解用户需求、分析应用软件系统的功能需求。

总结出了系统逻辑模型,即系统业务流程图、数据流图。

图1管理员数据流图

1.3数据字典

数据字典,Datadictionary是一种用户可以访问的记录数据库和应用程序源数据的目录。

主动数据字典是指在对数据库或应用程序结构进行修改时,其内容可以由DBMS自动更新的数据字典。

被动数据字典是指修改时必须手工更新其内容的数据字典。

第2章系统设计

2.1概念设计

概念设计阶段主要是将需求分析阶段得到的用户需求抽象为信息结构(概念模型)的过程,它是整个数据库设计的关键。

这一设计阶段是在需求分析的基础上,设计出能够满许用户需求的各种实体,以及它们之间的关系,为后面的逻辑设计打基础。

经考察和分析,本案例客房管理系统包括以下实体客户实体、客房实体、操作员实体、结算账单实体,它们的E-R图如以下所示。

 

图2物资及其属性图

 

图3库存表及其属性图

图4出库表及其属性图

图5供应商及其属性图

图6入库表及其属性图

 

图7仓库及其属性图

图8职工及其属性图

图9实体及其联系图

 

2.2逻辑设计

数据库仓库管理系统包含以8个表:

客户信息表“客户”、仓库信息表“仓库”、操作员信息表“操作员”、产品类别表“产品类别”、产品信息表“产品”、入库操作信息表“入库”、出库操作信息表“出库”和库存产品信息表“库存”。

一、客户信息表“客户”主要是用来保存客户信息

1客户号Int客户编号

2客户名varchar(50)客户名称

3客户类型tinyint客户类型供应商、购货商

4联系地址varchar(50)客户的联系地址

5邮政编号varchar(10)邮政编码

6联系电话varchar(30)联系电话

7备注varchar(100)备注信息

二、仓库信息表“仓库”用来保存仓库信息

1仓库号int仓库编号

2仓库名varchar(50)仓库名称

3仓库备注varchar(100)仓库说明

三、操作员表“操作员”用来保存用户信息

1操作员号Int操作员的编号

2操作员名varchar(40)用户名

3密码varchar(40)密码

4电话varchar(50)

四、产品信息表“产品”用来保存产品的基本信息

1产品号int产品编号

2产品名varchar(50)产品名称

3产品数量int产品的数量

4产品单价Varchar(20)产品的每单位价格

5客户号int供应商编号

五、入库操作信息表“入库表”用来保存入库操作的基本信息

1产品号int入库产品编号

2入库单价Varchar(20)入库产品单价

3入库数量int入库产品数量

4客户号int客户编号

5仓库号int仓库编号

6入库时间char(10)入库日期

六、出库操作信息表“出库表”用来保存出库操作的基本信息

1产品号int出库产品编号

2出库单价Varchar(20)出库产品单价

3出库数量int出库产品数量

4客户号int客户编号

5仓库号int仓库编号

6出库时间char(20)出库日期

七、库存产品信息表“库存表”用来保存库存产品的基本信息

1产品号int产品编号

2入库价格Varchar(20)产品入库单价

3现存数量Int产品数量

4仓库号Int仓库编号

2.3功能设计

图10系统层次图

管理员功能:

入库操作、出库操作、查询库存信息、入库信息、出库信息、仓库信息、职工信息及供应商信息,更改信息及注册。

功能描述

管理员:

入库操作

通过将要入库的物资信息更改仓库、物资、库存表及入库表。

出库操作

通过将要出库的物资信息更改仓库、物资、库存表及出库表。

3、查询

根据管理员的需要查看相关信息,其中包括入库信息、出库信息、库存信息、物资信息、职工信息、仓库信息和供应商信息等。

总体设计

仓库管理系统是对物资的入库出库等信息进行记录并查询,管理员可以对仓库进行出库入库及修改仓库信息,以下是对仓库各种操作的流程图。

以下是管理员和用户操作的流程图,从流程图中能很清楚的看出各种操作的处理流程,为系统实现提供了依据,奠定了基础。

1、管理员的入库操作

图11入库流程图

2、出库操作

图12出库流程图

 

3、查询操作

图13查询的流程图

2.4物理设计

1、客户表的物理结构,主键是‘Cno’(客户编号)

 

2、产品表物理结构,主键是‘Pno’(产品编号),外键是‘Pcno’(客户编号)

3、操作员表物理结构,主键是‘OPno’(操作员编号)

4、仓库表物理结构,主键是‘Sno’(仓库编号),外键是‘OPno’(仓库管理操作员编号,可空值)

5、采购表物理结构,主键是‘Prno’(采购表编号)

6、入库表物理结构,主键是‘Puno’(入库表编号),外键‘Pno’(产品编号)、‘Cno’(客户编号)、‘Sno’(仓库编号)

7、出库表物理结构,联合主键‘Imno’(出库表编号)、‘Pno’(产品编号)、‘Cno’(客户编号)、‘Sno’(仓库编号)

8、库存表物理结构,联合主键‘Pno’(产品编号)、‘Cno’(客户编号)、‘Sno’(仓库编号)

数据库关系图

 

总结

此次的设计是个新的体验、新的挑战,我在此过程中不但应用了所学的知识,而且还不断的学习新的知识、工具,以完成设计的需要,在设计的过程中我深深体会到作为学习计算机专业的人士,为了实现1个模块的代码、为了1个设计的实现思想、经常绞尽脑汁来达到设计所要达到的目的,虽然我的基础知识不够扎实,但是我在此期间积累了许多宝贵的经验,这都是我以后走上工作岗位的巨大的财富。

从课程的学习和实验当中我了解到,表是数据库数据当中最重要的一个数据对象,表建立的好坏直接关系到数据库的实际使用效果,表当中的内容越具体对表越有利,同时对数据库的各种应用也有着各种各样的便利。

但是表的内容也不能过于的繁琐,当然,这些也只能在今后的实际使用当中多多的应用,才能加深和理解如何对表进行规划才更有利于使用和查询。

在数据库中,数据内容的查询可以使用查询语句的方法查询,也可以使用视图操作的方法进行查询,使用视图操作的方法不仅可以简化数据操作,同时还可以检索数据,在查询时还能向基表当中添加、修改和删除数据,能有效的提高数据库可用性和安全性。

SQLServer2008R2的学习是在老师的悉心教导和上机实验实践当中度过的经过短暂的学习,让我学会了很多知识,对于我今后的人生和工作有很多有用有帮助的地方,感谢老师的教导,让我又多掌握了一项专业的技术我会在今后更加努力的学习这方面的专业技术知识,勤于实践、不断提高以适应时代的发展,更好的把握未来。

 

附录:

建表:

---客户表(client)

createtableC(

Cnovarchar(10)primarykey,---客户编号

Cnamevarchar(50),---客户姓名

Cstyvarchar(50)check(Cstyin('供应商','购货商')),---客户类型

Caddrevarchar(50),---客户地址

Cpcoadvarchar(10),---邮政编号

Ctelvarchar(30),---客户电话

Cremvarchar(100),---备注

---操作员表(operator)

createtableOP(

OPnovarchar(10)primarykey,---操作员编号

OPnamevarchar(40),---操作员姓名

OPpassvarchar(40)default'123456',---密码

OPtelvarchar(30),---操作员电话

OPremvarchar(100),---备注

---仓库表(store)

createtableS(

Snovarchar(10)primarykey,---仓库编号

Snamevarchar(50),---仓库名称

Sremvarchar(100),---仓库备注

OPnovarchar(10),---操作员编号

foreignkey(OPno)referencesOP(OPno)

---产品表(product)

createtableP(

Pnovarchar(10)primarykey,---产品编号

Pnamevarchar(50),---产品名称

Muvarchar(10),---计量单位

Punitnumeric(10,3),---单价

Pcnovarchar(10)notnull,---产品供应客户编号

Premvarchar(100),---备注

foreignkey(Pcno)referencesC(Cno),

---采购表(procoure)

createtableProcoure(

Prnovarchar(10)Primarykey,---采购表编号

OPnovarchar(10),---采购操作员编号

Cnovarchar(10),---供应商编号

Pnovarchar(10),---采购产品编号

ProNumint,---采购数量

Protimesmalldatetimedefaultgetdate(),---预计采购时间

Prounitnumeric(10,3),---预计采购单价

Purint,---采购状态(0为正在审核,1位审核通过)

foreignkey(Cno)referencesC(Cno),

foreignkey(OPno)referencesOP(OPno),

foreignkey(Pno)referencesP(Pno),

---入库表(putin)

createtablePutin(

Punovarchar(10)primarykey,---入库表编号

Pnovarchar(10),---产品编号

Cnovarchar(10),---供应商编号

Snovarchar(10),---仓库编号

Pitimesmalldatetimedefaultgetdate(),---入库时间

Piunitnumeric(10,3),---入库单价

Pinumint,---入库数量

Ptotalint,---总金额

Piremvarchar(100),---备注

foreignkey(Cno)referencesC(Cno),

foreignkey(Sno)referencesS(Sno),

foreignkey(Pno)referencesP(Pno),

---出库表(import)

createtableIm(

Imnovarchar(10),---出库表编号

Pnovarchar(10),---产品编号

Cnovarchar(10),---采购商编号

Snovarchar(10),---仓库编号

Imtimesmalldatetimedefaultgetdate(),---出库时间

Imunitnumeric(10,3),---出库单价

Imnumint,---出库数量

Imtotalint,---总金额

Imremvarchar(100),---备注

Primarykey(Pno,Sno,Cno),

foreignkey(Cno)referencesC(Cno),

foreignkey(Sno)referencesS(Sno),

foreignkey(Pno)referencesP(Pno),

---库存表(stock)

createtableSt(

Pnovarchar(10),---库存产品

Snovarchar(10),---所在仓库编号

Punovarchar(10),---入库表编号

Nownumint,---现存数量

ICNintdefault2000000,---Inventoryceilingnumber库存上限数量(默认200万)

ILQintdefault100,---Inventorylimitquantity库存下限数量(默认100)

Stremvarchar(100),---备注

Primarykey(Pno,Sno,Puno),

foreignkey(Pno)referencesP(Pno),

foreignkey(Sno)referencesS(Sno),

foreignkey(Puno)referencesPutin(Puno),

 

视图:

createview仓库库存信息

as

selectSt.Pno产品编号,Pname产品名称,Punit产品单价,Nownum现存数量,ICN-Nownum可存数量,Mu计量单位,getdate()-Pitime库存时间,

Pcno供应商或需求商编号,Strem备注,St.Sno仓库编号

fromSt,S,P,Putin

whereSt.Pno=P.PnoandSt.Sno=S.SnoandSt.Puno=Putin.Puno

createview采购表信息

as

selectPrno采购表编号,Procoure.OPno采购操作员编号,P.Pno产品编号,Pname产品名称,Prounit预计采购单价,

ProNum采购数量,Mu计量单位,Pcno供应商或需求商编号

fromP,Procoure,OP

whereProcoure.OPno=OP.OPnoandProcoure.Pno=P.Pno

createview产品详细信息

as

selectP.Pno产品编号,Pname产品名称,Punit单价,Mu计量单位,Pcno供应商编号,Cname供应商名称,

Caddre供应商地址,Ctel供应商电话,Prem产品信息

fromP,C

whereP.Pcno=C.Cno

createview入库信息

as

selectPutin.Pno产品编号,Pname产品名称,Piunit入库单价,Mu计量单位,Pinum入库数量,Ptotal总金额,

Pcno供应商编号,Cname供应商名称,Putin.Sno仓库编号,S.Sname仓库名称,Pitime入库时间,Pirem备注

fromS,P,Putin,C

wherePutin.Pno=P.PnoandPutin.Cno=C.CnoandPutin.Sno=S.Sno

createview出库信息

as

selectIm.Pno产品编号,Pname产品名称,Imunit出库单价,Mu计量单位,Imnum出库数量,Imtotal总金额,

Pcno需求商编号,Cname需求商名称,Im.Sno仓库编号,S.Sname仓库名称,Imtime出库时间,Imrem备注

fromS,P,Im,C

whereIm.Pno=P.PnoandIm.Cno=C.CnoandIm.Sno=S.Sno

存储过程:

createprocedure客户存储

@客户编号varchar(10),

@客户姓名varchar(50),

@客户类型varchar(50),

@客户地址varchar(50),

@邮政编号varchar(10),

@客户电话varchar(30),

@备注varchar(100),

@outvarchar(20)='0'output

asDECLARE@nint

select@n=count(Cno)fromC

whereCno=@客户编号

if(@n=1)

begin

select@out='此编号客户已存在,请重新编号!

'

returnend

else

begin

insertintoC

values(@客户编号,@客户姓名,@客户类型,@客户地址,@邮政编号,@客户电话,@备注)select@out='客户添加成功!

'

return

end

go

createprocedure产品存储

@产品编号varchar(10),

@产品名称varchar(50),

@计量单位varchar(10),

@单价numeric(10,3),

@产品供应客户编号varchar(10),

@备注varchar(100),

@outvarchar(20)='0'output

asDECLARE@nint

select@n=count(Pno)fromP

wherePno=@产品编号

if(@n=1)

begin

select@out='此编号产品已存在,请重新编号!

'

returnend

else

begin

insertintoP

values(@产品编号,@产品名称,@计量单位,@单价,@产品供应客户编号,@备注)select@out='产品添加成功!

'

return

end

go

createprocedure采购表

@采购操作员编号varchar(10),

@供应商编号varchar(10),

@采购产品编号varchar(10),

@采购数量int,

@预计采购时间smalldatetime,

@预计采购单价numeric(10,3),

@采购状态int,

@outvarchar(20)='0'output

as

DECLARE@n1int,@n2int,@n3int

select@n1=count(Procoure.Pno),@n2=count(Procoure.OPno),@n3=count(Procoure.Cno)fromProcoure,P,C,OP

whereProcoure.Pno=@采购产品编号andProcoure.OPno=@采购操作员编号andProcoure.Cno=@供应商编号

andProcoure.Pno=P.PnoandProcoure.OPno=OP.OPnoandProcoure.Cno=C.Cno

if(@n1=0or@n2=0or@n3=0)

begin

select@out='输入错误,无法录入采购信息!

'

returnend

else

begin

insertintoProcoure

values(@采购操作员编号,@供应商编号,@采购产品编号,@采购数量,@预计采购时间,@预计采购单价,@采购状态)

select@out='采购表信息录入!

'

return

end

go

createprocedure入库

@入库表编号varchar(10),

@产品编号varchar(10),

@供应商编号varchar(10),

@仓库编号varchar(10),

@入库时间smalldatetime,

@入库单价numeric(10,3),

@入库数量int,

@总金额int,

@备注varchar(100),

@outvarchar(20)='0'output

as

DECLARE@n1int,@n2int,@n3int

select@n1=(Nownum+@入库数量),@n2=St.ICN,@n3=St.ILQfromSt

whereSt.Pno=@产品编号

if(@n1>=@n2or@n1<=@n3)

begin

select@out='入库数量少于库存下限数量或多于库存上限数量,无法入库!

'

return

end

else

begin

insertintoPutinvalues(@入库表编号,@产品编号,@供应商编号,@仓库编号,@入库时间,@入库单价,@入库数量,@总金额,@备注)

updateStsetNownum=Nownum+@入库数量whereSt.Pno=@产品编号andSt.Sno=@仓库编号

select@out='产品入库成功!

'

return

end

go

createprocedure出库

@出库表编号varchar(10),

@产品编号varchar(10),

@采购商编号varchar(10),

@仓库编号varchar(10),

@出库时间smalldatetim

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 求职职场 > 笔试

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2