数据库仓库管理系统.docx

上传人:b****5 文档编号:8515587 上传时间:2023-01-31 格式:DOCX 页数:22 大小:353.81KB
下载 相关 举报
数据库仓库管理系统.docx_第1页
第1页 / 共22页
数据库仓库管理系统.docx_第2页
第2页 / 共22页
数据库仓库管理系统.docx_第3页
第3页 / 共22页
数据库仓库管理系统.docx_第4页
第4页 / 共22页
数据库仓库管理系统.docx_第5页
第5页 / 共22页
点击查看更多>>
下载资源
资源描述

数据库仓库管理系统.docx

《数据库仓库管理系统.docx》由会员分享,可在线阅读,更多相关《数据库仓库管理系统.docx(22页珍藏版)》请在冰豆网上搜索。

数据库仓库管理系统.docx

数据库仓库管理系统

课程设计报告

 

课程设计题目:

仓库管理系统数据库的设计与实现

专业:

软件工程

班级:

学号:

姓名:

指导教师:

 

2012年12月1日

 

目录

一、实验目的·········································(3)

 

二、设计要求··········································(3)

 

三、实验思路··········································(3)

 

四、实验过程(源代码)·····································(6)

 

五、实验总结··········································(19)

 

六、心得体会··········································(20)

 

一、目的:

通过本次课程设计让学生能够综合运用所学的关系数据库原理知识解决并能设计一个实际问题,进一步掌握数据库原理的相关理论和数据库的设计实现过程,进一步提高学生的分析问题和解决问题的能力以及学生的动手能力。

 

二、课程设计要求:

1.对各个系统进行系统功能需求分析

描述:

设计一个仓库管理系统,实现下列功能:

.零件信息登记(包括种类,名称和库存数量等信息);

.零件进库登记(包括种类,名称和库存数量等信息);

.零件出库登记(包括种类,名称和库存数量等信息);

 

三、实现思路

①需求分析:

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

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

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

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

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

主要功能如下:

1.零件信息登记2.零件信息修改3.零件信息删除4.零件信息查询

5.入库信息登记6.入库操作7.入库信息修改8入库信息删除9.入库信息查询10.出库信息登记11.出库库操作12.出库信息修改13.出库信息删除14.出库信息查询15.显示触发器16.各功能创建视图查询

E-R图:

 

创建表:

1.仓库零件信息表(产品编号【主键】,名称【不为空】,种类【不为空】,入库价格【为空】,出库价格【为空】,库存【为空】)

2.入库信息表(产品编号【主键】,产品名称【不为空】,货主名称【不为空】,入库数量【为空】,入库价格【为空】,货主联系电话【为空】)

3.出库信息表(产品编号【主键】,产品名称【不为空】,客户名称【不为空】,出库数量【为空】,出库价格【为空】,客户联系电话【为空】)

具体操作:

仓库零件信息表创建:

createtable仓库零件信息表

产品编号intnotnullprimarykey,

产品名称varchar(20)notnull,

种类varchar(15)notnull,

入库价格int,

出库价格int,

库存int

列名

字段类型

长度

允许为空

产品编号

int

10

Primarykey

产品名称

Varchar

10

Notnull

种类

Varchar

10

Notnull

入库价格

Int

10

Notnull

出库价格

Int

10

Notnull

库存

Int

200

Notnull

 

入库信息表创建

createtable入库信息表

产品编号intnotnullprimarykey,

产品名称varchar(20)notnull,

货主名称varchar(20)notnull,

入库数量int,

入库价格int,

货主联系电话int,

列名

字段类型

长度

允许为空

产品编号

Int

10

Notnull

产品名称

Varchar

20

Notnull

货主名称

Varchar

20

Notnull

入库数量

Int

13

Notnull

入库价格

Int

10

Notnull

货主联系电话

Int

20

Y

出库信息表创建

createtable出库信息表

产品编号intnotnullprimarykey,

产品名称varchar(20)notnull,

客户名称varchar(20)notnull,

