数据库管理设备.docx

上传人:李司机 文档编号:1130734 上传时间:2022-06-29 格式:DOCX 页数:41 大小:5.19MB
返回 下载 相关 举报
数据库管理设备.docx_第1页
第1页 / 共41页
数据库管理设备.docx_第2页
第2页 / 共41页
数据库管理设备.docx_第3页
第3页 / 共41页
数据库管理设备.docx_第4页
第4页 / 共41页
数据库管理设备.docx_第5页
第5页 / 共41页
点击查看更多>>
资源描述

《数据库管理设备.docx》由会员分享,可在线阅读,更多相关《数据库管理设备.docx(41页珍藏版)》请在三一办公上搜索。

1、目 录课 程 设 计 任 务 书2一、需求分析41、系统功能分析4 2、系统功能模块设计.6二、数据库设计71、ER图72、数据字典93、关系模式.13 4、关系表.14三、详细设计151. 项目功能模块152. 数据库建立过程的一些代码.253. web开发的一些代码.27四、项目需求环境.41五、体会和感想.42六、说明.421、 需求分析设备管理是针对于各种公司或者学校等进行的一个数据库设计,针对的是对于其功用的设备的管理进行的数据整理操作等。本设计中主要是设计到设备的状态比较多。从设备的进入公司到设备的分配、报修、维修、报废、返厂维修、设备存放等做一系列信息的整理。有设备的买卖、分配、

2、维修等操作的出现,自然的就设计到一些主体比如供应商、厂家、部门、员工、仓库。其中厂家主要是负责的设备的返厂维修,设计到一些返厂相关的信息,诸如返厂维修时间、维修原因、维修费用、维修结果、是否在保质期等等;供应商是对于设备的购入而牵连来的,其中包括的一些属性采购时间、采购员、采购价格、采购数量等等;部门是公司内部的分设的子集体,其中会牵涉到设备的分配、报修、报废的操作。在分配中分为两种状态借出和归还,属性有借出时间、归还时间、负责人以及是否可借等,在报修的联系中包含的属性有报修人、报修时间、报修原因、维修时间、费用和维修结果,在报废的联系中主要有一些报废的负责人、报废的原因、报废时间等的属性;员

3、工和部门是有联系的,设备又是属于员工管理,属于员工使用的。作为辅助性的必须具备有员工实体的存在。员工的固有属性比较明显、还有因为在部门的上岗而牵连出来一些联系属性。此数据库的数据量不是很大,关系可以借助于后面的数据图观测。1. 系统功能分析01.管理员的登录02.浏览所有的设备查询所有的设备信息修改设备的信息删除设备信息03.采购查询采购的设备信息增加采购设备信息修改采购设备信息 04.设备的返厂维修查询返厂的设备信息修改返厂设备的状态 05.设备的分配查询借出的设备信息及其使用的部门查询借出时间 查询归还的设备信息及其对应部门查询归还时间修改设备状态 06.设备的报修查询要报修的设备信息修改

4、设备的信息07.员工信息的查询及其修改 查询员工信息 修改员工信息08设备的报废 查询要报废的设备信息 修改报废的设备信息登录模块普通用户2. 系统功能模块设计管理员登陆 查询员工信息设 备 管 理 系 统 修改添加查询设备信息修改删除采购管理添加维修管理查询修改分配管理查询报废管理内部报修查询修改修改查询设备分配修改2、 数据库设计1. ER图01、员工信息02、设备03、供应商04、部门05、厂家06、仓库07、整个设备管理的ER图2. 数据字典01、员工表(员工编号、姓名、性别、年龄、工资、工龄、员工联系方式、从属部门编号,上岗时间)数据项名字段类型长度取值范围备注员工编号EmpIDch

5、ar10由十位数字组成标识员工的属性姓名EmpNamestring10无性别EmpSex string4(男,女)年龄EmpAgeint4=18工资EmpSalfloat82000-10000工龄EmpYearchar20员工联系方式EmpTelChar11由11位数字组成从属部门编号EmpDepChar3部门表中的编号数值上岗时间EmpHirdatetime8年月日02、设备表(设备编号、名称、类别、生产日期、价格、使用年限、供应商、数量、存放仓库号、仓库负责人编号、入库时间、库存量、出库时间、报废部门编号、报废负责人、报废原因、报废时间、是否连带附件)数据项名字段数据类型数据长度取值范围设

