• 179.55 KB
  • 2022-05-16 18:34:51 发布

课程设计---仓库管理系统数据库的设计与实...

  • 11页
  • 当前文档由用户上传发布,收益归属用户
  1. 1、本文档共5页,可阅读全部内容。
  2. 2、本文档内容版权归属内容提供方,所产生的收益全部归内容提供方所有。如果您对本文有版权争议,可选择认领,认领后既往收益都归您。
  3. 3、本文档由用户上传,本站不保证质量和数量令人满意,可能有诸多瑕疵,付费之前,请仔细先通过免费阅读内容等途径辨别内容交易风险。如存在严重挂羊头卖狗肉之情形,可联系本站下载客服投诉处理。
  4. 文档侵权举报电话:19940600175。
课程设计报告课程设计题目:仓库管理系统数据库的设计与实现专业:班级:姓名:学号:指导教师:2011年11月25日 仓库管理系统数据库设计与实现一.实验时间、地点时间:第十三周(11月21日——25日)地点:软件楼305二.实验目的通过本次课程设计让学生能够综合运用所学的关系数据库原理知识解决并能设计一个实际问题,进一步掌握数据库原理的相关理论和数据库的设计实现过程,进一步提高学生的分析问题和解决问题的能力以及学生的动手能力。三、课程设计要求:1.对各个系统进行系统功能需求分析2.数据库设计分析阶段,进行详细的数据库需求分析,进行概念数据库的设计,画出数据库的E-R图(局部和整体E-R图)3.设计出详细的逻辑数据库结构,将各个实体和联系转化为相应的二维表即关系模式,指定各个关系的主关键字和外部关键字,并对各个关系的约束加以限定4.通过企业管理器或是查询分析器实现各个二维关系(建议最好用SQL代码实现),要求建立相关的索引5.根据系统功能需求设计相应的查询视图6.要求根据系统功能需求建立存储过程7.根据功能需求建立相应的触发器以保证数据的一致性8.通过建立用户和权限分配实现数据库一定的安全性,考虑数据库的备份与恢复(此内容选作)四.仓库管理系统实验要求描述:设计一个仓库管理系统,实现下列功能:1.零件信息登记(包括种类,名称和库存数量等信息);2.零件进库登记(包括种类,名称和库存数量等信息);3.零件出库登记(包括种类,名称和库存数量等信息); 五.实现思路1.关系模式零件信息表(零件编号,零件名,颜色,重量,单价,数量,零件类型号,生产商号)生产商情况表(生产商号,生产商名,生产商地址,生产商电话)入库登记表(零件编号,零件名,颜色,入库数量,零件类型,生产商号,入库时间)出库登记表(零件编号,零件名,出库数量,出库性质,提货人员,出库时间)零件类型信息表(零件类型号,类型,用途)2.设计思路仓库管理系统设计了五个二维表,他们的设计表如下(1)零件信息设计表(2)生产商情况设计表(3)入库登记设计表(4)出库登记设计表 (5)零件类型信息设计表3.仓库管理系统全局E—R图 零件信息重量单价数量零件编号零件类型号颜色出库入库入库登记零件编号零件名入库数量入库时间出库时间颜色生产商号零件类型生产商号零件名零件编号零件名出库数量出库性质提货人员出库登记 生产商情况生产商地址生产商名生产商号零件类型号生产商电话用途类型零件类型零件信息卖出类型六.实现过程createdatabase仓库管理系统on(name=仓库_dat,Filename="e:microsoftSQLServerMSSQLDate仓库.mdf",Size=10,Maxsize=150)Logon(name=仓库_log,Filename="e:microsoftSQLServerMSSQLDate仓库.ldf",Size=10,Maxsize=80)createtable零件信息表(零件编号char(10)primarykey,零件名char(10)notnull,颜色char(8),重量char(6),单价moneyconstraint单价_Chkcheck(单价between30and300), 数量int,零件类型号char(10),生产商号char(6));select*from零件信息表/***创建并查询零件信息表索引***/createuniqueindex零件信息_indexon零件信息表(零件编号)execSp_helpindex零件信息表createtable生产商情况表(生产商号char(6)primarykey,生产商名varchar(16)notnull,生产商地址varchar(40),生产商电话char(12));select*from生产商情况表 /***创建并查询生产商信息索引***/createindex生产商信息_indexon生产商情况表(生产商号)execSp_helpindex零件信息表createtable零件类型信息表(零件类型号char(10)primarykey,类型char(10),用途char(10));select*from零件类型信息表/***创建并查询零件类型信息索引***/createindex零件类型信息表_indexon零件类型信息表(零件类型号)execSp_helpindex零件类型信息表createtable入库登记表(零件编号char(10),零件名char(10)notnull,颜色char(8),入库数量int,零件类型char(8),生产商号char(6),入库时间datetime);select*from入库登记表/***创建并查询入库登记表索引***/createindex入库登记表_indexon入库登记表(零件编号)execSp_helpindex入库登记表 createtable出库登记表(零件编号char(10),零件名char(10),出库数量int,出库性质char(8)constraint出库性质_Chkcheck(出库性质in("售出","借出")),提货人员char(12),出库时间datetime);select*from出库登记表/***创建出库登记表索引***/createindex入库登记表_index1on出库登记表(零件编号)createindex入库登记表_index2on出库登记表(出库数量)createindex入库登记表_index3on出库登记表(出库时间)/***查询零件名为“半导体”的信息***/select零件编号,零件名,颜色,重量,单价,数量,生产商情况表.生产商名,生产商地址,生产商电话,零件类型信息表.类型,零件类型信息表.用途from零件信息表,生产商情况表,零件类型信息表where(零件信息表.零件类型号=零件类型信息表.零件类型号and生产商情况表.生产商号=零件信息表.生产商号and零件名="半导体")查询结果为:/***创建零件信息表视图***/createviewv_ljasselect*from零件信息表/***创建生产商情况表视图***/createviewv_scasselect*from生产商情况表createviewselect_零件信息表as select零件信息表.零件编号,零件信息表.零件名,零件信息表.零件类型号from零件信息表innerjoin零件类型信息表on零件信息表.零件类型号=零件类型信息表.零件类型号/***创建数量在70—200之间的规则,并绑定规则***/createrule数量_ruleas@数量>=70and@数量<=200execsp_helptext"数量_rule"execsp_bindrule"数量_rule","零件信息表.数量"execsp_unbindrule"零件信息表.数量"droprule数量_rule/***创建向表中添加信息的存储过程***/createprocedureinsert_零件信息(@零件编号char(10),@零件名char(10),@颜色char(8),@重量char(6),@单价money,@数量int,@零件类型号char(10),@生产商号char(6))asinsertinto零件信息表values(@零件编号,@零件名,@颜色,@重量,@单价,@数量,@零件类型号,@生产商号)execinsert_零件信息@零件编号="0013",@零件名="鼠标",@颜色="红色",@重量="1",@单价=65,@数量="237",@零件类型号="type3",@生产商号="N0010"select*from零件信息表/***删除存储过程***/dropprocedureinsert_零件信息 /***创建触发器并向利用触发器向表内添加信息***/createtriggerChangDisplayon零件信息表forinsertasselect*from零件信息表insertinto零件信息表values("0009","键盘","黑色","3",80,"210","type3","N010")七.实验总结本系统是一个面向小型企业,具有一定实用性的数据库仓库管理系统。它主要完成对零件仓库的一系列管理,包括入库、出库、库存以及供应商信息管理。本系统采用数据库SQL来完成整个系统的设计。在零件入库、出库和库存三者之间建立了良好的链接关系,某一部分地修改均会自动引发系统对与其相关的部分进行连锁修改。系统在设计过程中不可避免地遇到了各种各样的问题,由于整个系统完全都是由个人设计的,有关SQL的许多细节问题都要靠自己去摸索,加之本人水平有限,并没有完全地理解SQL的强大功能,而且还存在着许多不足之处。如:受开发条件和开发时间的限制,本系统能存储的数据量也有一定限制,并没有发挥出SQL在数据库方面的优势;报表打印功能尚不够全面完善,不能实现动态报表,在一些数据输入时没有及时的进行数据格式校验,不能保证数据输入的绝对正确性。由于时间关系,系统功能实现不够完善,使用不是很方便,比如,没有实现多条记录的连锁删除和添加以及数据的导入功能。这些都是需要完善的地方,该系统离实际使用也还有相当的距离,需要我进行不断地补充和完善。通过本次毕业设计我学到了不少新的东西,也发现了大量的问题,有些在设计过程中已经解决,有些还有待今后慢慢学习。只要学习就会有更多的问题,有更多的难点,但也会有更多的收获。