出库数量int,

出库价格int,

客户联系电话int,

列名

字段类型

长度

允许为空

产品编号

int

20

primarykey

产品名称

varchar

20

notnull

客户名称

varchar

20

notnull

出库数量

int,

20

Y

出库价格

int,

20

Y

客户联系电话

int,

20

Y

 

四、实现过程

产品编号

种类

产品名称

入库价格

出库价格

库存

1

电脑零件

CPU

1500

1800

20

2

电视零件

CPU

1000

1200

20

3

电脑零件

显示屏

1300

1500

20

4

电脑零件

显卡

800

1000

20

---仓库管理系统数据库查询与设计---

 

/*************仓库零件信息表创建******************/

createtable仓库零件信息表

产品编号intnotnullprimarykey,

名称varchar(20)notnull,

种类varchar(15)notnull,

入库价格int,

出库价格int,

库存int

insertinto仓库零件信息表values(1,'电脑零件','CPU',1500,1800,20)

insertinto仓库零件信息表values(2,'电视零件','CPU',1000,1200,20)

insertinto仓库零件信息表values(3,'电脑零件','显示屏',1300,1500,20)

insertinto仓库零件信息表values(4,'电脑零件','显卡',800,1000,20)

------droptable仓库零件信息表

实现如下:

 

/*************入库信息表创建***************/

createtable入库信息表

产品编号intnotnull,

产品名称varchar(20)notnull,

货主名称varchar(20)notnull,

入库数量int,

入库价格int,

货主联系电话int

insertinto入库信息表values(1,'电脑零件','张三',10,1500,123456)

insertinto入库信息表values(2,'电视零件','李四',10,1000,234567)

insertinto入库信息表values(3,'电脑零件','王二',10,1300,7758520)

insertinto入库信息表values(4,'电脑零件','阿三',10,800,3344334)

--droptable入库信息表

实现如下:

/*************出库信息表创建******************/

createtable出库信息表

产品编号intnotnullprimarykey,

产品名称varchar(20)notnull,

客户名称varchar(20)notnull,

出库数量int,

出库价格int,

客户联系电话int

insertinto出库信息表values(1,'电脑零件','胡二',10,1800,222222)

insertinto出库信息表values(2,'电视零件','刘一',10,1500,4444444)

insertinto出库信息表values(3,'电脑零件','钟三',10,1000,55555)

----droptable出库信息表

实现如下:

--查询所建的表

select*from仓库零件信息表

select*from入库信息表

select*from出库信息表

 

/*************索引创建******************/

createuniqueindex货主索引on入库信息表(货主联系电话)--dropindex入库信息表.货主

createuniqueindex零件索引on仓库零件信息表(产品编号)--dropindex仓库零件信息表.零件

createuniqueindex客户索引on出库信息表(客户联系电话)--dropindex出库信息.客户

---创建视图

createviewvi_0

as

select仓库零件信息表.产品编号,产品名称,货主名称,入库数量,入库信息表.入库价格,货主联系电话,出库价格,种类,库存

from入库信息表,仓库零件信息表

where入库信息表.产品编号=仓库零件信息表.产品编号--该视图为联系入库信息表和仓库零件信息表的查询

实现如下:

----------零件信息登记----------

createprocedureseve

@产品编号int,

@名称varchar(20),

@种类varchar(15),

@入库价格int,

@出库价格int,

@库存int

as

insertinto仓库零件信息表values(@产品编号,@名称,@种类,@入库价格,@出库价格,@库存)

execseve@产品编号=11,@名称='AMD',@种类='显卡',@入库价格=900,@出库价格=1100,@库存=30--查看插入产品编号为11的信息在原有零件中

实现如下:

---------零件信息修改-----------

createprocedurepro_update

@产品编号int,

@名称varchar(20),

@种类varchar(15),

@入库价格int,

@出库价格int,

@库存int

as

update仓库零件信息表

set名称=@名称,种类=@种类,入库价格=@入库价格,出库价格=@出库价格,库存=@库存

