[精品小论文]数据库设备管理系统课程设计论文JAVA实现_第1页
[精品小论文]数据库设备管理系统课程设计论文JAVA实现_第2页
[精品小论文]数据库设备管理系统课程设计论文JAVA实现_第3页
[精品小论文]数据库设备管理系统课程设计论文JAVA实现_第4页
[精品小论文]数据库设备管理系统课程设计论文JAVA实现_第5页
已阅读5页,还剩53页未读 继续免费阅读

下载本文档

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

文档简介

目 录第1章 绪论11.1 选题目的和意义11.2 题目开发背景1第2章 相关知识简介32.1 前台开发环境简介32.2 MySQL数据库简介3第3章 系统数据库设计43.143.24第4章 系统详细设计54.154.25结 论6附 录7附录A 核心程序代码7第1章 绪论1.1 选题目的和意义设备管理系统(Equipment Management System)是将信息化了设备技术信息与现代化管理相结合,是实现研究级管理信息化的先导。设备管理软件是设备管理模式与计算机技术结合的产物,设备管理的对象是研究所中各种各样的设备。 随着计算机技术的迅猛发展以及Internet进入商业和社会应用阶段,设备的种类、数量越来越多,如何利用先进的网络技术和日新月异的计算机设备来有效地收集、处理这些设备,建立以信息化为核心的管理体制,减轻管理人员和业务人员的数据处理负担,极大地提高设备管理效率和管理手段,己经成为当今社会的潮流。 在现代化大型研究所信息化管理体系建设中,设备管理系统被看作是重中之重。因为设备是工厂生产中的主体,随着科学技术的不断发展,生产设备日益机械化、自动化、大型化、高速化和复杂化,设备在现代工业生产中的作用和影响也随之增大,在整个工业生产过程中对设备的依赖程度也越来越高。设备管理的各项制度、流程涉及的点多面广。 设备管理系统则是一个以人为主导,利用计算机硬件、软件、网络设备通信设备以及其他办公设备,进行信息的收集、传输、加工、储存、更新和维护,以战略竟优、提高效率为目的,支持高层决策、中层控制、基层运作的集成化的人机系统。而设备管理是管理系统的一个子系统,它具有管理信息系统的共性,同时也具有其特殊性。设备是生产的生命线,对研究所正常生产起着决定性的作用。信息安全设备管理已成为现代研究所管理的一个重要组成部分。把信息安全设备管理纳入研究所管理的重要组成部分己经成为一种趋势。目前设备自动化管理水平不是很高。大多数设备管理办法是设备采购进来以后,将设备的基本情况和相关信息登记存档,然后将档案存档。以后档案基本就没人维护,如设备位置变迁、检修情况、设备当前运行状态等信息根本不会体现在设备台帐上,即设备跟踪信息不能及时体现在设备档案上。某些使用设备管理系统的单位,对设备的跟踪信息即使能体现在设备档案上,但设备的缺陷处理及设备缺陷等功能没有实施,设备检修的备品备件情况和检修成本核算没有实现,整个学校教学设备管理信息化仍处于较低水平。将管理任务分成小块,落实到个人并能随时查询设备当前情况和历史情况,对设备的可靠性分析有直接作用,使管理人员从手工计算、统计工作中解脱出来。 现在,科学技术的飞速发展把人类社会推向了一个崭新的时代信息时代。这已是无可争议的事实;信息对社会经济发展的巨大推动作用,使其与物质能源一起并列为现代社会的三大支柱,这已在全社会达到共识。随着对信息作为一种资源来管理的需求日益加强,信息研究领域出现了一种新的管理思想和模式信息管理。因此,就诞生了“信息管理”这样一个概念。由于信息是普遍存在的,人类信息管理活动的范围也是十分广泛的,信息管理不仅是信息工作的一部分,而且已被认为是现代管理的重要组成部分。信息管理的概念源于西方,也是在世界信息量迅速增长、信息技术日新月异、信息产业强劲发展的六七十年代出现的。时至今日,信息管理已不仅仅是一个概念,而是信息学和管理学中的重要内容了。对信息管理的理解,一种认为是,信息管理就是对信息的管理。在此,信息管理是指狭义的信息资源管理,实际上就是对信息本身的管理;另一种认为,信息管理不仅是对信息的管理,而是对涉及信息活动的各种要素,如信息、技术、人员、组织进行合理的组织和有效的控制,从而满足社会的信息需求。在此,信息管理是指广义的信息资源管理。综合两种理解,信息管理是指对人类信息活动所产生的社会信息进行管理,信息管理是管理的一种,既要对信息进行管理,也要对信息活动进行管理。信息和信息活动都是信息管理的客体。简而言之,信息管理就是对信息和信息活动的管理,这就是我们对信息管理的全面理解。1.2 题目开发背景目前国内学校教学设备自动化管理水平不是很高。大多数学校设备管理办法是设备采购进来以后,将设备的基本情况和相关信息登记存档,然后将档案存档。以后档案基本就没人维护,如设备位置变迁、检修情况、设备当前运行状态等信息根本不会体现在设备台帐上,即设备跟踪信息不能及时体现在设备档案上。某些使用设备管理系统,对设备的跟踪信息即使能体现在设备档案上,但设备的缺陷处理及设备缺陷等功能没有实施,设备检修的备品备件情况和检修成本核算没有实现,整个设备管理信息化仍处于较低水平。本信息系统合理的借鉴国际领先的设备管理思想并结合设备管理现状,可以完全能满足国内设备管理的需要。并通过对各行业设备管理情况的长期研究探索,以灵活、通用为主要设计思想,开发适合于各行业设备管理信息系统。本系统将会提高办公效率和设备可靠性,减少工作人员的劳动强度,减少办公耗材,提高现代化管理水平。实时报警功能对安全生产更是不可忽视。系统的主要功能在本系统主界面中,我们可以看到五个系统菜单和十个功能模块按钮,为了美化系统界面,本系统加上一个图片在主界面上,用户在使用要系统时,为了增加本系统的安全时,首先需要验证,只有在登录界面上输入正确的用户名和密码才能登陆本系统使用,系统默认的管理员ID为:admin密码为:admin。下面分别论述本系统的各个功能模块的作用:(1)系统登陆:输入ID和密码并验证正确后,就进入主界面,主界面里有个后台管理,用户需要如上所述的正确的用户名和密码之后才能使用本系统。(2)添加设备:本应用模块的主要功能是实现对设备的入库管理工作,主要是记录设备信息等操作。(3)删除设备:本应用模块的主要功能是实现对实设备的过时信息删除等操作。(4)查找管理:本应用模块的主要功能是实现对设备的查找管理,以实现添加、删除、修改、转移等操作。(5)关于作者:介绍作者的一些相关信息.(6) 退出系统:退出本系统,恢复系统的实始状态。第2章 相关知识简介2.1 前台开发环境简介Java,是由Sun Microsystems公司于1995年5月推出的Java程序设计语言和Java平台的总称。用Java实现的HotJava浏览器(支持Java applet)显示了Java的魅力:跨平台、动态的Web、Internet计算。从此,Java被广泛接受并推动了Web的迅速发展,常用的浏览器现在均支持Java applet。Java主要特性1、Java语言是简单的。Java语言的语法与C语言和C+语言很接近,使得大多数程序员很容易学习和使用Java。另一方面,Java丢弃了C+ 中很少使用的、很难理解的、令人迷惑的那些特性,如操作符重载、多继承、自动的强制类型转换。特别地,Java语言不使用指针,并提供了自动的废料收集,使得程序员不必为内存管理而担忧。2、Java语言是一个面向对象的。Java语言提供类、接口和继承等原语,为了简单起见,只支持类之间的单继承,但支持接口之间的多继承,并支持类与接口之间的实现机制(关键字为implements)。Java语言全面支持动态绑定,而C+ 语言只对虚函数使用动态绑定。总之,Java语言是一个纯的面向对象程序设计语言。3、Java语言是分布式的。Java语言支持Internet应用的开发,在基本的Java应用编程接口中有一个网络应用编程接口(),它提供了用于网络应用编程的类库,包括URL、URLConnection、Socket、 ServerSocket等。Java的RMI(远程方法激活)机制也是开发分布式应用的重要手段。4、Java语言是健壮的。Java的强类型机制、异常处理、废料的自动收集等是Java程序健壮性的重要保证。对指针的丢弃是Java的明智选择。Java的安全检查机制使得Java更具健壮性。5、Java语言是安全的。Java通常被用在网络环境中,为此,Java提供了一个安全机制以防恶意代码的攻击。除了Java语言具有的许多安全特性以外,Java对通过网络下载的类具有一个安全防范机制(类ClassLoader),如分配不同的名字空间以防替代本地的同名类、字节代码检查,并提供安全管理机制(类SecurityManager)让Java应用设置安全哨兵。 6、Java语言是体系结构中立的。Java程序(后缀为java的文件)在Java平台上被编译为体系结构中立的字节码格式(后缀为class的文件), 然后可以在实现这个Java平台的任何系统中运行。这种途径适合于异构的网络环境和软件的分发。 7、Java语言是可移植的。这种可移植性来源于体系结构中立性,另外,Java还严格规定了各个基本数据类型的长度。Java系统本身也具有很强的可移植性,Java编译器是用Java实现的,Java的运行环境是用ANSI C实现的。8、Java语言是解释型的。如前所述,Java程序在Java平台上被编译为字节码格式, 然后可以在实现这个Java平台的任何系统中运行。在运行时,Java平台中的Java解释器对这些字节码进行解释执行,执行过程中需要的类在联接阶段被载入到运行环境中。9、Java是高性能的。与那些解释型的高级脚本语言相比,Java的确是高性能的。事实上,Java的运行速度随着JIT(Just-In-Time)编译器技术的发展越来越接近于C+。 10、Java语言是多线程的。在Java语言中,线程是一种特殊的对象,它必须由Thread类或其子(孙)类来创建。通常有两种方法来创建线程:其一,使用型构为Thread(Runnable) 的构造子将一个实现了Runnable接口的对象包装成一个线程,其二,从Thread类派生出子类并重写run方法,使用该子类创建的对象即为线程。值得注意的是Thread类已经实现了Runnable接口,因此,任何一个线程均有它的run方法,而run方法中包含了线程所要运行的代码。线程的活动由一组方法来控制。 Java语言支持多个线程的同时执行,并提供多线程之间的同步机制(关键字为synchronized)。11、Java语言是动态的。Java语言的设计目标之一是适应于动态变化的环境。Java程序需要的类能够动态地被载入到运行环境,也可以通过网络来载入所需要的类。这也有利于软件的升级。另外,Java中的类有一个运行时刻的表示,能进行运行时刻的类型检查。Java语言的优良特性使得Java应用具有无比的健壮性和可靠性,这也减少了应用系统的维护费用。Java对对象技术的全面支持和Java平台内嵌的API能缩短应用系统的开发时间并降低成本。Java的编译一次,到处可运行的特性使得它能够提供一个随处可用的开放结构和在多平台之间传递信息的低成本方式。特别是Java企业应用编程接口(Java Enterprise APIs)为企业计算及电子商务应用系统提供了有关技术和丰富的类库。2.2 MySQL数据库简介MySQL名字的来历MySQL是一个小型关系型数据库管理系统,开发者为瑞典MySQLAB公司,在2008年1月16号被Sun公司收购。MySQL被广泛地应用在Internet上的中小型网站中。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库MySQL的特性1.使用C和C+编写,并使用了多种编译器进行测试,保证源代码的可移植性 2.支持AIX、FreeBSD、HP-UX、Linux、Mac OS、Novell Netware、OpenBSD、OS/2 Wrap、Solaris、Windows等多种操作系统 3.为多种编程语言提供了API。这些编程语言包括C、C+、Eiffel、Java、Perl、PHP、Python、Ruby和Tcl等。 4.支持多线程,充分利用CPU资源 5.优化的SQL查询算法,有效地提高查询速度 6.既能够作为一个单独的应用程序应用在客户端服务器网络环境中,也能够作为一个库而嵌入到其他的软件中提供多语言支持,常见的编码如中文的GB 2312、BIG5,日文的Shift_JIS等都可以用作数据表名和数据列名7.提供TCP/IP、ODBC和JDBC等多种数据库连接途径 8.提供用于管理、检查、优化数据库操作的管理工具 9.可以处理拥有上千万条记录的大型数据库MySQL的应用与其他的大型数据库例如Oracle、DB2、SQL Server等相比,MySQL自有它的不足之处,如规模小、功能有限(MySQL Cluster的功能和效率都相对比较差)等,但是这丝毫也没有减少它受欢迎的程度。对于一般的个人使用者和中小型企业来说,MySQL提供的功能已经绰绰有余,而且由于MySQL是开放源码软件,因此可以大大降低总体拥有成本。目前Internet上流行的网站构架方式是LAMP(Linux+Apache+MySQL+PHP),即使用Linux作为操作系统,Apache作为Web服务器,MySQL作为数据库,PHP作为服务器端脚本解释器。由于这四个软件都是自由或开放源码软件(FLOSS),因此使用这种方式不用花一分钱就可以建立起一个稳定、免费的网站系统。第3章 系统数据库设计3.1 系统设计思想本系统主要完成设备信息管理,系统登陆,添加设备,删除设备,查找设备,用户登录系统和退出系统时,程序要从已有的系统用户资料数据表中读取用户名和密码,并检验该密码与用户输入的密码是否匹配,只有用户名在数据库中存在并且密码正确时,用户才能进入系统。当需要完成实验设备信息操作时,程序就将这些操作的信息写入到相应的数据表中。当用户需要查询这些操作信息时,程序又从数据库中读出相应的操作信息。可行性分析当接受一个软件开发任务,就进入软件生命的第一个阶段,即进行可行性的研究。并不是所有问题具有简单的解决办法,许多问题不能在预定的规模之内解决。因此通过可行性的研究分析可以知道问题。有无可行性的解决方法,进而避免人力、物力和才力的浪费。在现行系统初步调查的基础上就可以提出新系统目标,即新系统建立后所要求达到的运行指标,这是系统开发和评价的依据。系统目标应充分体现,直接为设备信息管理系统服务,并且,程序可以分期分批实现。但是,需要指出的是,系统目标是不可能在总体规划阶段就提得非常具体,它还将在开发过程中逐步明确和定量化。以达到更加出色的程序系统。可是,目标的提法不尽相同,例如:提高管理工作者效率,减轻劳动强度;提高信息处理速度和准确性;为实验室管理者提供更方便、科学的服务项目。系统的目标确定后,就可以从以下四方面对能否实现新系统目标进行可行性分析.技术可行性根据客户提出的系统功能、性能及实现系统的各项约束条件,根据新系统目标来衡量所需的技术是否具备,本系统是一个数据库管理和查询的系统,现有的技术以较为成熟,硬件、软件的性能要求、环境条件等各项条件良好,估计利用现有技术条件应完全可以达到该系统的功能目标。同时,考虑给予的开发期限也较为充裕,预计系统是可以在规定期限内完成开发。经济可行性估算新系统的成本效益分析,其中包括估计项目开发的成本,开发费用和今后的运行、维护费用,估计新系统将获得的效益,估算开发成本是否回高于项目预期的全部经费。并且,分析系统开发是否会对其它产品或利润带来一定影响。(1)支出:硬件设备: PC机软件设备:WINDOWS2000/XP、JAVA、SQL软件设计和开发费用经常性支出:软件维护费用、软件使用费用。(2)效益:系统的效益可以从经济效益和社会效益两方面考虑。对于实验室设备管理系统则应着重分析其社会效益。例如,系统投入运行后可以使实验室管理实现科学化、规范化。增强了工作人员对管理工作者的管理能力、提高了工作效率。运行可行性新系统的研制和开发是充分得考虑工作人员对企业事务的易于管理,管理者方便查询设备信息效率。从而能完全满足使用者的要求。3.2 需求分析 设备管理系统是企业内部的信息管理系统,是连接企业内部各生产部门的桥梁与纽带,起着核心作用。目前企业设备自动化管理水平不是很高。大多数设备管理办法是设备的采购进来以后,将设备的基本情况和相关信息登记存档,然后将档案存档。以后的档案基本就没人维护,如设备修改、删除情况、设备的当前运行状态等信息本不会呈现在管理工作人员面前,由于散乱、复杂、查找和整理不便,即设备跟踪信息不能及时体现在设备的档案上。某些企业采用专门人工整点,对设备的跟踪信息即使能记录在案,但无形中增加了繁重的手工劳动,整个设备管理水平还是较低。 本系统会提高办公效率和设备可靠性,减少工作人员的劳动强度,减少办公耗材,提高现代化管理水平。企业面对市场竞争的巨大压力,要求企业创造新的利润源,这为企业如何配置有限资源,利用先进计算机技术不断开发出操作简便、界面友好、灵活、实用、安全,更具时效性的设备信息管理系统有着更高的要求。 传统的设备管理主要是以人工抄写记录存档的运行模式。21世纪是科技信息时代,陈旧的管理模式不是适应新时代的要求,它存在着操作速度慢、散乱、复杂等一系列缺点与不足。由于散乱、复杂,很可能文案丢失的情况,而且查找也不方便,给管理工作人员带来很大程度的管理滞后,增加了成本,降低了企业生产力。自中国加入wto以来,给国内一些企业带来很大的竟争压力,市场竟争越来越来激烈。提高企业生产力,降低成本是当前惟一解决有效途径。如何解决这一问题正式我要陈述的,关注当代形式,利用社会上出来的先进技术开发出新的设备管理系统是许多企业拭目以待的,正所谓“工欲善其事,必先利其器”。 由此开发的设备管理系统是一套完全为设备管理人员设计的把设备管理由被动管理转为主动管理的系统,它的使用将极大地提高设备管理部门的工作效率,使设备管理人员解脱了繁重的手工劳动,实现了设备整个生命周期的计算机化管理,同时再与使用单位内部网络配合的基础上可以实现无纸化办公。 系统主要完成任务的数据查询(库设备查询、领用查询、消耗查询)模块分析设计与的实现,通过设备的属性字段查询每一件产品设备零件信息,使管理人员随时掌握设备的现状及公司雇员领用设备、消耗设备的情况。设备管理系统包括数据处理、数据查询和成本核算三个子功能模块。 数据处理功能:新设备的添加、修改、删除;及领用设备和消耗设备的修改、除等一些设备信息操作活动。 数据查询功能:实现每一阶段库设备、领用设备和消耗设备的查询操作活动。 成本核算功能:对每月设备的运行状态(领用、消耗)以领用报表、消耗报表、班组报表和个人报表四表分别进行统计分析.数据库设计原则命名的规范。不同的数据库产品对对象的命名有不同的要求,因此,数据库中的各种对象的命名、后台程序的代码编写应采用大小写敏感的形式,各种对象命名长度不要超过30个字符,这样便于应用系统适应不同的数据库平台。游标(Cursor)的慎用。游标提供了对特定集合中逐行扫描的手段,一般使用游标逐行遍历数据,根据取出的数据不同条件进行不同的操作。尤其对多表和大数据表定义的游标(大的数据集合)循环很容易使程序进入一个漫长的等特甚至死机,在有些场合,有时也非得使用游标,此时也可考虑将符合条件的数据行转入临时表中,再对临时表定义游标进行操作,可使得性能得到明显提高。 索引(Index)的使用原则。创建索引一般有以下两个目的:维护被索引列的唯一性和提供快速访问表中数据的策略。大型数据库有两种索引即簇索引和非簇索引,一个没有簇索引的表是按堆结构存储数据,所有的数据均添加在表的尾部,而建立了簇索引的表,其数据在物理上会按照簇索引键的顺序存储,一个表只允许有一个簇索引,因此,根据B树结构,可以理解添加任何一种索引均能提高按索引列查询的速度,但会降低插入、更新、删除操作的性能,尤其是当填充因子(Fill Factor)较大时。所以对索引较多的表进行频繁的插入、更新、删除操作,建表和索引时应设置较小的填充因子,以便在各数据页中留下较多的自由空间,减少页分割及重新组织工作的产生的概率。数据的一致性和完整性。为了保证数据库的一致性和完整性,设计人员往往会设计过多的表间关联(Relation),尽可能的降低数据的冗余。表间关联是一种强制性措施,建立后,对父表(Parent Table)和子表(Child Table)的插入、更新、删除操作均要占用系统的开销,另外,最好不要用Identify 属性字段作为主键与子表关联。如果数据冗余低,数据的完整性容易得到保证,但增加了表间连接查询的操作,为了提高系统的响应时间,合理的数据冗余也是必要的。使用规则(Rule)和约束(Check)来防止系统操作人员误输入造成数据的错误是设计人员的另一种常用手段,但是,不必要的规则和约束也会占用系统的不必要开销,需要注意的是,约束对数据的有效性验证要比规则快。所有这些,设计人员在设计阶段应根据系统操作的类型、频度加以均衡考虑。事务的陷阱。事务是在一次性完成的一组操作。虽然这些操作是单个的操作,SQL Server能够保证这组操作要么全部都完成,要么一点都不做。正是大型数据库的这一特性,使得数据的完整性得到了极大的保证。众所周知,SQL Server为每个独立的SQL语句都提供了隐含的事务控制,使得每个DML的数据操作得以完整提交或回滚,但是SQL Server还提供了显式事务控制语句BEGIN TRANSACTION 开始一个事务COMMIT TRANSACTION 提交一个事务ROLLBACK TRANSACTION 回滚一个事务事务可以嵌套,可以通过全局变量trancount检索到连接的事务处理嵌套层次。需要加以特别注意并且极容易使编程人员犯错误的是,每个显示或隐含的事物开始都使得该变量加1,每个事务的提交使该变量减1,每个事务的回滚都会使得该变量置0,而只有当该变量为0时的事务提交(最后一个提交语句时),这时才把物理数据写入磁盘。 数据库性能调整。在计算机硬件配置和网络设计确定的情况下,影响到应用系统性能的因素不外乎为数据库性能和客户端程序设计。而大多数数据库设计员采用两步法进行数据库设计:首先进行逻辑设计,而后进行物理设计。数据库逻辑设计去除了所有冗余数据,提高了数据吞吐速度,保证了数据的完整性,清楚地表达数据元素之间的关系。而对于多表之间的关联查询(尤其是大数据表)时,其性能将会降低,同时也提高了客户端程序的编程难度,因此,物理设计需折衷考虑,根据业务规则,确定对关联表的数据量大小、数据项的访问频度,对此类数据表频繁的关联查询应适当提高数据冗余设计。数据库模实体生成后,应根据应用系统的事物大小、服务器的性能调整数据库服务器的系统参数,一般来讲,有两个系统参数锁(Locks)的数量、内存(Memory)和过程高速缓存(Procedure cache)大小应加以提高,可以提高数据库的操作性能。 数据类型的选择。数据类型的合理选择对于数据库的性能和操作具有很大的影响,有关这方面的书籍也有不少的阐述,这里主要介绍几点经验。1. Identify字段不要作为表的主键与其它表关联,这将会影响到该表的数据迁移。2. Text 和Image字段属指针型数据,主要用来存放二进制大型对象(BLOB)。这类数据的操作相比其它数据类型较慢,因此要避开使用。3. 各种类型字段的均有众多的相关函数支持,例如日期型函数,在日期的大小比较、加减操作上非常简单。但是,在按照日期作为相等条件的查询操作也要用函数,而使用函数作为查询的条件时,服务器无法用先进的性能策略来优化查询而只能进行表扫描遍历每行,因此,在选择大数据表的关键字段数据类型时应根据在选择查询策略尽可能避开使用函数的原则加以考虑设计数据库的基本步骤 1确定新建数据库的目的 设计数据库的第一步是确定数据库的目的以及如何使用。要首先确定希望从数据库得到什么信息,由此进一步确定需要什么主题来保存有关事件(表)和需要什么事件来保存每一个主题(中的字段)。 为了实现设计目标,首先要进行下述准备工作: (1)与数据库的最终用户交流,了解用户希望从数据库中得到什么样的信息。 (2)集体讨论数据库所要解决的问题,并描述数据库需要生成的报表。 (3)收集当前用于记录数据的表格。 (4)参考某个设计得好,而且与当前要漫计的数据库相似的数据库。 总之,在设计数据库之前应进行系统调查和分析,以搜集足够的数据库设计的依据。 2规划数据库中的表 表是数据库的基本信息结构。确定表可能是数据库设计过程中最难处理的步骤,因为要从数据库获得的结果(如要打印的报表,要使用的格式,要解决的问题等),不一定能够提供用于生成它们的表的结构的线索。 在设计表时,应按以下设计原则对信息进行分类: (1)表中不应该包含重复信息,而且信息不应该在表之间复制。如果每条信息只保存在一个表中,则只需在一处进行更新,这样效率更高,同时也消除了包含不同信息的重复项的可能性。例如,在一个表中,对每个客户的地址和电话号码只保存一次。 (2)每个表应该只包含关于一个主题的信息。如果每个表只包含关于一个主题的事件,则可以独立于其他主题来维护每个主题的信息。例如,将客户的地址与客户订单存放在不同的表中,这样就可以在删除某个订单后仍然保留客户的信息。 3确定表中的字段 每个表中都包含关于同一主题的信息,表中的每个字段则包含关于该主题的各个事件。例如,“客户”表可以包含公司的名称、地址、城市、省份和电话号码的字段。在草拟每个表的字段时,要注意以下问题: (1)每个字段都直接与表的主题相关。 (2)不包含推导或计算的数据,如表达式的计算结果。 (3)包含所需的所有信息。 (4)以最小的逻辑部分保存信息。例如,对英文姓名应该将姓和名分开保存。 4明确有惟一值的字段 。 为了连接保存在不同表中的信息(如将某个客户与该客户的所有订单相连接),数据库中的每个表必须包含表中惟一确定每个记录的字段或字段集。这种字段或字段集称做主关键字。为表确定了主关键字之后,为确保其惟一性,Access 2 OOO将避免任何重复值或Null值进入主关键字字段。 在Access中可以定义三种主关键字:自动编号、单字段和多字段。 5确定表之间的关系 Page 因为已经将信息分配到各个表中,并且已定义了主关键字字段,所以需要通过某种方式通知Access,怎样以有意义的方法将相关信息重新结合到一起。如果进行上述操作,则必须定义表之间的关系。 臣注习:可参阅一个设计好的数据库中的关系。例如,打开“罗斯文示范数据库并查看表间的关系。步骤如下: 打开“Northwindmdb”文件,选择“工具”菜单的“关系命令,或单击工具栏的“关系”按钮。 6优化设计 设计完所需要的表、字段和关系后,还应检查该设计,找出可能存在的问题。在设计阶段修改数据库要比修改已经填满数据的表容易得多。 用Access新建表,指定表之间的关系,并且在每个表中输入一些记录,然后检查能不能用该数据库获得所需的结果。新建窗体和报表的草稿,然后检查显示的数据是否符合要求,最后查找不需要的重复数据并将其删除。 7输入数据并创建其他数据库对象 如果认为表的结构已达到了设计目标,就应该继续进行,并在表中添加全部数据;然后就可以创建查询、窗体、报表、宏和模块了。 数据库概念结构设计概念模型是数据库系统的核心和基础。由于各个机器上实现的DBMS软件都是基于某种数据模型的,但是在具体机器上实现的模型都有许多严格的限制。而现实应用环境是复杂多变的,如果把实现世界中的事物直接转换为机器中的对象,就非常不方便。因此,人们研究把现实世界中的事物抽象为不依赖与具体机器的信息结构,又接近人们的思维,并具有丰富语义的概念模型,然后再把概念模型转换为具体的机器上DBMS支持的数据模型。概念模型的描述工具通常是使用E-R模型图。该模型不依赖于具体的硬件环境和DBMS。概念结构是对现实世界的一种抽象。所谓抽象是对实际的人、物、事和概念进行人为处理,抽取所关心的共同特性,忽略非本质的细节,并把这些特性用各种概念精确的加以描述,这些概念组成了某种模型。通过概念设计得到的概念模型是从现实世界的角度对所要解决的问题的描述,不依赖于具体的硬件环境和DBMS。在需求分析和逻辑设计之间增加概念设计阶段,可以使设计人员仅从用户的角度看待数据及处理要求和约束。 数据库逻辑设计 数据库逻辑设计是整个设计的前半段,包括所需的实体和关系,实体规范化等工作。设计的后半段则是数据库物理设计,包括选择数据库产品,确定数据库实体属性(字段)、数据类型、长度、精度确定、DBMS页面大小等。数据库逻辑设计决定了数据库及其应用的整体性能,调优位置。如果数据库逻辑设计不好,则所有调优方法对于提高数据库性能的效果都是有限的。为了使数据库设计的方法走向完备,数据库的规范化理论必须遵守。规范化理论为数据库逻辑设计提供了理论指导和工具,在减少了数据冗余的同时节约了存储空间,同时加快了增、删、改的速度。另外,在规范的数据库逻辑设计时,还应考虑适当地破坏规范规则,即反规范化设计,来降低索引、表的数目,降低连接操作的数目,从而加快查询速度。常用的反规范技术有增加冗余列、增加派生列、重新组表等。增加冗余列:有时要进行查询的列分布在不同的表中,如果这个连接查询的频率比较高,那就可以根据需要,把其它表中的这一列加进来,从而使得多个表中具有相同的列,它常用来在查询时避免连接操作。但它的坏处就是需要更多的磁盘空间,同时因为完整性问题需要增加维护表的工作量。 总之,在进行数据库逻辑设计时,一定要结合应用环境和现实世界的具体情况合理地选择数据库模式。设计E-R模式 先选择某个局部应用,根据某个系统的具体情况,在多层的数据流图中选择一个适当层次的数据流图,作为设计分析E-R图的出发点。由于高层的数据流图只能反映系统的概貌,而中层的数据流图能较好的反映系统中各局部应用的子系统组成,因此人们往往以中层数据流图作为设计分E-R图的依据。 逐一设计分E-R图选择好局部应用之后,就要对每个局部应用逐一设计分E-R图,亦称局部E-R图。在前面选好的某一层次的数据流图中,每个局部应用都对应了一组数据流图,局部应用涉及的数据都已经收集在数据字典中了。现在就是要将这些数据从数据字典中抽取出来,参照数据流图,标定局部应用中的实体、实体的属性、标识实体的码,确定实体之间的联系及其类型。事实上,在现实世界中具体的应用环境常常对实体和属性已经作了大体的自然的划分。在数据字典中,数据结构、数据流和数据存储都是若干属性有意义的聚合,就体现了这种划分。可以先从这些内容出发定义E-R图,然后再进行必要的调整。在调整中遵循的一条原则是:为了简化E-R图的处置,现实世界的事物能作为属性对待的,尽量作为属性对待。 从理论E/R模型到理论关系模型的整理转换设备(设备号,设备名,厂商,数量,仓库号,备注) 属性:设备号,设备名,厂商,数量,仓库号,备注。 主键:设备号,设备名职工(职工号,姓名,职称)属性:职工号,姓名,职称主键:职工号,姓名厂商(厂名,地址,电话) 属性:厂名,地址,电话主键:厂名,地址,数据库表设计1. 设备信息表 字段名称数据类型是否可为空 设备号(key)varchar(20)否 设备名(key)varchar(50)否 厂商varchar(12)否 仓库号varchar(50)是 数量tinyint(1)是 备注varchar(200)是 2. 仓库信息表 字段名称数据类型是否可为空 仓库号(key)varchar(12)否 仓库名varchar(10)否 电话varchar(8)否 备注varchar(100)是 3. 管理员信息表 字段名称数据类型是否可为空 工作号(key)varchar(12)否 姓名varchar(12)否 性别varchar(2)否 电话varchar(12)是 住址varchar(12)是 备注varchar(100)是 4. 职工信息表 字段名称数据类型是否可为空 工作号 char(10) 否 姓名 char(10) 否 职称 char(10) 否 电话char(4)否 备注varchar(100)是 第4章 系统详细设计4.1 MYSQL数据库的设计E-R图的分析设备管理系统主要涉及四个实体类型,主要包括设备,仓库,职工,厂商;主要涉及三种关系类型:职工与仓库之间的工作关系,设备与仓库之间的库存关系,厂商与设备之间的供应关系.之间均为M:N的关系. E-R图如下页:用例图分析设备管理系统用例图的设计,参与者为管理员,主要有新增设备,修改设备信息,查询设备信息的需求.用例图主要向读者说明管理员如何对设备进行操作的. 系统用例如下页: 数据库实现 创建数据库 首先进入MYSQL,建立设备管理系统数据库,create database shebeiguanli; 创建数据表在shebeiguanli数据库建立数年据表,创建设备信息表shebeixinxiuse shebeiguanlicreate table shebeixinxi(设备号(key)varchar(8)否 设备名(key)varchar(10)否 厂商varchar(12)否 仓库号varchar(5)否 数量tinyint(1)是 备注varchar(200)是 );同理创建仓库信息表cangkuxinxi管理员信息表guanliyuanxinxi职工信息表zhigongxinxi向数据表中插入数据 建好数据库和表后,可向表里插入假定信息,通过insert等语句实现. 如: Insert into shebeixinxi Values(00000000,computer,hp,00001,1);创建存储过程创建触发器创建事件 4.2 数据库的界面JAVA设计JDBC连接数据库JDBC是java数据库连接的API,这是java所有数据库功能的基础.可以避免直接的使用JDBC,例如可以通过使用SQLJ把SQL语句嵌入到JAVA代码中,介是这种代码需要SQLJ预处理,把SQLJ语句转换成JDBC.通常把JDBC隐藏在后台.import java.sql.*;public class OpenDB String userName=root; String userPassword=; private String driverName= org.gjt.mm.mysql.Driver; private String url =jdbc:mysql:/localhost/xscj?useUnicode=true&characterEncoding=gb2312; Connection dbConn; public OpenDB() public Connection getConnection() try Class.forName(driverName); dbConn=DriverManager.getConnection(url,userName,userPassword); catch(Exception e) dbConn=null; turn dbConn; 系统进入模块良好的用户界面是优秀软件吸引顾客的第一步.通过JAVA图形界面能够设计出出色的界面.系统身份验证模块系统主界面设备管理系统主界面包括新增设备界面,修改设备信息界面.查找设备信息界面,删除设备信息界面,软件介绍界面和退出界面.结 论设备管理系统(Equipment Management System)是将信息化了设备技术信息与现代化管理相结合,是实现研究级管理信息化的先导。设备管理软件是设备管理模式与计算机技术结合的产物,设备管理的对象是研究所中各种各样的设备。 设备管理系统则是一个以人为主导,利用计算机硬件、软件、网络设备通信设备以及其他办公设备,进行信息的收集、传输、加工、储存、更新和维护,以战略竟优、提高效率为目的,支持高层决策、中层控制、基层运作的集成化的人机系统。而设备管理是管理系统的一个子系统,它具有管理信息系统的共性,同时也具有其特殊性。设备是生产的生命线,对研究所正常生产起着决定性的作用。信息安全设备管理已成为现代研究所管理的一个重要组成部分。把信息安全设备管理纳入研究所管理的重要组成部分己经成为一种趋势。 设计心得通过此次设备管理系统的设计,进一步掌握有关数据库设计的原则和作用,了解数据库高计的步骤:(1)需求分析。(2)概念设计。(3)逻辑设计。 (4)物理设计。(5)数据库实施。进一步了解JAVA的功能,了解JAVA图形界面的设计,以及JDBC与MYSQL的连接.了解JAVA,MYSQL的各自特征,为今后的进一步学习打下基础. 总之,此次设计加深了对MYSQL JAVA的了解,在设计过程中遇到的难题也一一解决,给自己一个很好的锻炼.附 录附录A 核心程序代码数据库代码create database shebeiguanli;use shebeiguanlicreate table shebeixinxi(设备号 varchar(8) not null ,设备名 varchar(10) not null,厂商 varchar(12) not null, 仓库号 varchar(5) not null,数量 tinyint(1) null ,备注 varchar(200) null,primary key (设备号,设备名);use shebeiguanlicreate table cangkuxinxi(仓库号 varchar(12) not null primary key,仓库名 varchar(10)not null,电话 varchar(8) not null,备注 varchar(100) null);use shebeiguanlicreate table guanliyuanxinxi(工作号 varchar(12)n ot null primary key,姓名 varchar(12)not null,性别 varchar(2)not null,电话 varchar(12) null,住址 varchar(12) null,备注 varchar(100) null);use shebeiguanlicreate table zhigongxinxi(工作号 char(10) not null primary key,姓名 char(10) not null,职称 char(10) not null,电话 char(4) not null,备注 varchar(100) null,);Insert into shebeixinxi Values(00000000,computer,hp,00001,1);JAVA代码import javax.swing.*; import java.awt.*; import java.awt.event.*; import java.io.FileRe

温馨提示

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

评论

0/150

提交评论