仓库管理数据库.docx

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

仓库管理数据库.docx

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

仓库管理数据库.docx

仓库管理数据库

 

《数据库开发项目技术》课程设计

 

2013年6月17-28日

1课程设计的目的

数据库系统原理课程设计是数据库系统原理实践环节的及为重要的一部分,其目的是:

(1)培养学生能够应用数据库系统原理在需求分析的基础上对系统进行概念设计,学会设计局部ER,全局ER图。

(2)培养学生能够应用数据库系统原理在概念设计的基础上应用关系规范化理论对系统进行逻辑设计,学会在ER图基础上设计出易于查询和操作的合理的规范化关系模型。

(3)培养学生能够应用SQL语言对所设计的规范化关系模型进行物理设计,并且能够应用视图,存储过程,触发器,游标技术以保证数据库系统的数据完整性,安全性,一致性,保证数据共享和防止数据冲突.

(4)培养学生理论与实际相结合能力,培养学生开发创新能力

2课程设计内容

作为仓库管理系统,对物资、货架、仓库的管理。

本实例仅考虑物资管理主要方面,主要涉及物资采购、入库、出库等方面的管理。

3设计题目及要求

3.1仓库管理系统

3.2需求分析

本系统将实现物资入库、出库信息的记录,采购信息与采购人员、供应商资料的记录,物资在仓库中的记录。

3.3概念(模型)设计

3.3.1全局设计、数据流图

表3-1全局E/R图

第0层数据流图,仓库管理员维护仓库内物资信息,采购人员将物资录入系统。

表3-2-1第0层数据流图

对第0层DFD图中的一个加工"仓库管理"进行展开。

表3-2-2第1层数据流图

3.3.2数据字典

以下列出"仓库管理系统"的部分数据字典条目:

数据项名:

仓库

描述:

仓库的主要信息

别名:

定义:

仓库编号+仓库地址+仓库名

类型:

字符串

数据量:

20左右

峰值:

其他说明:

在系统功能扩充时可能增加定义项

数据流名:

仓库编号

描述

唯一标识仓库的编号

别名:

类型:

整形(int)

长度:

4位字符

其他说明:

仓库编号不能重复

 

数据流名:

仓库信息录入

描述:

系统处理的一个命令

别名:

频率:

1000次左右

峰值:

随时,但经常在仓库扩充时

其他说明:

在系统功能扩充时可能增加种类

3.3.3具体各表设计

表3-3物资信息表图表3-4货架信息表图

表3-5仓库信息表图表3-6物资入库信息表图

表3-7物资出库信息表图表3-8物资采购表图

表3-9采购人员信息表图表3-10供应商信息表图

3.4物理设计、SQL编程

3.4.1物资信息表

Createtablewuzi_info--物资信息表

WuzinumintnotnullPrimaryKey,--物资编号,主键

Wuzinamechar(50)notnull,--物资名

Wuziquantityintnotnull--物资数量

3.4.2仓库信息表

Createtablestorehouse_info--仓库信息表

Storehouse_numintnotnullPrimaryKey,--仓库编号,主键

Storehouse_addrchar(100)notnull,--仓库地址

Storehouse_namechar(50)notnull--仓库名

3.4.3货架信息表

Createtableshelf_info--货架信息表

Shelf_numintnotnullprimarykey,--货架编号,主键

Storehouse_numintnotnull

foreignkey(Storehouse_num)referencesstorehouse_info(Storehouse_num),

--仓库编号,外键

Wuzinumint

foreignkey(Wuzinum)referenceswuzi_info(Wuzinum)--物资编号,外键

3.4.4供应商信息表

Createtablesupp_info--供应商信息表

Suppnumintnotnullprimarykey,--供应商编号

Suppnamechar(50)notnull,--供应商名

Supperchar(50)notnull,--联系人

Supphonechar(11)notnull--供应商联系电话

3.4.5采购人员信息表

Createtablebuyer_info--采购人员信息表

Buyer_numintnotnullprimarykey,--采购人员编号,主键

Buyer_namechar(50)notnull,--采购人员姓名

Sexchar(10)notnull,--性别

Buyer_phonechar(11)notnull--采购人员联系电话

3.4.6采购表

Createtablebuy_info--采购表

Buy_numintnotnullprimarykey,--采购编号,主键

Wuzinumintnotnull

foreignkey(Wuzinum)referenceswuzi_info(Wuzinum),--物资编号,外键

wuzinamechar(50)notnull,--物资名

Wuziquantityintnotnull,--物资数量

suppnumintnotnull

foreignkey(suppnum)referencessupp_info(suppnum),--供应商编号,外键

