仓储管理系统设计说明书数据库.docx

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

仓储管理系统设计说明书数据库.docx

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

仓储管理系统设计说明书数据库.docx

仓储管理系统设计说明书数据库

仓储管理系统

设计说明书

学院计算机与信息学院

专业电子商务

学号084831397

姓名谢序钢

班级08计商A1

 

实习总结:

 

详细程序设计书

一、需求分析

1.目标用户

仓库管理人员。

2.主要功能

仓库入库管理:

主要是管理员对进入仓库的货物进行登记,包括货物号、货物名、货物数、货物价格、货主、以及仓库号,以便统一管理。

当同一货主的同种货物入库时,要进行货物记录的追加,同时也要记录仓库入库的日志信息。

仓库提货管理:

当货主提走货物时进行该管理在货物出库时进行登记,登记的内容有编号、货物号、货物数、货物价格、货主、仓库号、日期等。

仓库货物查询:

可按照货物名称查询、按照货主查询以及按照仓库查询等。

这些查询主要是在用户需要得知货物资料时进行。

由于只是进行查询操作,所以数据以只读形式出现。

货物信息维护功能:

主要对货物的基本资料和信息进行维护。

其中包括货物价格的变化、货物种类的变化等。

3.数据流图

仓储管理0层数据流图

仓储管理1层数据流图

货物入库管理1层数据流图

 

货物出库1层数据流图

货物库存1层数据流图

 

仓库管理1层数据流图

各类编码1层数据流图

4.数据字典

分析数据流图,确定数据流的描述:

“货物入库”数据流

说明:

货物入库的货物信息

数据流来源:

入库货物信息

数据流去向:

入库货物名单显示

组成:

入库货号,货名,时间

“货物出库“数据流

说明:

登记出库货物的各种信息

数据流来源:

出库货物的货号名称

数据流去向:

出库货物的名单显示

组成:

出库货号,货名,时间

“仓储货物“数据流

说明:

登记存储货物信息

输入:

货物名,号码,数量

输出:

仓储货物表

出库,入库的描述

处理过程:

货物出库,入库

说明:

货主按所需提走货物,按所需存储货物

输入:

货物名称

输出:

提取货物名,存储货物名称

 

二.概念结构设计

1.确定各实体之间的关系以及约束

.一个仓库可以存放多种货物,一中货物可以存放在多个仓库中

一个仓库可以提取多个货物出库,新来的货物可以存入多个仓库中,一个货主可以拥有多种货物,

2.各实体的属性

.仓库(仓库号,仓库名,负责人号,负责人姓名,仓位数,面积)

.货物(货物号,货物名,货物数量,仓库号,货物类型,单位,参考价格)

.货主(货主编号,货主姓名)

.审核(审核人,审核否,备注信息)

联系:

.入库(入库数量,入库时间,入库编号)

存储(货主姓名)

3.仓库管理总E-R图

4.仓库管理的CDM设计图

 

三.逻辑结构设计与物理结构设计

1.仓库管理的PDM设计图

 

四.仓储管理数据库实施

在PowerDesigner中点击Createbase,CreateTestDate,使其生成测试数据库和测试数据,然后在此基础上修改表表中数据,并在SQLServer2000测试通过。

修改过的源程序详见“源程序”文件夹

五.入库数量与仓位数转化的函数设计

功能要求:

将入库的货物按照入库的数量转换成所要占据的仓位数的功能。

入口参数:

入库数量单位:

返回:

仓位数单位:

仓位数的转换算法:

仓位数=ceiling(入库数量/仓位数)

脚本:

AmountConvert.sql

createfunctionAmountConvert(@inputamountint,@wamountint)

--@inputmount:

入库数量

--@wamount:

仓位数

returnsint

As

begin

return(ceiling(@inputamount/10))

end

test.sql

selectGood.Gname,dbo.AmountConvert(Intoamount,Wamount)仓位数,Input.Intoamount

fromGood,Input,Warehouse

 

六.存储过程

1.随机查看任意号码仓库的仓库信息,使用输入参数,创建一个存储过程

源程序:

Pro_2.test

usecc

go

createprocedurepro_2

@wnochar

(2)

as

selecta.Wno,a.Gno,a.Gname,c.Oname,b.Gamount,b.Gstyle,b.Gprice,b.Gunite

fromWarehousea,Goodb,Ownerc

wherea.Gno=b.Gnoandb.Oname=c.Onameanda.Gname=b.Gnameanda.Wno=@wno

test1.sql

executepro_2'AA'

 

七.触发器

1.实现修改现存货物数量的触发器

实现功能:

当货物出库时,在货物表中的剩余货物数量可以自动修改。

t.sql

altertableGood

addRestintnull

the_rest.sql

createtriggerthe_rest

onOutt

forinsert,update,delete

as

declare@therestint

