仓库管理系统数据库课程设计.docx
《仓库管理系统数据库课程设计.docx》由会员分享,可在线阅读,更多相关《仓库管理系统数据库课程设计.docx(13页珍藏版)》请在冰豆网上搜索。
仓库管理系统数据库课程设计
江苏科技大学
电子信息学院
数据库课程设计
设计题目:
仓库管理系统(数据库部分)
专业班级:
通信工程12-1班
学号姓名:
汤伟杰**********
*******
实验地点:
张经管楼A区203
仓库管理系统
1.设计要求:
(1)信息要求
一般生产制造型或商品流通型企业需要使用仓库来存储大量的原材料和成品货物,
并且
货物种类繁多。
在仓库管理中,商品入库、商品出库、库存查询是最常见的工作。
由于这些
业务的繁杂性,
传统的手工记录在应对这些业务时,
常常显得十分笨拙,
而且经常容易出错,
效率也十分低。
因此企业需要通过先进的信息技术来解决这一问题,
为此数据库管理系统就
成了许多企业势在必行的研发课题。
(2)需求分析
●通过对企业仓库的了解,一般系统的具备以下功能:
●由于操作人员的计算机知识普遍偏低,因此要求系统具有良好的人机界面;
●方便的货物入库和出库管理;
●能够对联系单位,仓库和货物的资料进行修改;
●在入库操作时,选择相应的货物、单位和仓库进行入库操作;
●能够区分同种货物在不同仓库的存储情况,以免出库时出现错误;
●根据用户选择的查询条件,提供入库查询,出库查询和库存查询;
●完善的数据备份和还原功能;
●用户可修改自己的密码;
●管理员可修改用户权限,增加新用户;
2.设计目标:
1.希望通过本数据库达到以下功能
2.系统采用人机对话方式,界面美观又好,信息查询灵活、方便,数据存储安全可靠。
3.提供多种查询功能,至少包括入库、出库和库存等常用的查询功能。
4.能够建立完善的基础信息档案,至少包括联系单位、货物和仓库的档案。
5.设计使用的货物管理功能,至少包括入库和出库管理。
6.多用户输入的数据,进行严格的数据校验。
3.开发及运行环境:
系统开发品台:
MicrosoftVisualBasic6.0
开发语言:
VC++
数据库管理系统软件:
MicrosoftSQLServer2008R2
运行平台:
Win7
4.数据库描述:
采用SQLserver2008作为前台数据库
数据库设计
1.需求分析概要设计
针对我们之前的需求分析,我们对其做概要设计
由于操作人员的计算机知识普遍偏低,因此要求系统具有良好的人机界面;(我们使用VC++作为我们的汇编语言,提供其良好的人机界面)
方便的货物入库和出库管理;(我们建立入库表和出库表并使用应用程序相关功能对其提供支持)
能够对联系单位,仓库和货物信息的资料经行修改;(我们建立供应表,仓库表和货物表对其提供支持)
能够区分同种货物在不同仓库的存储情况,以免出库时出现错误;
根据用户选择的查询条件,提供客户信息查询,供应商查询,货物查询,仓库及管理员查询;
管理员可修改用户权限,增加新用户;
2.仓库定位及系统分析
仓库定位:
仓库定位于中小型企业的仓库,主要存放家电及一些日常用品
系统分析:
(1)因为是企业仓库,货物数量较多,种类也较多,所以在数据库中提供一定的存储空间提供支持;
(2)安全方面由于每天的进出货数量较大,管理员有一定责任,则当前时间使用(登陆)系统的管理员设为经手人;
(3)由于要有货物进出,所以当有相应的货单时,最好能有人性化的提示在那个时间那个仓库入库或者出库
3.仓库管理系统关系图:
仓库表:
仓库编号,仓库名,仓库面积,管理员编号,备注;
供应表:
货物编号,货物名,价格,供应商编号,仓库编号,管理员编号;
供应商表:
供应商编号,供应商名,联系人,电话,地址;
管理员表:
管理员编号,管理员姓名,电话,地址,工资;
客户表:
客户编号,客户名,联系人,电话,地址;
需求表:
货物编号,客户编号;
4.数据表设计:
仓库表信息
供应表信息
供应商表信息
管理员表信息
客户表信息
需求表信息
数据库的完整性分析
实体完整性:
在每个表中都设置了主键,并为非空
参照完整性:
(1)仓库表中的主键仓库编号是供应表中的外键;
(2)供应商表中的主键供应商编号是供应表中的外键;
(3)管理员表中的主键管理员编号是供应表中的外键;
(4)供应表中的主键货物编号,客户表中的主键客户编号分别是需求表中的外键。
约束完整性:
对电话,地址有要求不得为空。
对价格,工资有固定格式要求。
对价格,数量要求不下于零。
5.仓库管理系统数据库创建:
下面创建了供应商表
下面创建了管理员表
下面创建了仓库表
下面创建了供应表
下面创建了客户表
下面创建了需求表
6.数据库存储过程的创建
1.插入物品存储过程
在供应表中插入货物时判断货物是否已插入
2.插入供应商存储过程
这是为了判断供应商是否存在,有怎返回,无则添加
3.插入仓库存储过程
这是为了判断仓库是否存在,有则返回,无则添加
7.系统运行预览
登陆:
模块预览:
客户信息:
客户信息修改:
货物信息修改:
供应商信息及修改:
仓库及管理员信息:
8.问题及优化:
由于我是负责数据库的编写,界面的优化及问题就不在叙述,有徐楠和徐武丹同学阐述。
在客户端的编写过程中遇到了许多问题,其中大部分时花在代码调试上。
例如,当执行数据库语言时,由于Int型的属性不需要加单引号而char类型需要加,当char类型的没加单引号而int类型被加了,在编译时不会报错,而在运行时就会出现“列名无效”的异常,这也是自己不细心导致的结果。
当然,之后为了简便,除了价格,工资等特殊数据类型,其余一律改为varchar
9.个人心得体会:
经过本次课程设计,掌握了开发一个软件系统开发的整个过程,
从开始的需求分析到最后的验收。
首先,需求分析很重要,需求分析做的全面与否,关系到系统开发出来是否具有实用价值,就拿我做的仓库管理系统来说,首先我们得定位自己的仓库是为什么企业服务,是为大型生产型企业还是一般的超市,两者考虑的截然不同,大型生产型企业就得考虑货物的来源可能是原材料,可能是半成品,可能是成品,怎么摆放,仓库多大,能放多少东西等等一系列问题。
还有在需求分析时,就得确定做的系统需要完成哪些功能,
不能边开发边想,那样的话就有可能不断的修改花费大量的时间。
由于这次课程设计我负责数据库的开发,深刻的认识到数据库开发人员需要对整个界面系统非常了解,得和前台设计人员一起确定有哪些存储过程,每个存储过程都有哪些参数,返回值所代表的的意义,创建了那些视图,都有哪些属性,当然对于每个基本表的属性也要十分熟悉,不然在程序中执行SQL语句就不可能实现了。
所以编写应用程序的人员的任务是比较重的。
通过本次课程设计还认识到自己的经验明显不足,许多问题都没考虑周全,比如老师提出来的为什么修改和后退键都指向已修改的表等等,当然也是自己考虑的不够周全,其实解决这些问题并不难,但是如果优化了就能看出系统更加具有实际应用价值,这是我们以后在开发过程中需要注意的问题,稍稍的改进就能让系统更有亮点。
总之,通过本次课程设计,不论是在开发方法和技巧上还是个人经验上都学到了许多。
感谢老师对我们系统的分析以及对我们提出的宝贵意见和建议。
不仅让我们完善了我们的作品,同时也让我们知道了在以后的开发过程中应该注意哪些问题。