buyer_numintnotnull

foreignkey(buyer_num)referencesbuyer_info(buyer_num)--采购人员编号,外键

3.4.7物资入库信息表

Createtableinhouse_info--物资入库信息表

Inhouse_numintnotnullprimarykey,--入库编号,主键

Wuzinumintnotnull

foreignkey(Wuzinum)referenceswuzi_info(Wuzinum),--物资编号,外键

storehouse_numintnotnull

foreignkey(storehouse_num)referencesstorehouse_info(storehouse_num),

--仓库编号,外键

shelf_numintnotnull

foreignkey(shelf_num)referencesshelf_info(shelf_num),--货架编号,外键

wuziquantityintnotnull,--物资数量

indatedatetimenotnull--入库时间

3.4.8物资出库信息表

Createtableouthouse_info--物资出库信息表

outhouse_numintnotnullprimarykey,--出库编号,主键

Wuzinumintnotnull

foreignkey(Wuzinum)referenceswuzi_info(Wuzinum),--物资编号,外键

storehouse_numintnotnull

foreignkey(storehouse_num)referencesstorehouse_info(storehouse_num),

--仓库编号,外键

shelf_numintnotnull

foreignkey(shelf_num)referencesshelf_info(shelf_num),--货架编号,外键

wuziquantityintnotnull,--物资数量

outdatedatetimenotnull--出库时间

3.4.9约束

createrulerule_phone

as

@phonelike'1[3-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]'

Go--数据样式

sp_bindrule'rule_phone','buyer_info.buyer_phone'

go--绑定到列

sp_bindrule'rule_phone','supp_info.supphone'

go

altertableshelf_info

addconstraintchk_shelf_numcheck(shelf_numbetween0and100)

go--货架编号check约束

3.4.10触发器

--如果在inhouse_info表插入数据,将其中的wuziquantity与wuzinum表中的wuziquantity项相加

createtriggertri_xiugai1oninhouse_infoforinsert

as

begin

updatewuzi_infosetwuziquantity=wuziquantity+(selectwuziquantityfrominserted)

wherewuzinum=(selectwuzinumfrominserted)

end

go

--如果在outhouse_info表插入数据,将wuzinum表中的wuziquantity项减去outhouse_info表中的wuziquantity

createtriggertri_xiugai2onouthouse_infoforinsert

as

begin

updatewuzi_infosetwuziquantity=wuziquantity-(selectwuziquantityfrominserted)

wherewuzinum=(selectwuzinumfrominserted)

end

go

3.4.11存储过程

--输入物资编号,查询物资在仓库中的所有信息

createprocproc_chaxun

@wuzinumchar(100)

as

selectwuzi_info.wuzinum,wuziname,wuziquantity,storehouse_num,shelf_num

fromwuzi_info,shelf_info

wherewuzi_info.wuzinum=shelf_info.wuzinum

andwuzi_info.wuzinum=@wuzinum

3.5数据测试

3.5.1数据设计

各表中的数据如下图所示,其中inhouse_info表和outhouse_info表中不添加数据

采购表:

采购人员表:

供应商信息表:

仓库信息表:

货架信息表:

物资信息表:

3.5.2数据测试

(1)添加数据到inhouse_info表:

insertintoinhouse_info

values('10','520','1','1001','15','2013-06-26')

结果窗口显示:

分别查询inhouse_info表、shelf_info表和wuzi_info表,

(2)添加数据到outhouse_info表:

insertintoouthouse_info

values('13','521','3','1002','150','2013-06-26')

结果窗口显示:

分别查询inhouse_info表和wuzi_info表,

(3)执行存储过程proc_chaxun

execproc_chaxun'1003'

结果显示:

4、课程设计总结及心得体会

在这两周的课程设计中,我收获良多,由开始的E/R图,到数据流图,到设计数据库中的每个表,完善每个表间的关系,补充约束、触发器、存储过程,最后进行测试。

每个步骤中我都能温故知新获得新的知识。

开始做这个课程设计时,我真的有点不知所措,尽管其中的知识老师已经说过或者我们已经做过,但是当把所有学过的东西再联系起来的时候,那就不简单。

在不断的失败和寻找原因后,终于把数据库的基础模型设计出来。

然后就是在这个基础上不断完善,终于把这个仓库管理数据库完成了。

失败乃成功之母,做什么都不要害怕失败,总有一天会成功。

5、参考文献

[1]王知强.数据库系统及应用.北京:

清华大学出版社,2011.

[2]肖慎勇.SQLServer数据库管理与开发.北京:

清华大学出版社,2006.

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

当前位置:首页 > 求职职场 > 简历

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

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