where产品编号=@产品编号

update出库信息表

set产品名称=@名称,出库价格=@出库价格

where产品编号=@产品编号

update入库信息表

set产品名称=@名称,入库价格=@入库价格

where产品编号=@产品编号

execpro_update@产品编号=4,@名称='修改',@种类='已修改',@入库价格=500,@出库价格=700,@库存=25--查看产品编号为4的修改情况

实现如下:

----------零件信息删除--------------

createprocedurepro_delete

@产品编号int

as

delete

from仓库零件信息表

where产品编号=@产品编号

execpro_delete@产品编号=11

实现如下:

 

 

---------零件信息查询---------

createprocedurepro_select

@产品编号int

as

select*

from仓库零件信息表

where产品编号=@产品编号

execpro_select@产品编号=1--查询产品编号为1的信息

实现如下:

 

----------入库信息表登记------------

createprocedurepro_1

@产品编号int,

@产品名称varchar(20),

@货主名称varchar(20),

@入库数量int,

@入库价格int,

@货主联系电话int

as

insertinto入库信息表values(@产品编号,@产品名称,@货主名称,@入库数量,@入库价格,@货主联系电话)

execpro_1@产品编号=5,@产品名称='AMD',@货主名称='小二',@入库数量=20,@入库价格=900,@货主联系电话=767876

--登记产品编号为5的信息查看

实现如下:

---------------入库操作-------------

createprocpro_7111

@产品编号int,

@产品名称varchar(20),

@货主名称varchar(20),

@入库数量int,

@入库价格int,

@货主联系电话int,

@出库价格int,

@种类varchar(12))

as

if((select产品编号from仓库零件信息表where产品编号=@产品编号)isnotnull)--如果原有产品在仓库中存在则执行编号为5的,没有则执行else语句

begin

update仓库零件信息表

set库存=库存+@入库数量

where产品编号=@产品编号

insertinto入库信息表values(@产品编号,@产品名称,@货主名称,@入库数量,@入库价格,@货主联系电话)

end

else

begin

insertinto入库信息表values(@产品编号,@产品名称,@货主名称,@入库数量,@入库价格,@货主联系电话)

insertinto仓库零件信息表values(@产品编号,@产品名称,@种类,@入库价格,@出库价格,@入库数量)

end

execpro_7111@产品编号=5,@产品名称='ss',@货主名称='ww',@入库数量=31,@入库价格=1500,@货主联系电话=3232323,@出库价格=2323,@种类='fds'

--如果原有仓库有的产品,则插入此行,查看产品编号为5的数量变化

实现如下:

execpro_711@产品编号=12,@产品名称='ss',@货主名称='ww',@入库数量=31,@入库价格=1500,@货主联系电话=3232323,@出库价格=2323,@种类='fds'

--如果原有仓库没有的产品,则插入此行,查看产品编号为12的数量变化,重新查看仓库的数量

实现如下:

 

-----------入库信息修改-----------

createprocedurepro_2

@产品编号int,

@产品名称varchar(20),

@货主名称varchar(20),

@入库数量int,

@入库价格int,

@货主联系电话int

as

update入库信息表

set产品名称=@产品名称,货主名称=@货主名称,入库数量=@入库数量,入库价格=@入库价格,货主联系电话=@货主联系电话

where产品编号=@产品编号

update出库信息表

set产品名称=@产品名称

where产品编号=@产品编号

update仓库零件信息表

set名称=@产品名称,入库价格=@入库价格

where产品编号=@产品编号

select*

from入库信息表

execpro_2@产品编号=12,@产品名称='修改',@货主名称='已修改',@入库数量=20,@入库价格=900,@货主联系电话=767876

--利用存储过程查看产品编号为12的修改情况

实现如下:

 

--------------入库信息删除------------

createprocpro_3

@产品编号int

as

delete

from入库信息表

where产品编号=@产品编号

execpro_3@产品编号=4

实现如下:

--------------入库信息查询--------------

createprocedurepro_42

@产品编号int