6、备编号DevIDchar10由十位数字组成名称DevNameString20类型DevTypeString20生产日期DevBirDatetime8年月日价格DevPriFloat8使用年限DevDeathInt2单位年存放仓库编号DevStoreIDChar3仓库负责人编号StoreEmpIdChar10入库时间StoreDateDatetime8年月日库存量CountInt403、供应商表(供应商编号、供应商名称、地址、负责人、供应商联系方式)数据项名字段数据类型数据长度取值范围供应商编号SupIDChar10有十位数字组成供应商名称SupNameString30地址SupAddrStri

7、ng50负责人SupEmpIdString10供应商联系方式SupTelChar1104、部门表(部门编号、部门名称、主管人员)数据项名字段数据类型数据长度取值范围部门编号DepIdChar3部门名称DepNameString10主管人员编号DepEmpIDString1005、厂家表(厂家编号、厂家名称、厂家地址、厂家联系方式)数据项名字段数据类型数据长度取值范围厂家编号FacIDChar15厂家名称FacAddrString50厂家地址FacAddrString50厂家联系方式FacTelChar1106、仓库(仓库编号、面积)数据项名字段数据类型数据长度取值范围仓库编号StoreIdCh

8、ar3面积StoreAreaFloat807、采购表(设备编号、供应商编号、采购时间、采购员、购买价格、采购数量)数据项名字段数据类型数据长度取值范围设备编号DevIDChar10供应商编号SupIDChar10采购时间PurDateDatetime8采购员编号PurEmpIDChar10购买价格PurPriceFloat8采购数量PurCountInt608、返厂维修表(设备编号、厂家编号、返厂时间、维修原因、维修结果、是否在保修期、维修费用)数据项名字段数据类型数据长度取值范围设备编号DevIDChar10厂家编号FacIDChar10返厂时间RetDateDatetime8维修原因Ret

9、CauseString30维修结果RetResultString20是否在保修期IsFreeChar2维修费用RetPriceFloat809、设备分配表(设备编号、部门编号、借出时间、归还时间、类型、负责人、是否可借)数据项名字段数据类型数据长度取值范围设备编号DevIDChar10部门编号DepIDChar3借出时间BorrowDatedatetime8年月日归还时间ReturnDatedatetime8年月日类型TypeString4(借出、归还)负责人编号FenEmpIDChar10是否可借IsBorrowString210、内部报修表(设备编号、部门编号、报修人编号、报修时间、报修原

10、因、维修时间、维修结果、维修费用)数据项名字段数据类型数据长度取值范围设备编号DevIDChar10部门编号DepIDChar3报修人编号RepEmpIDChar10报修时间RepDateDatetime8报修原因RepCauseString20维修时间RepTimeDatetime8维修费用RepPriceFloat8维修结果RepresultString1011、报废表(设备编号、报废部门编号、报废时间、报废负责人编号、报废原因)数据项名字段数据类型数据长度取值范围设备编号DevIDChar10报废部门编号BrokeDepIDChar3报废负责人编号BrokeEmpIDChar10报废时间

11、BrokeTimeDatetime8报废原因BrokeDateString503、 关系模式员工表(员工编号,姓名,性别,年龄,工资,工龄,员工联系方式,从属部门编号,上岗时间)设备表(设备编号,名称,类别,生产日期,价格,使用年限,存放仓库号,仓库负责人编号,入库时间,库存量)供应商表(供应商编号,供应商名称,地址,负责人,供应商联系方式)部门表(部门编号,部门名称,主管人员)厂家表(厂家编号,厂家名称,厂家地址,厂家联系方式)仓库表(仓库编号,面积)采购表(设备编号,供应商编号,采购时间,采购员,购买价格,采购数量)返厂维修表(设备编号,厂家编号,返厂时间,维修原因,维修结果,是否在保修期

12、,维修费用)报废表(设备编号、报废部门编号、报废时间、报废负责人编号、报废原因)4、 关系图3、 详细设计1. 项目功能模块1.1用户登录模块用户登录模块中,每个用户只能以自己的账号和密码登录到系统中,登录的时候可以选择自己要进行的操作类型,只是简单的查询操作的话,在登录界面中选择的登录类型就是普通用户型,选择的是管理员登录的话,进入的就是对于系统所有信息的查询和操作。给出的实例:普通用户: 账户(登录名) 001 密码 001管理员: 账户(登录名) 001 密码 001截图见下面的所示:1.1.1普通用户的操作界面普通用户的权限只是对于员工信息的查询和设备信息的查询,执行完操作之后,用户可