declare@Gnochar(6),@Gnamevarchar(10)

--declareinsert_cursorcursorforselectGno,Gnamefrominserted

declaredelete_cursorcursorforselectGno,Gnamefromdeleted

begin

opendelete_cursor

fetchnextfromdelete_cursorinto@Gno,@Gname

while@@fetch_status=0

begin

set@therest=(selectGood.Gamount-Outt.Oamount

fromGood,Outt

whereGood.Gno=Outt.GnoandOutt.Gno=@GnoandGood.Gname=@Gname)

updateGoodsetRest=@therestwhereGname=@GnameandGno=@Gno

fetchnextfromdelete_cursorinto@Gno,@Gname

end

closedelete_cursor

deallocatedelete_cursor

/*ifupdate(Oamount)

begin

openinsert_cursor

fetchnextfrominsert_cursorinto@Gno,@Gname

while@@fetch_status=0

begin

set@therest=(selectGood.Gamount-Outt.Oamount

fromGood,Outt

whereGood.Gno=Outt.GnoandOutt.Gno=@GnoandGood.Gname=@Gname)

printstr(@therest)+'delete'+'mmm'+@Gno+@Gname

updateGoodsetRest=@therestwhereGno=@GnoandGname=@Gname

fetchnextfrominsert_cursorinto@Gno,@Gname

end

closeinsert_cursor

deallocateinsert_cuosor

end*/

end

execute1.sql

updateOutt

setOamount=70

whereWno='CC'andGno='CC2000'andGname='钢铁'

execute2.sql

updateOutt

setOamount=70

whereWno='AA'andGno='AA1000'andGname='水泥'

2.不准修改的货主姓名的触发器

T2.sql

/*不准修改的货主姓名的触发器*/

createtrigger[修改货主姓名]

onGood

forupdate

as

ifupdate(Oname)

begin

rollbacktransaction

raiserror('不能修改货主姓名',16,10)

end

test2.sql

updateGood

setOname='王五'

whereGno='AA1000'andGname='水泥'

 

附录A:

设计所用结构表

1.Warehouse仓库

说明

字段名称

数据类型

约束

备注

仓库号

Wno

Char

(2)

P

货物号

Gno

Char(6)

F

货物名

Gname

Varchar(10)

F

仓库名

Wname

Varchar(16)

仓位数

Wamount

int

面积

Warea

Numeric(3,1)

负责人编号

Rno

Varchar(8)

负责人姓名

Rname

Varchar(8)

2.Goods货物

说明

字段名称

数据类型

约束

备注

货物号

Gno

Char(6)

P

前2位为仓库号,后4位物品编号

货物名

Gname

Varchar(10)

P

审核人

Checker

Varchar(8)

F

货主姓名

Oname

Varchar(8)

F

货物数量

Gamount

Int

货物类型

Gstyle

Varchar(20)

单位

Gunite

Char

(1)

参考价格

Gprice

int

3.Owner货主

说明

字段名称

数据类型

约束

备注

货主编号

Ownno

Char(4)

P

货主姓名

Oname

Varchar(8)

4.Input入库

说明

字段名称

数据类型

约束

备注

入库编号

Intono

Varchar(8)

仓库号

Wno

Char

(2)

PF

货物号

Gno

Char(6)

PF

货物名

Gname

Varchar(10)

PF

入库时间

Intotime

Datetime

入库数量

Intoamount

Int

5.Out货物出库

说明

字段名称

数据类型

约束

备注

出库编号

Ono

Varchar(8)

仓库号

Wno

Char

(2)

PF

出库时间

Otime

Datetime

出库数量

Oamount

Int

货物号

Gno

Char(6)

PF

货物名

Gname

Varchar(10)

PF

6.Check审核

说明

字段名称

数据类型

约束

备注

审核人

Checker

Varchar(8)

P

审核否

Ifcheck

Char

(2)

备注信息

Info

Varchar(30)

 

实习总结:

本次的设计中,用到了很多的知识点。

经历了数据库设计的6个阶段,在每个阶段中都有其不同的任务,个人感觉第一阶段,需求分析是最繁琐的,所谓万事开头难,但只有将需求分析把握住了,后面的任务就简单了。

这个数据库设计出来后,还要根据要求的功能编写函数,存储过程,触发器,在这部分是有点难度的,但通过仔细的读研书本后,本人编写了一个函数用来解决入库数量与仓位数转化,编写了一个存储过程用来查询仓库表中任意指定的仓库所有的信息,编写了2个触发器,本别用来解决实现修改现存货物数量和限制修改的货主姓名权限。

通过这几天的实习,我深刻的感受到数据库设计的不易与艰辛,它需要不断的调试与编写,才能成功。

此次的实习,也为我今后的学习以及工作埋下了铺垫。

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

当前位置:首页 > 工作范文 > 行政公文

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

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