资源描述
数据结构 实训报告(常用版)
(可以直接使用,可编辑 完整版资料,欢迎下载)
北京联合大学
实训报告
课程(项目)名称: 数据库原理
学 院: 联大师范学院 专 业:计算机科学与技术
姓 名: 刘雪飞 成 绩:
2012年 6 月 8 日
目录
1 引言 4
1.1 系统开发背景 4
1.2 研究的目的与意义 4
1.3 本文研究的内容 6
1.4相关工具及技术 6
2 需求分析 7
2.1 项目设计的基本原理 7
2.2 可行性研究 7
2.2.1 技术可行性 7
2.2.2 经济可行性 8
2.2.3 操作可行性 8
2.2.4 社会因素可行性 8
2.2.5 可行性研究结论 8
2.3 系统功能及用户需求分析 8
2.4 系统安全性及完整性需求 9
2.5 运行需求 9
3 系统概要设计 10
3.1 总体设计原理 10
3.2 数据描述 12
3.3 数据字典 14
3.3.1 数据卡片 14
3.3.2 数据流条目 16
3.3.3 文件条目 16
3.4 系统流程图 17
4 数据库系统设计 19
4.1 数据库系统设计及范式分析 19
4.2 数据库的概念设计 21
4.1.1 局部E-R模式设计 21
4.1.2 全局E-R设计 22
4.3 数据库表设计 23
4.4 Visual Basic中的数据库控件ADO的介绍 25
5 系统详细设计 26
5.1 系统功能模块图 26
5.2 模块功能设计及小组成员任务分配 28
5.2.1 系统登陆模块的设计 28
系统主界面 29
设备购置管理模块设计 30
设备维修模块设计 30
设备报废模块设计 31
入库查询与统计模块设计 31
维修查询与统计模块设计 32
报废查询与统计模块设计 34
设备类型管理模块设计 37
设备基本信息管理模块设计 40
用户信息管理模块设计 41
其他模块设计 41
6 系统测试 42
6.1 测试目的 42
6.2 测试实现与成果分析 43
结 论 44
致 谢 45
参 考 文 献 46
评 语 47
实训项目:实验室设备管理系统
1 引言
1.1 系统开发背景
实验室是所有高校,研究机构必不可少的基本构成单位,实验室设备管理又是每个单位都要面对的问题。目前高校内教学设备众多但自动化管理水平相比过低,很多高校管理设备都采用在设备购进以后将设备的基本情况和相关信息登记存档。存档以后档案基本就没人记录与维护,至于以后设备的变迁或损坏都不会记录在设备档案中,即不能体现设备的即时状态。如果通过传统手工管理方法来处理这些数据,手续繁琐复杂,层次很多,步骤重复。管理员不仅劳动强度大,而且易出现数据混乱。遇到上级和主管部门要统计数据时,就要从全院几千台设备账目中逐台查找,工作效率极低。特别是在制定规划,计划时,需要通过仪器设备的各种统计资料来作出判断和决策,人工的速度和准备度都难以满足要求。因此,如何提高实验室的管理水平,整合实验室资源,最大限度地发挥实验仪器设备的功能,已成为实验室管理的重大课题。
要想提高工作效率,必须提高管理水平,更新管理手段。1986年全国高等院校实验室工作会议文件中指出:有条件的学校,要积极研究采用计算机进行管理,实现实验室管理现代化。将管理任务分成小块,落实到个人并能随时查询设备当前情况和历史情况,对设备的可靠性分析有直接作用,使管理人员从手工计算、统计工作中解脱出来。因此,对仪器设备进行计算机管理,已经成为高效实验室工作中一项非常重要的任务。实验室设备管理系统,是为了实验实验室设备管理而设计的,同时它也是现在各个部门的一个重要环节。随着电气化教学和无纸化办公的一步步完善,利用计算机系统管理实验室设备势在必行。
1.2 研究的目的与意义
现在,科学技术的飞速发展把人类社会推向了一个崭新的时代——信息时代。这已是无可争议的事实;信息对社会经济发展的巨大推动作用,使其与物质能源一起并列为现代社会的三大支柱,这已在全社会达到共识。随着对信息作为一种资源来管理的需求日益加强,信息研究领域出现了一种新的管理思想和模式——信息管理。因此,就诞生了“信息管理”这样一个概念。由于信息是普遍存在的,人类信息管理活动的范围也是十分广泛的,信息管理不仅是信息工作的一部分,而且已被认为是现代管理的重要组成部分。信息管理的概念源于西方,也是在世界信息量迅速增长、信息技术日新月异、信息产业强劲发展的六七十年代出现的。时至今日,信息管理已不仅仅是一个概念,而是信息学和管理学中的重要内容了。对信息管理的理解,一种认为是,信息管理就是对信息的管理。在此,信息管理是指狭义的信息资源管理,实际上就是对信息本身的管理;另一种认为,信息管理不仅是对信息的管理,而是对涉及信息活动的各种要素,如信息、技术、人员、组织进行合理的组织和有效的控制,从而满足社会的信息需求。在此,信息管理是指广义的信息资源管理。综合两种理解,信息管理是指对人类信息活动所产生的社会信息进行管理,信息管理是管理的一种,既要对信息进行管理,也要对信息活动进行管理。信息和信息活动都是信息管理的客体。简而言之,信息管理就是对信息和信息活动的管理,这就是我们对信息管理的全面理解。世界经济发展已进入一个激烈竞争的年代,可以说,谁先获得信息,谁就有可能抓住发展经济的机遇。同样,谁能很好地管理和利用信息,谁就有可能占领市场,获得效益。国内外大量事实已说明:在目前这个激烈竞争的市场经济中,谁的信息管理现代化水平高,谁重视信息资源的开发和利用,谁就能抓住机遇,在竞争中取胜。在这么一个大趋势下,各种信息管理系统软件应运而生,实验室设备仪器管理系统当然也是其中的一种。
实验室设备仪器管理系统,对实验室的管理工作有着重大影响。它有着有手工管理所无法比拟的优点。例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提设备管理的效率,也是正规化管理,与世界接轨的重要条件。
实验室仪器设备管理系统有一定的先进性。这样,有利于提高实验室设备仪器的管理水平,有利于二级管理部门增强责任心,节约成本和劳力。其次,在采购部门购入相应的设备后即可以凭供货商所出具的发票录入管理系统,随即打印相应的验收单,进而可以产生相对应的固定资产标签条码贴于新购置的设备上。利用实验室设备管理系统,可以实现大批量及零星采购教学设备的微机管理,实验室设备管理系统着眼于设备购置入帐后的日常设备管理,注重设备的型号、规格、单价、领用单位、现状及经费科目等的管理,即技术和经济的管理。如此持之以恒不仅有利于仪器设备帐目的完整性而且还保持了仪器设备帐目的真实性。
在高校中使用实验室仪器设备管理系统不仅可以满足本单位仪器设备管理需要,而且还能满足向国家教育部上报数据的需要。实验室和仪器设备统计信息是评价教学质量、制定相关政策的重要参考依据。做好高校实验室和仪器设备统计工作,不仅有利于高校加强对实验室工作的规范化制度化管理,而且还有利于分析总结教学资源建设情况,加强建设,整合资源,提高实验室利用率,促进学院教学和科研的发展。
本信息系统合理的借鉴国际领先的实验室设备管理思想并结合国内学校实验室设备管理现状,基本能满足一般学校设备管理的需要。通过使用系统将会提高学校实验室的办公效率和设备可靠性,减少工作人员的劳动强度,减少办公耗材,提高学校实验室的现代化管理水平。
1.3 本文研究的内容
本文主要介绍了研究开发单机版的实验室仪器设备管理系统,掌握C/S结构信息管理系统开发的一般步骤和方法,了解并能运用程序开发语言以及数据库的使用和开发,培养综合运用所学理论知识和技能来解决实际问题的能力。
1.4相关工具及技术
该实训报告用的是编程语言是Visual Basic6.0,原因如下:首先,VB是一门基于面向对象的编程语言,编写简单,界面友好,易学易懂。其次,VB源自于BASIC编程语言,具有高级程序设计语言的语句结构,接近于自然语言和人类的逻辑思维方式。Visual Basic语句简单易懂,其编辑器支持彩色代码,可自动进行语法错误检查,同时具有功能强大且使用灵活的调试器和编译器。最后,VB拥有图形用户界面(Graphical User Interface,简称GUI)和快速应用程序开发(Rapid Application Development,简称RAD)系统,可以轻易的使用DAO、RDO、ADO连接数据库,或者轻松的创建ActiveX控件。程序员可以轻松的使用VB提供的组件快速建立一个应用程序。
面向对象的程序设计思想:
对象:先是世界中的实体,如汽车。
属性:描述形象的特征,如车的颜色。
方法:向对象实施的动作,如启动车。
时间:动作所触发的操作,如红灯亮。
事件驱动的编程机制:由时间来引发程序的运行,结构化的程序语言设计,支持多种数据库系统访问。
后台数据库我用的SQL Server 2005。首先,SQL Server 2005非常易于安装,部署和使用。SQL Server 2005 中包括一系列管理和开发工具,这些工具可改进在多个站点上安装、部署、管理和使用 SQL Server 的过程。SQL Server 2005 还支持基于标准的、与 Windows DNA 集成的程序设计模型,使 SQL Server 数据库和数据仓库的使用成为生成强大的可伸缩系统的无缝部分。这些功能使您得以快速交付 SQL Server 应用程序,使客户只需最少的安装和管理开销即可实现这些应用程序。其次,SQL Server 2005还包括很多其他的特性,例如Internet 集成,可伸缩性和可用性强,同一个数据库引擎可以在不同的平台上使用,企业级数据库功能等。当然,其中还有个重要原因就是以前学数据库的时候,我们就是以SQL为实例学习的,有一定的基础。
Windows XP作为本系统开发的系统平台,以其友好的图形界面,易学易用的操作方法,强大的多任务功能,健全的内在管理以及先进的程序设计方法为广大的数据库软件开发人员所熟悉。对它的操作环境的熟悉,使得我们在开发数据库应用程序更加的方便和可靠。
2 需求分析
2.1 项目设计的基本原理
软件工程是一门从技术到组织管理两个角度研究如何用系统化,规范化和数量化等工程原理和方法去进行软件开发和维护的科学。软件工程学研究的范围非常广泛,包括技术方法,工具和管理等许多方面。软件生命周期的各个阶段可分为:
问题定义:确定系统的基本功能。
可行性研究:确定系统是否能够实现及是否值得实现。
需求分析:确定系统必须完成的各种功能。
总体设计:确定如何试验软件。
详细设计:详细设计实验系统。
编码和单元测试:写出正确的容易理解和维护的程序模块。
综合测试:通过各种类型的测试及调试使软件达到预定的要求。
软件维护:通过各种必要的维护活动使系统持久地满足用户需要。
采用软件工程的技术方法开发本系统,通过以上八个阶段组成软件的生存期。它是指从提出开发要求开始直到该软件报废为止的整个时期。分阶段进行,就把规模庞大,结构复杂和管理复杂的软件变得容易控制和管理。
2.2 可行性研究
技术可行性
一个完备的实验室设备管理信息系统具有以下优越性:
方便校领导查询实验室设备的使用情况,节省时间,可以提高系统的工作效率和准确性。为了适应新形势的发展,我进行了这一系统的初步设计工作,也可以说是做一个初步的探索,希望它能够在查询实验室设备信息时发挥高校,便捷的作用,把系统管理员从繁重的工作中解脱出来!
该实验室设备管理系统是以SQL Server 2005数据库为后台核心应用,以服务为目的的信息平台,对资源进行科学加工和管理维护,为实验室设备信息提供管理。
2.2.2 经济可行性
经济可行性主要依据是成本/效益分析,该系统的目标是以最低的成本,在最短的期限内开发出实验室设备管理系统。系统能减少很多不必要的资源,不用像以前那样用冗余的纸张化管理。大大节省了学校能源。并且计算机的存储与快速查询功能大大提高了实验室设备管理系统的效率,并且还提高了实验室设备信息管理的精确度。
方便快捷的操作,可减少实验室设备信息管理的漏洞,又减少因工作的冗余出现的错误,并且操作非常简单,可减少许多不很必要的人员,这无论从物质上还是工作人员的工资上都为学校节约了开支,为学校增加了财富。
目标系统开发需求比较低,加上具有成熟的软硬件环境,所以在软硬件的支出上比较低。而且,目标系统并不是十分的复杂。当系统开发完实际运行后,将很大程度上提高计算机的功能,在为使用者带来便利的同时,也为系统的进一步推广创造了条件。这带来的经济回报将远超于支出,并且最重要的是该软件的开发可以使我们对系统的开发有全面的认识。从经济角度考虑,此实验室设备管理系统开发可行。
操作可行性
用户仅需具有基本的电脑操作能力即可。
社会因素可行性
从法律因素和安全用正版和免费角度考虑,所有技术参考资料都经授权,开发合法。
可行性研究结论
依据以上因素,本实验室设备管理系统开发项目不仅方便快捷,高校,而且社会效益比较好,从而使本系统的开发者相信该系统开发出来之后将取得的成功。
综上所述,此项目在技术,经济,操作和社会效益上是完全可行的。
2.3 系统功能及用户需求分析
管理员可以对实验室设备信息进行查询及相关设验室设备的使用情况察看。管理员可以根据本人用户名和密码登陆系统。在信息系统中,后台数据库存储的地位相当重要。数据库的设计不但对数据的操作速度由影响,还直接关系到软件系统的质量和生存周期。本系统采用了SQL数据库,库中包括用户登录表,入库设备表,出库设备表,设备基本信息表,库存设备表等。
功能需求
系统登陆:用户运行实验室设备管理系统后,就进入一个登陆界面,用户需要输入正确的用户名和密码之后才能使用本系统。
系统管理:其中包括管理平台用户,账号的创建,删除,修改等;密码设置,密码是一个管理系统正常运行的一个重要保障,在这里可以对密码进行重新修改,删除等操作;系统参数配置,对系统运行环境的配置;数据库管理,其中包括数据库的还原,备份,删除等。
设备分类设置:可以添加,修改,删除本级和下级的不同级别的设备类别,如基础设备,常用设备,仪器设备,玻璃设备,消耗用品等。
入库管理:对于入库的一些实验设备,按照供应商,数量,单价,商品名等一些基本信息录入系统数据库,以及后续可以修改,删除。
出库管理:因使用,报废,维修等不同原因而出库的设备,按照数量,单价,商品名在这里有所记录,以及可以进行删除,修改等操作。
库存查询:在商品名中选择所要查询的商品,就能显示出所要查询商品的库存信息,如剩余数量,价格等。
退出系统:退出本系统,恢复系统的实始状态。
2.4 系统安全性及完整性需求
本软件作为实验室设备管理信息系统设备,它的规模比较小,不需要保密技术;只需限定一个程序中某些区域的规约,给不同的模块分配不同的功能即可。本系统的源程序采用VB编写,不会被传到客户浏览器,因而可以避免所写的源程序被他人剽窃,也提高了程序的安全性。
2.5 运行需求
为了保证系统运行的效率和可靠性,系统应具有较高的软硬件配置。
(1)硬件要求:
CPU:Intel PIII及以上;
内存:256MB及以上;
硬盘:10GB及以上。
(2)软件要求:
操作系统:Windows 2003/XP/Vista;
数据库:SQL Server 2005及以上。
3 系统概要设计
3.1 总体设计原理
总体设计的基本目的就是回答“概括的说,系统应该如何实现?”这个问题。因此,总体设计又称为概要设计或初步设计。通过这个阶段的工作将划分出组成系统的物理元素—程序,文件,数据库,人工过程和文档等等,但是每个物理元素仍然处于黑盒子级,这些黑盒子里的具体内容将在以后详细设计。总体数据阶段的另一项重要任务是设计软件的结构,也就是要确定系统中每个程序是由哪些模块组成的,以及这些模块相互之间的关系。
总体设计工程通常有两个主要阶段组成:系统设计,确定系统的具体实现方案;结构设计确定软件机构,也就是要确定系统中每个程序拥有哪些模块组成的,以及这些模块之间的关系。在详细设计之前进行总体设计可以站在全局的高度上,花较少的成本,从中选出最佳方案和最合理的软件结构,从而用较低的成本开发出高质量的软件系统。
而实验室设备管理系统所用到的结构设计的方法,为自顶向下的方法,即首先定义全局概念结构的框架,然后逐步细化。如图3.1所示。
用一系列图表列出本程序系统内的每个程序(包括每个模块和子程序)的名称、标识符和它们之间 的层次结构关系。设备管理员操作模块如图3.2.2所示。系统功能操作模块如图3.2.3所示。
实验室设备管理系统
系统功能操作
设备管理员操作
上级领导操作
用户登陆管理
系统维护管理
设备查询管理
设备维修管理
设备购买管理
设备报废管理
审核管理
图 初步设计系统模块结构图
合法性检测
有效登录信息?
操作界面
N
Y
开始
终止
用户名及密码
图 管理员操作模块图
操作界面
检查系统
N
Y
开始
终止
选择操作类型
设备操作界面
图 系统功能操作模块图
3.2 数据描述
数据流图(DFD)是一种图形化设计,它描绘信息流和数据从输入移动到输出的过程中所经受的变换。在数据流图中没有任何具体的物理部件,它只是描绘数据在软件中流动和被处理的逻辑过程。
数据流图的基本目的是利用它作为交流信息的工具,还有一个重要的作用就是作为分析和设计的工具。
一个完整的软件系统需要有一个完整的,系统化的数据流向,数据的输入输出以及数据在整个过程中经过哪些路径,都尽可能的在数据流图中表示出来,数据流处于运动中的数据。下面是针对本开发系统设计的“数据流程图”所示:
设备管理员
实验室设备管理系统
上级领导
登录信息
无效登录信息
申请/维修/报废/查询操作
处理结果
审核信息
审核结果
图 顶层数据流图
1
身份验证
2.1
处理要求
2.2
审核
登录信息
无效登录信息
合法信息
合法信息
处理要求
处理结果
审核信息
审核结果
终端显示器
上级领导
用户
图 0层数据流图
1
身份验证
2.1
统计查询
2.2
维修
2.3
购买
2.4
报废
3
审核
合法信息
查询信息
维修设备
新设备
报废设备
申请设备
批准
批准
申请设备
设备基本信息表
D1
维修记录表
申请表
新设备表
报废记录表
D4
D3
D2
D5
用户
图 一层数据流图
3.3 数据字典
数据字典是关于数据的信息的集合,也就是对数据流图中包含的所有元素的定义的集合。数据流图和数据字典共同构成系统的逻辑模型。
数据卡片
名字:维修报表
别名:维修信息
描述:每天一次送给管理员的需要维修的设备的信息表
定义:购置报表=设备编号+设备名称+主要维修师+次要维修师
位置:输出到打印机
名字:购置报表
别名:购置信息
描述:每天一次送给管理员的需要购买新设备的息表
定义:购置报表=设备编号+设备名称+购置数量+目前价格+主要供应者+次要供应者
位置:输出到打印机
名字:设备信息
别名:设备编号
描述:唯一的标识实验室中一种设备的关键域
定义:设备信息=设备编号+设备名称+型号+类别/设备编号=8{字符}8
位置:购置报表 购置信息 维修报表 维修信息
名字:购置数量
别名:
描述:每一种设备一次购买的数量
定义:购置数量={数字}
位置:购置报表 购置信息
名字:维修数量
别名:
描述:每一种设备一次要维修的台数
定义:维修数量={数字}
位置:维修报表 维修信息
3.3.2 数据流条目
(1)登入信息
输入:设备管理员
输出:身份验证
描述:登入信息=用户名+密码+登入权限
(2)查询信息
输入:合法人员对设备的查询操作
输出:设备信息
描述:查询信息=设备名称/设备编号/型号/类别
(3)维修信息
输入:所需维修设备的信息
输出:确定维修设备的记录
描述:维修信息=设备名+修理日期+修理师傅+修理费用等
(4)新设备
输入:购置设备的信息
输出:确定购置的新设备的记录
描述:新设备=设备编号+设备名+型号+单价+数量等
(5)维修设备
输入:所需维修的设备的信息
输出:维修的设备记录
描述:维修设备=设备名称+设备编号+型号等
(6)审核信息
输入:审核
输出:上级领导
描述:审核信息=维修设备信息/新设备购置记录
文件条目
(1)登入表
输入:身份验证1
输出:身份验证1
数据结构:用户名+密码+登入权限
(2)设备基本信息表
输入:统计查询
数据结构:类别+设备名称+设备编号+型号等
(3)维修记录表
输入:统计查询,维修
输出:统计查询
数据结构:设备名称+维修师傅+维修日期+维修费用等
(4)新设备表
输入:统计查询,购置
输出:统计查询
数据结构:设备名称+设备编号+型号+价格+数量等
(5)申请表
输入:统计查询,产成报表
输出:统计查询,生成报表,购置/维修
数据结构:设备名称+设备编号+型号+数量等
3.4 系统流程图
系统流程图是概括地描绘物理系统的传统工具,它能清楚的显示系统的每一个部件(程序,文档,数据库等)。系统流程图表达的是数据在系统各部件之间流动的情况,而不是对数据进行加工处理的控制过程,因此尽管系统流程图的某些符号和程序流程图的符号形式相同,但是它却是物理数据流图而不是程序流程图。
本系统的系统流程图如图所示:
设备基本信息表
Y
开始
用户名及密码
选择操作类型
查询信息°
维修设备°
新设备信息°
实验室信息°
维修记录表
实验室信息表
设备报废信息表
退出
N
身份验证
图3.3.1 系统流程图
管理员
报废记录
C/S终端显示数据
报废表
管理员
理员
修理记录的设备
实验设备管理数据库
维修表
C/S终端显示数据
管理员
申请购买记录
设备购买申请表
领导PC机终端显示
管理员
新设备记录
C/S终端显示数据
新设备属性表
图3.3.2 处理流程和数据流程图
4 数据库系统设计
4.1 数据库系统设计及范式分析
数据库设计主要是进行数据库的逻辑设计,即将数据按一定的分类,分组系统和逻辑层次组织起来,是面向用户的。数据库设计时需要综合企业各个部门的存档数据和数据需求,分析各个数据之间的关系,按照数据库管理系统提供的功能和描述工具,设计出规模适当,正确反映数据关系,数据冗余少,存取效率高,能满足多种查询要求的数据模型。
数据库设计的步骤是:
(1)数据库结构定义:目前的数据库管理系统(database management system,简称DBMS)有的是支持联机十五处理CLTP(负责对事物数据进行采集,处理,存储)的操作型DBMS,有的可支持数据仓库,有联机分析处理CLAP(指伟支持决策的制定对数据的一种加工操作)功能型DBMS,有的数据库是关系型的,有的可支持面向对象数据库。针对选择的DBMS,进行数据库结构定义。
(2)数据表定义:数据表定义指定一数据库中数据表的结构,数据表的逻辑结构包括:属性名称,类型,表示形式,缺省值,校验规则,是否关键字,可否为空等。关系型数据库要尽量按关系规范化要求进行数据库设计,但为使效率高,规范化程度应根据应用环境和条件来决定。数据表设计不仅满足数据存储的要求,还要增加一些如反映有关信息,操作责任,中间数据的字段或临时数据表。
(3)存储设备和存储空间组织:确定数据的存放地点,存储路径,存储设备等,备份方案,对多版本如何保证一致性和数据的完整性。
(4)数据使用权限设置:针对用户的不同使用要求,确定数据的用户使用权限,确保数据安全。
(5)数据字典设计:用数据字典描述数据库的设计,便于维护和修改。
为了更好地组织数据和设计出实际应用数据库,应该注意如下问题:
规范化地重组数据结构:对数据进行规范化表达。
关系数据结构的建立:在进行了数据基本结构的规范化重组后,还必须建立整体数据的关系结构。这一步设计完成后数据库和数据结构设计工作基本完成,只待系统实现时将数据分析和数据字典的内容代入到所设计的数据整体关系结构中,一个规范化数据库系统结构就建立起来了。
建立关系数据结构涉及三方面内容:确定关联的关键指标项并建立关联表;确定单一的父系记录结构;建立整个数据库的关系结构。
(1)链接关系的确定
在进行了上述数据规范化重组后,已经可以确保每一个基本数据表(我们简称为表)是规范的,但是这些单独的表并不能完整地反映事物,通常需要通过指标体系整体指标数据才能完整地反映问题。也就是说在这些基本表的各宇段中,所存储的是同一事物不同侧面的属性。那么计算机系统如何能知道那些表中的哪些记录应与其他表中的哪些记录相对应,他们表示的是同一个事物呢?这就需要在设计数据结构时将这种各表之间的数据记录关系确定下来。这种表和表之间的数据关系一般都是通过主或辅关键词之间的连接来实现的。因为在每个表中只有主关键词才能唯一地标识表中的中一个记录值(意味根据第三范式的要求,表中其他数据字段函数都依赖于主关键词)所以将表通过关键词连接九能够唯一地标识出某一个事物不同属性在不同表中的存放位置。
(2)确定单一的父子关系结构所谓确定单一的父系关系结构就是要在所建立的各种表中消除多对多(以下用M:N来表示)的现象,即设法使得所有表中记录之间的关系呈树状结构(只能由一个主干发出若干条分支,而不能有若干条主干交错发出若干条分支状况)。所谓的“父系”就是指表的上一级关系表。消除多对多关系可以借助于E-R图的方法来解决,也可以在系统分析时予以注意,避免这种情况的发生。
消除这种M:N情况的办法也很简单,只需在二表之间增加一个表,则原来M:N的关系就改成了M:1,1:N的关系了。
4.2 数据库的概念设计
概念模型是数据库系统的核心和基础。由于各个机器上实现的DBMS软件都是基于某种数据模型的,但是在具体机器上实现的模型都有许多严格的限制。而现实应用环境是复杂多变的,如果把实现世界中的事物直接转换为机器中的对象,就非常不方便。因此,人们研究把现实世界中的事物抽象为不依赖与具体机器的信息结构,又接近人们的思维,并具有丰富语义的概念模型,然后再把概念模型转换为具体的机器上DBMS支持的数据模型。概念模型的描述工具通常是使用E-R模型图。该模型不依赖于具体的硬件环境和DBMS。
概念结构是对现实世界的一种抽象。所谓抽象是对实际的人、物、事和概念进行人为处理,抽取所关心的共同特性,忽略非本质的细节,并把这些特性用各种概念精确的加以描述,这些概念组成了某种模型。通过概念设计得到的概念模型是从现实世界的角度对所要解决的问题的描述,不依赖于具体的硬件环境和DBMS。
在需求分析和逻辑设计之间增加概念设计阶段,可以使设计人员仅从用户的角度看待数据及处理要求和约束。
对数据库概念模型的要求:
表达概念设计的结果称为概念模型,对概念模型有以下要求:
(1) 有丰富的语义表达能力,能表达用户的各种需求。
(2) 易于交流和理解,从而可以用它和不熟悉计算机的用户交换意见。
(3) 要易于更改。当应用环境和应用要求改变时,概念模型要能很容易的修改和扩充以反映这种变化。
(4) 易于向各种数据模型转换。
局部E-R模式设计
实体和属性的定义。ER模型的“联系”用于刻画实体之间任意两个实体类型,依据需求分析的结果,考察局部结构中任意实体关系,进一步确定是1:N,M:N,还是1:1等。还要考察实体是否存在联系,多个实体类型之间是否存在联系,等等。利用ER方法进行数据库的概念设计,可分为三步进行:合成一个全局模式,最后对全局ER模式进行优化,得到最终的模式,即概念模式。所有局部ER模式都设计好了后,接下来就是把它们综合成单一的全局概念结构。全局概念结构不仅要支持所有局部ER模式,而且必须合理地表示一个完整,一致的数据库概念结构。
(1)局部ER模式的合并
合并的原则是:首先进行两两合并;先和合并那些现实世界中有联系的局部结构;合并从公共实体类型开始,最后再加入独立的局部结构。
(2)消除冲突
冲突分为三类:属性冲突,结构冲突,命名冲突。
设计全局ER模式的目的不在于把若干局部ER模式形式上合并为一个ER模式,而在于消除冲突,使之成为能够被所有用户共同理解和接受的统一的概念模型。
(3)全局ER模式的优化
在得到全局ER模式后,为了提高数据库系统的效率,还应进一步依据处理需求对ER模式进行优化。一个好的全局ER模式,除能准确,全面地反映用户功能需求外,还应满足以下条件:实体类型的个数要尽可能的少;实体类型所含属性个数尽可能少;实体类型间联系无冗余。
全局E-R设计
所有局部ER模式都设计好后,接下来就是把它们综合成单一的全局概念结构。全局概念结构不仅要支持所有局部ER模式,而且必须合理地表示一个完整,一致的数据库概念结构。本数据库的E-R图如图4.1所示:
用户
管理
实验室
设备
存放
故障
维修报表
密码
登入权限
名称
类别
设备名称
型号
类别
数量
生产厂家
购买人
单价
规格
型号
修理日期
维修费用
维修人或者修理厂家
规格
数量
购买日期
设备编号
M
N
N
M
N
1
用户名
设备名称
图4.1 系统E-R图
4.3 数据库表设计
由数据模型利用SQL Server 2005进行数据库的详细设计,根据用户实际使用中所可能需要的信息对数据表的功能提出的基本的要求,其基本表的设计如下所示:
(1)实验室信息表:用来管理实验室信息的表,如实验室编号,名称,对应的管理员编号等。
表4.1 实验室信息表
中文字段名
英文字段名
字段类型
长度
主键/外键
字段值约束
实验室编号
Lab_ID
Int
4
p
NOT NULL
实验室名称
Lab_Name
Char
16
NOT NULL
实验室管理员编号
LabAd_ID
varchar
50
NULL
(2)设备维修信息表:用来管理实验室出库设备信息的表,如设备的编号,名称,类型,损坏数量,维修信息等。
表4.2 设备维修信息表
中文字段名
英文字段名
字段类型
长度
主键/外键
字段值约束
设备编号
M_ID
Int
16
P
NOT NULL
设备名称
Type_Name
Text
20
NOT NULL
设备类型
Type_ID
Text
20
NOT NULL
损坏数量
Pey_num
Int
4
NOT NULL
维修单位
Pey_Unit
Text
16
NULL
维修费用
Pey_Mon
Float
8
NULL
维修日期
Pey_Date
Datetime
12
NULL
(3)设备种类管理表:用来管理设备编号,设备类型,报废意见,意见回复,报废日期等等。
表4.3 设备种类管理列表
中文字段名
英文字段名
字段类型
长度
主键/外键
字段值约束
设备编号
M_ID
Char
16
P
NOT NULL
设备类型
Type_ID
Int
4
NOT NULL
报废意见
Broke_Opin
Text
16
NOT NULL
意见回复
Broke_Reply
Text
16
NULL
报废日期
Broke_Date
Datatime
12
NULL
所属实验室
Lab_ID
Int
4
NOT NULL
存放仓库
Broke_Stor
Int
4
NOT NULL
状态
状态
Char
2
0为申请状态,1为回复同意维修,2为已维修
NOT NULL
(4)设备信息表:主要管理实验室库存设备信息的表,如编号,名称,金额等。
表4.4 设备信息列表
中文字段名
英文字段名
字段类型
长度
主键/外键
字段值约束
设备编号
Equip_ID
Char
16
P
NOT NULL
设备类型
Type_ID
Int
4
NOT NULL
设备供应商
Orter_ID
Text
16
NOT NULL
购置日期
Equip_Date
Datatime
12
NOT NULL
单价
Equip_Price
Float
8
NOT NULL
购买数量
Buy_Num
Int
4
NOT NULL
保修年限
Equip_Year
Int
4
NOT NULL
设备使用者
Usr_ID
Char
16
NULL
所属实验室
Lab_ID
Int
4
NOT NULL
备注
Equip_Else
Varchar
200
NULL
是否外借
Equip_Lend
Char
4
默认“否”
是否报废
报废状态
Char
4
默认“否”
(5)用户管理员表:主要管理用户信息的表,如用户名,密码等。
表4.5 系统登陆用户列表
中文字段名
英文字段名
字段类型
长度
主键/外键
字段值约束
用户名
Usr_Name
Char
20
p
Not NULL
密码
Usr_Sernum
Int
6
Not NULL
登入权限
Usr_S
无
无
Not NULL
4.4 Visual Basic中的数据库控件ADO的介绍
本程序是用VB的ADO来与数据库进行数据交换的所以有必要介绍一下ADO。
ADO,即Axtive Data Object,实际是一种提供访问各种数据类型的连接机制。ADO被实现为OLEDB之上的一个薄层,这使得ADO可以有更快的访问速度,更易使用,同时更节省资源。ADO被设计成一种非常简单的格式,通过ODBC的方法同数据库借口相连。用户可以使用任何一种ODBC数据源,不仅适合于SQL Server,Oracle,Access等数据库应用程序,也适用于Excel表格,文本文件,图形文件和无格式的数据文件。
ADO使用OLEDB数据支持提供了一个面向对象的访问数据源的接口,它是DAO和RDO对象模型的集大成
展开阅读全文