设备管理_数据库课程设计总结报告_第1页
设备管理_数据库课程设计总结报告_第2页
设备管理_数据库课程设计总结报告_第3页
设备管理_数据库课程设计总结报告_第4页
设备管理_数据库课程设计总结报告_第5页
已阅读5页,还剩39页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

郑州轻工业学院本科数据库课程设计总结报告设计题目 设备管理系统 学生姓名 关兴林 傅伟伟 学 号541007010208 541007010207系 别 计算机与通信工程学院 专 业 计算机科学与技术 班 级 10-02 指导教师 钱慎一 张 旭 2012 年 12月 30 日郑州轻工业学院课 程 设 计 任 务 书题 目 设 备 管 理 专业、班级 计算机科学与技术102 学号 540007010208 姓名 关兴林 学号 541007010207 姓名 傅伟伟 主要内容:系统数据初始化;员工信息的查询、修改和添加;设备信息的增删改查;设备的采购信息;设备的分配信息;设备的报修;设备的报废;设备的返厂维修。其中会涉及到一些实体的属性值。基本要求:立足于公司中设备的管理情况,实现对于设备的管理信息化,实现对于数据库的合理设计以及对于数据的合理的操作。主要参考资料等:数据库系统概论 作者:王珊 萨师煊 高等教育出版社SQL Server2005中文版关系数据库基础与实践教程作者:周峰 电子工业出版社SQL Server数据库开发实例精粹 作者:徐国智 汪孝宜 等 电子工业出版社完 成 期 限: 两周 指导教师签名: 课程负责人签名: 2012年 12月 30 日目 录课 程 设 计 任 务 书2一、需求分析41、系统功能分析4 2、系统功能模块设计.6二、数据库设计71、ER图72、数据字典93、关系模式.13 4、关系表.14三、详细设计151. 项目功能模块152. 数据库建立过程的一些代码.253. web开发的一些代码.27四、项目需求环境.41五、体会和感想.42六、说明.421、 需求分析设备管理是针对于各种公司或者学校等进行的一个数据库设计,针对的是对于其功用的设备的管理进行的数据整理操作等。本设计中主要是设计到设备的状态比较多。从设备的进入公司到设备的分配、报修、维修、报废、返厂维修、设备存放等做一系列信息的整理。有设备的买卖、分配、维修等操作的出现,自然的就设计到一些主体比如供应商、厂家、部门、员工、仓库。其中厂家主要是负责的设备的返厂维修,设计到一些返厂相关的信息,诸如返厂维修时间、维修原因、维修费用、维修结果、是否在保质期等等;供应商是对于设备的购入而牵连来的,其中包括的一些属性采购时间、采购员、采购价格、采购数量等等;部门是公司内部的分设的子集体,其中会牵涉到设备的分配、报修、报废的操作。在分配中分为两种状态借出和归还,属性有借出时间、归还时间、负责人以及是否可借等,在报修的联系中包含的属性有报修人、报修时间、报修原因、维修时间、费用和维修结果,在报废的联系中主要有一些报废的负责人、报废的原因、报废时间等的属性;员工和部门是有联系的,设备又是属于员工管理,属于员工使用的。作为辅助性的必须具备有员工实体的存在。员工的固有属性比较明显、还有因为在部门的上岗而牵连出来一些联系属性。此数据库的数据量不是很大,关系可以借助于后面的数据图观测。1. 系统功能分析01.管理员的登录02.浏览所有的设备查询所有的设备信息修改设备的信息删除设备信息03.采购查询采购的设备信息增加采购设备信息修改采购设备信息 04.设备的返厂维修查询返厂的设备信息修改返厂设备的状态 05.设备的分配查询借出的设备信息及其使用的部门查询借出时间 查询归还的设备信息及其对应部门查询归还时间修改设备状态 06.设备的报修查询要报修的设备信息修改设备的信息07.员工信息的查询及其修改 查询员工信息 修改员工信息08设备的报废 查询要报废的设备信息 修改报废的设备信息登录模块普通用户2. 系统功能模块设计管理员登陆 查询员工信息设 备 管 理 系 统 修改添加查询设备信息修改删除采购管理添加维修管理查询修改分配管理查询报废管理内部报修查询修改修改查询设备分配修改2、 数据库设计1. ER图01、员工信息02、设备03、供应商04、部门05、厂家06、仓库07、整个设备管理的ER图2. 数据字典01、员工表(员工编号、姓名、性别、年龄、工资、工龄、员工联系方式、从属部门编号,上岗时间)数据项名字段类型长度取值范围备注员工编号EmpIDchar10由十位数字组成标识员工的属性姓名EmpNamestring10无性别EmpSex string4(男,女)年龄EmpAgeint4=18工资EmpSalfloat82000-10000工龄EmpYearchar20员工联系方式EmpTelChar11由11位数字组成从属部门编号EmpDepChar3部门表中的编号数值上岗时间EmpHirdatetime8年月日02、设备表(设备编号、名称、类别、生产日期、价格、使用年限、供应商、数量、存放仓库号、仓库负责人编号、入库时间、库存量、出库时间、报废部门编号、报废负责人、报废原因、报废时间、是否连带附件)数据项名字段数据类型数据长度取值范围设备编号DevIDchar10由十位数字组成名称DevNameString20类型DevTypeString20生产日期DevBirDatetime8年月日价格DevPriFloat8使用年限DevDeathInt2单位年存放仓库编号DevStoreIDChar3仓库负责人编号StoreEmpIdChar10入库时间StoreDateDatetime8年月日库存量CountInt403、供应商表(供应商编号、供应商名称、地址、负责人、供应商联系方式)数据项名字段数据类型数据长度取值范围供应商编号SupIDChar10有十位数字组成供应商名称SupNameString30地址SupAddrString50负责人SupEmpIdString10供应商联系方式SupTelChar1104、部门表(部门编号、部门名称、主管人员)数据项名字段数据类型数据长度取值范围部门编号DepIdChar3部门名称DepNameString10主管人员编号DepEmpIDString1005、厂家表(厂家编号、厂家名称、厂家地址、厂家联系方式)数据项名字段数据类型数据长度取值范围厂家编号FacIDChar15厂家名称FacAddrString50厂家地址FacAddrString50厂家联系方式FacTelChar1106、仓库(仓库编号、面积)数据项名字段数据类型数据长度取值范围仓库编号StoreIdChar3面积StoreAreaFloat807、采购表(设备编号、供应商编号、采购时间、采购员、购买价格、采购数量)数据项名字段数据类型数据长度取值范围设备编号DevIDChar10供应商编号SupIDChar10采购时间PurDateDatetime8采购员编号PurEmpIDChar10购买价格PurPriceFloat8采购数量PurCountInt608、返厂维修表(设备编号、厂家编号、返厂时间、维修原因、维修结果、是否在保修期、维修费用)数据项名字段数据类型数据长度取值范围设备编号DevIDChar10厂家编号FacIDChar10返厂时间RetDateDatetime8维修原因RetCauseString30维修结果RetResultString20是否在保修期IsFreeChar2维修费用RetPriceFloat809、设备分配表(设备编号、部门编号、借出时间、归还时间、类型、负责人、是否可借)数据项名字段数据类型数据长度取值范围设备编号DevIDChar10部门编号DepIDChar3借出时间BorrowDatedatetime8年月日归还时间ReturnDatedatetime8年月日类型TypeString4(借出、归还)负责人编号FenEmpIDChar10是否可借IsBorrowString210、内部报修表(设备编号、部门编号、报修人编号、报修时间、报修原因、维修时间、维修结果、维修费用)数据项名字段数据类型数据长度取值范围设备编号DevIDChar10部门编号DepIDChar3报修人编号RepEmpIDChar10报修时间RepDateDatetime8报修原因RepCauseString20维修时间RepTimeDatetime8维修费用RepPriceFloat8维修结果RepresultString1011、报废表(设备编号、报废部门编号、报废时间、报废负责人编号、报废原因)数据项名字段数据类型数据长度取值范围设备编号DevIDChar10报废部门编号BrokeDepIDChar3报废负责人编号BrokeEmpIDChar10报废时间BrokeTimeDatetime8报废原因BrokeDateString503、 关系模式员工表(员工编号,姓名,性别,年龄,工资,工龄,员工联系方式,从属部门编号,上岗时间)设备表(设备编号,名称,类别,生产日期,价格,使用年限,存放仓库号,仓库负责人编号,入库时间,库存量)供应商表(供应商编号,供应商名称,地址,负责人,供应商联系方式)部门表(部门编号,部门名称,主管人员)厂家表(厂家编号,厂家名称,厂家地址,厂家联系方式)仓库表(仓库编号,面积)采购表(设备编号,供应商编号,采购时间,采购员,购买价格,采购数量)返厂维修表(设备编号,厂家编号,返厂时间,维修原因,维修结果,是否在保修期,维修费用)报废表(设备编号、报废部门编号、报废时间、报废负责人编号、报废原因)4、 关系图3、 详细设计1. 项目功能模块1.1用户登录模块用户登录模块中,每个用户只能以自己的账号和密码登录到系统中,登录的时候可以选择自己要进行的操作类型,只是简单的查询操作的话,在登录界面中选择的登录类型就是普通用户型,选择的是管理员登录的话,进入的就是对于系统所有信息的查询和操作。给出的实例:普通用户: 账户(登录名) 001 密码 001管理员: 账户(登录名) 001 密码 001截图见下面的所示:1.1.1普通用户的操作界面普通用户的权限只是对于员工信息的查询和设备信息的查询,执行完操作之后,用户可以借助于链接实现退出操作,退出自己的登录。1.1.2管理员的登录1.2员工信息模块员工信息的模块中涉及到的是对于员工的信息的查询修改和添加,考虑到本系统是针对的设备的系统管理,就忽略了对于员工信息的添加的操作功能。1.2.1员工信息查询1.2.2查询部门信息1.2.3员工信息修改1.2.4增加员工信息1.3设备信息模块设备信息模块中实现的是对于设备的信息增删改查,其中设备的添加功能是隶属于采购模块中的,这里一并说明。普通用户查询的时候,查询到的是信息的一部分信息,是通过在数据库中建立的虚表,也就是数据库中的视图,限制了普通用户的一些查询信息。二管理员的权限比较的大,所以可以直接通过基本表实现对于数据的增删改查操作。1.3.1设备信息查询1.3.2设备信息修改 1.3.3删除设备信息1.4采购管理模块采购模块主要是考虑到了是对于数据库中设备信息的添加,所以在前端开发的时候只是对于设备的添加操作进行的,当然这个模块的权限是隶属于管理员的,普通用户没有此权限。1.4.1添加采购设备信息1.5维修管理模块维修管理模块实现的是对于需要进行返厂维修的设备的信息处理操作,这里只是给出了一些基本的查询和修改页面。后期的开发中可以添加对于设备维修的增加的操作。1.5.1查询返厂维修设备信息1.5.2修改返厂维修设备的信息1.6分配管理模块分配管理模块实现的是对于设备的分配处理操作。1.6.1查询分配的设备信息1.6.2修改分配的设备信息 1.6.3设备分配管理信息1.7内部报修模块内部报修是对于损坏了的设备信息进行的操作。1.7.1设备内部报修查询1.7.2修改报修设备的信息1.8报废模块报废模块实现的是对于报废的设备信息的查询以及修改信息,由于时间的原因,对于报废模块的添加的操作这里没有给出相应的页面,在后期的开发过程中可以实现这个操作页面。1.8.1查询报废的设备信息1.8.2修改报废的设备信息2. 数据库建立过程的一些代码示例:2.1设备表建立的sql语句:CREATE TABLE dbo.shebeiTable1 (设备编号 char (10) COLLATE Chinese_PRC_CI_AS NOT NULL ,名称 varchar (20) COLLATE Chinese_PRC_CI_AS NOT NULL ,类型 varchar (20) COLLATE Chinese_PRC_CI_AS NOT NULL ,生产日期 datetime NOT NULL ,价格 float NOT NULL ,使用年限 int NOT NULL ,存放仓库编号 char (3) COLLATE Chinese_PRC_CI_AS NOT NULL ,仓库负责人编号 char (10) COLLATE Chinese_PRC_CI_AS NOT NULL ,入库时间 datetime NOT NULL ,库存量 int NOT NULL ) ON PRIMARYGO2.2员工表建立的sql语句:if exists (select * from dbo.sysobjects where id = object_id(Ndbo.EmpTable) and OBJECTPROPERTY(id, NIsUserTable) = 1)drop table dbo.EmpTableGOCREATE TABLE dbo.EmpTable (员工编号 char (10) COLLATE Chinese_PRC_CI_AS NOT NULL ,姓名 varchar (10) COLLATE Chinese_PRC_CI_AS NOT NULL ,性别 varchar (4) COLLATE Chinese_PRC_CI_AS NOT NULL ,年龄 int NOT NULL ,工资 float NOT NULL ,工龄 char (2) COLLATE Chinese_PRC_CI_AS NULL ,员工联系方式 char (11) COLLATE Chinese_PRC_CI_AS NOT NULL ,从属部门编号 char (3) COLLATE Chinese_PRC_CI_AS NOT NULL ,上岗时间 datetime NULL ) ON PRIMARYGO2.3对于普通用户查询的表(视图)建立视图是增加数据库安全性的一个表现,在本系统中主要是针对于用户的查询界面,其中管理员的权限是明显大于普通用户的,普通用户查询之后看到的是一些最基本的员工信息和设备的信息。运用的是可视化界面的操作,选中员工表中的一些列:员工的编号,姓名,部门和联系方式构建虚表。对于普通用户中的设备查询的操作中时也是基于此操作来实现的,建立的试图是设备表中的一些列:设备编号、名称、类型、存放仓库、仓库负责人。2.4数据库中的存储等存储过程是数据库中为了对于一些频繁的类似的操作进行的优化集中式的处理操作,在本系统中给出的一个存储过程是建立在对于查询的操作上,基于此操作来实现数据库的高效率性。下面说明的就是对于普通用户查询查询员工表的操作。在员工表上建立的一个当输入的是一个员工的编号的时候,可以直接运行输出对应的查询结果。CREATE PROCEDURE sp_chaxunpt_id char(10)ASSELECT * FROM EMPTablewhere 员工编号=pt_idGO触发器在数据库中有着特殊的意义,它的出现实现了数据库中的一些表进行变化的时候,与此项有关的一些表的属性值可以发生对应的变化,强化了数据的完整性的约束和一些业务规则等。本设备管理系统中暂时没有考虑存储过程中的触发器的运用。至于数据库中表的主键、外键以及一些基本的约束的操作,在数据库建立数据表的时候可以进行可视化的操作,操作简便,只是在操作的时候对于数据的字段的书写要准确无误。游标,由于本设备管理系统的前台开发使用的是jsp页面的处理,所以在jsp页面的时候运用前端的代码充分的体现了游标的好处。3 web开发的一些代码前端的开发使用的是纯jsp页面的操作,这里仅作一部分的代码示例3.1 登录界面Login.jspA.menuitem COLOR: menutext; TEXT-DECORATION: noneA.menuitem:hover COLOR: highlighttext; BACKGROUND-COLOR: highlightDIV.contextmenu BORDER-RIGHT: 2px outset; BORDER-TOP: 2px outset; Z-INDEX: 999; VISIBILITY: hidden; BORDER-LEFT: 2px outset; BORDER-BOTTOM: 2px outset; POSITION: absolute; BACKGROUND-COLOR: buttonfacefunction Year_Month() var now = new Date(); var yy = now.getYear(); var mm = now.getMonth()+1; var cl = ; if (now.getDay() = 0) cl = ; if (now.getDay() = 6) cl = ; return(cl + yy + 年 + mm + 月); function Date_of_Today() var now = new Date(); var cl = ; if (now.getDay() = 0) cl = ; if (now.getDay() = 6) cl = ; return(cl + now.getDate() + ); function Day_of_Today() var day = new Array(); day0 = 星期日; day1 = 星期一; day2 = 星期二; day3 = 星期三; day4 = 星期四; day5 = 星期五; day6 = 星期六; var now = new Date(); var cl = ; if (now.getDay() = 0) cl = ; if (now.getDay() = 6) cl = ; return(cl + daynow.getDay() + ); function CurentTime() var now = new Date(); var hh = now.getHours(); var mm = now.getMinutes(); var ss = now.getTime() % 60000; ss = (ss - (ss % 1000) / 1000; var clock = hh+:; if (mm 10) clock += 0; clock += mm+:; if (ss 10) clock += 0; clock += ss; return(clock); function refreshCalendarClock() document.all.calendarClock1.innerHTML = Year_Month(); document.all.calendarClock2.innerHTML = Date_of_Today(); document.all.calendarClock3.innerHTML = Day_of_Today(); document.all.calendarClock4.innerHTML = CurentTime(); var webUrl = webUrl; document.write(); docume

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论