13、以借助于链接实现退出操作,退出自己的登录。1.1.2管理员的登录1.2员工信息模块员工信息的模块中涉及到的是对于员工的信息的查询修改和添加,考虑到本系统是针对的设备的系统管理,就忽略了对于员工信息的添加的操作功能。1.2.1员工信息查询1.2.2查询部门信息1.2.3员工信息修改1.2.4增加员工信息1.3设备信息模块设备信息模块中实现的是对于设备的信息增删改查,其中设备的添加功能是隶属于采购模块中的,这里一并说明。普通用户查询的时候,查询到的是信息的一部分信息,是通过在数据库中建立的虚表,也就是数据库中的视图,限制了普通用户的一些查询信息。二管理员的权限比较的大,所以可以直接通过基本表实现对

14、于数据的增删改查操作。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查询分配

15、的设备信息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_P

16、RC_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 ,入库时间 date

17、time 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) COL

18、LATE 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 PRIMARY

19、GO2.3对于普通用户查询的表(视图)建立视图是增加数据库安全性的一个表现,在本系统中主要是针对于用户的查询界面,其中管理员的权限是明显大于普通用户的,普通用户查询之后看到的是一些最基本的员工信息和设备的信息。运用的是可视化界面的操作,选中员工表中的一些列:员工的编号,姓名,部门和联系方式构建虚表。对于普通用户中的设备查询的操作中时也是基于此操作来实现的,建立的试图是设备表中的一些列:设备编号、名称、类型、存放仓库、仓库负责人。2.4数据库中的存储等存储过程是数据库中为了对于一些频繁的类似的操作进行的优化集中式的处理操作,在本系统中给出的一个存储过程是建立在对于查询的操作上,基于此操作来实现数

20、据库的高效率性。下面说明的就是对于普通用户查询查询员工表的操作。在员工表上建立的一个当输入的是一个员工的编号的时候,可以直接运行输出对应的查询结果。CREATE PROCEDURE sp_chaxunpt_id char(10)ASSELECT * FROM EMPTablewhere 员工编号=pt_idGO触发器在数据库中有着特殊的意义,它的出现实现了数据库中的一些表进行变化的时候,与此项有关的一些表的属性值可以发生对应的变化,强化了数据的完整性的约束和一些业务规则等。本设备管理系统中暂时没有考虑存储过程中的触发器的运用。至于数据库中表的主键、外键以及一些基本的约束的操作,在数据库建立数据

21、表的时候可以进行可视化的操作,操作简便,只是在操作的时候对于数据的字段的书写要准确无误。游标,由于本设备管理系统的前台开发使用的是jsp页面的处理,所以在jsp页面的时候运用前端的代码充分的体现了游标的好处。3 web开发的一些代码前端的开发使用的是纯jsp页面的操作,这里仅作一部分的代码示例3.1 登录界面Login.jspA.menuitem COLOR: menutext; TEXT-DECORATION: noneA.menuitem:hover COLOR: highlighttext; BACKGROUND-COLOR: highlightDIV.contextmenu BORDE

22、R-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(

23、) = 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 = 星期

24、二; 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() % 6000

25、0; 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.cal

26、endarClock3.innerHTML = Day_of_Today(); document.all.calendarClock4.innerHTML = CurentTime(); var webUrl = webUrl; document.write(); document.write();document.write(font );document.write(style=cursor:hand;color:#ff0000;font-family:宋体;font-size:14pt;line-height:120% );if (webUrl != netflower) documen

27、t.write(font ); document.write(style=cursor:hand;color:#2000ff;font-family:宋体;font-size:9pt;line-height:110% ); document.write(); document.write();document.write();document.write();document.write();document.write( );document.write( );document.write( );document.write( );document.write();document.write(); document.write(); setInterval(refreshCalendarClock(),1000);!-function makearray(size)this.length=size;for(i=1;i= msgi.length ) seq = 0 ;i+;interval=900;if(i3)i=1;window.setTimeout(Scroll();, interval );interval=100 ;/-登陆 郑州轻工业学院数据库课程设计-设备管理系统 请你输入 用户: 普通用户 管理员 登陆名: 密码:

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

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号