as

select*

from入库信息表

where产品编号=@产品编号

execpro_42@产品编号=1

实现如下:

-------------出库信息登记------------

createprocedurepro_5

@产品编号int,

@产品名称varchar(20),

@客户名称varchar(20),

@出库数量int,

@出库价格int,

@客户联系电话int

as

insertinto出库信息表values(@产品编号,@产品名称,@客户名称,@出库数量,@出库价格,@客户联系电话)

execpro_5@产品编号=4,@产品名称='AMD',@客户名称='小三',@出库数量=10,@出库价格=1100,@客户联系电话=98766

--登记编号为5的产品出库情况

实现如下:

-------------出库操作-------------

createprocedurepro_111

@产品编号int,

@产品名称varchar(20),

@出库价格int,

@客户名称varchar(20),

@出库数量int,

@客户联系电话int

as

if((select产品编号from仓库零件信息表where产品编号=@产品编号)isnull)

print'仓库没有该货物'--如果原有仓库没有客户需要的产品直接执行编号为8的语句插入如果有则执行else语句查看出库后剩余的产品数量执行编号为4的语句

else--

begin

insertinto出库信息表values(@产品编号,@产品名称,@客户名称,@出库数量,@客户名称,@客户联系电话)

update仓库零件信息表

set库存=库存-@出库数量

where仓库零件信息表.产品编号=@产品编号

end

execpro_111@产品编号=8,@产品名称='ss',@客户名称='123',@出库数量=31,@出库价格=1500,@客户联系电话=3232323

--如果原有仓库没有产品编号为8的执行此行

实现如下:

execpro_111@产品编号=4,@产品名称='ss',@客户名称='123',@出库数量=31,@出库价格=2323,@客户联系电话=3232323

--如果原有仓库有产品编号为4的执行此行查询

实现如下:

------------出库信息修改----------------

createprocedurepro_6

@产品编号int,

@产品名称varchar(20),

@客户名称varchar(20),

@出库数量int,

@出库价格int,

@客户联系电话int

as

update入库信息表

set产品名称=@产品名称

where产品编号=@产品编号

update出库信息表

set产品名称=@产品名称,客户名称=@客户名称,出库数量=@出库数量,出库价格=@出库价格,客户联系电话=@客户联系电话

where产品编号=@产品编号

update仓库零件信息表

set名称=@产品名称,出库价格=@出库价格

where产品编号=@产品编号

execpro_6@产品编号=5,@产品名称='修改',@客户名称='已修改',@出库数量=10,@出库价格=1100,@客户联系电话=98766

--如果需要修改出库的产品信息执行编号为5的

实现如下:

 

------------出库信息删除--------------

createprocpro_7

@产品编号int

as

delete

from出库信息表

where产品编号=@产品编号

execpro_3@产品编号=3

实现如下:

 

--------------出库信息查询--------------

createprocedurepro_8--dropprocedurepro_8

@产品编号int

as

select*

from出库信息表

where产品编号=@产品编号

execpro_8@产品编号=1

实现如下:

 

---------------显示触发器-------------在执行存储过程之前执行触发器方便查看零件入库出库的更新添加修改删除

createtriggertri_1

on仓库零件信息表

forinsert

as

select*

from仓库零件信息表

createtriggertri_2

on仓库零件信息表

fordelete

as

select*

from仓库零件信息表

createtriggertri_3

on仓库零件信息表

forupdate

as

select*

from仓库零件信息表

createtriggertri_4

on入库信息表

forinsert

as

select*

from入库信息表

createtriggertri_5

on入库信息表

fordelete

as

select*

from入库信息表

createtriggertri_6

on入库信息表

forupdate

as

select*

from入库信息表

createtriggertri_7

on出库信息表

forinsert

as

select*

from出库信息表

createtriggertri_8

on出库信息表

fordelete

as

select*

from出库信息表

createtriggertri_9

on出库信息表

forupdate

as

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

当前位置:首页 > 高等教育 > 研究生入学考试

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1