仓储管理系统设计说明书数据库Word文件下载.docx
- 文档编号:19581974
- 上传时间:2023-01-08
- 格式:DOCX
- 页数:15
- 大小:501.24KB
仓储管理系统设计说明书数据库Word文件下载.docx
《仓储管理系统设计说明书数据库Word文件下载.docx》由会员分享,可在线阅读,更多相关《仓储管理系统设计说明书数据库Word文件下载.docx(15页珍藏版)》请在冰豆网上搜索。
其中包括货物价格的变化、货物种类的变化等。
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
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
closedelete_cursor
deallocatedelete_cursor
/*ifupdate(Oamount)
openinsert_cursor
fetchnextfrominsert_cursorinto@Gno,@Gname
printstr(@therest)+'
delete'
+'
mmm'
+@Gno+@Gname
updateGoodsetRest=@therestwhereGno=@GnoandGname=@Gname
end
closeinsert_cursor
deallocateinsert_cuosor
end*/
execute1.sql
updateOutt
setOamount=70
whereWno='
CC'
andGno='
CC2000'
andGname='
钢铁'
execute2.sql
AA1000'
水泥'
2.不准修改的货主姓名的触发器
T2.sql
/*不准修改的货主姓名的触发器*/
createtrigger[修改货主姓名]
onGood
forupdate
ifupdate(Oname)
rollbacktransaction
raiserror('
不能修改货主姓名'
16,10)
test2.sql
updateGood
setOname='
王五'
whereGno='
附录A:
设计所用结构表
1.Warehouse仓库
说明
字段名称
数据类型
约束
备注
仓库号
Wno
Char
(2)
P
货物号
Gno
Char(6)
F
货物名
Gname
Varchar(10)
仓库名
Wname
Varchar(16)
Wamount
int
面积
Warea
Numeric(3,1)
负责人编号
Rno
Varchar(8)
负责人姓名
Rname
2.Goods货物
前2位为仓库号,后4位物品编号
审核人
Checker
货主姓名
Oname
货物数量
Gamount
Int
货物类型
Gstyle
Varchar(20)
单位
Gunite
Char
(1)
参考价格
Gprice
3.Owner货主
货主编号
Ownno
Char(4)
4.Input入库
入库编号
Intono
Wno
PF
PF
入库时间
Intotime
Datetime
Intoamount
Int
5.Out货物出库
出库编号
Ono
出库时间
Otime
出库数量
Oamount
6.Check审核
审核否
Ifcheck
备注信息
Info
Varchar(30)
本次的设计中,用到了很多的知识点。
经历了数据库设计的6个阶段,在每个阶段中都有其不同的任务,个人感觉第一阶段,需求分析是最繁琐的,所谓万事开头难,但只有将需求分析把握住了,后面的任务就简单了。
这个数据库设计出来后,还要根据要求的功能编写函数,存储过程,触发器,在这部分是有点难度的,但通过仔细的读研书本后,本人编写了一个函数用来解决入库数量与仓位数转化,编写了一个存储过程用来查询仓库表中任意指定的仓库所有的信息,编写了2个触发器,本别用来解决实现修改现存货物数量和限制修改的货主姓名权限。
通过这几天的实习,我深刻的感受到数据库设计的不易与艰辛,它需要不断的调试与编写,才能成功。
此次的实习,也为我今后的学习以及工作埋下了铺垫。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 仓储 管理 系统 设计 说明书 数据库