1、毕业论文退休人员信息管理系统的设计与实现摘要随着计算机技术的飞速发展,计算机在企业管理中的应用逐渐普及,对于大中型企业来说,利用计算机支持企业高效率完成各项日常事务,是适应现代企业制度要求、推动企业管理走向科学化、规范化的必要条件。计算机管理有无法比拟的优点,如检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高工作效率,也是企业的科学化、正规化管理,与世界接轨的重要条件。古书院矿退管中心管理了大约三千名的退休干部职工,主要靠人力完成。若要查找退休职工的某些信息,就要翻阅大量的台帐登记表。为了能让管理员从繁重的工作中解脱出来,使管理员在使用一个软件以后能极
2、其容易地对离、退休人员进行动态管理,并且准确无误,轻松自如,开发一个退休人员管理系统是当务之急,也是本论文选题的重要意义和研究宗旨。作为软件工程硕士,本人在实习阶段参与了退休人员管理系统的开发测试和实施等工作,将所学理论知识和现实需求及实际操作过程结合起来是我最大的收获,使我受益匪浅。在这次毕业设计中,本人主要做了如下工作:1、对退休人员信息管理系统进行详细的需求分析,制作了数据字典、绘制了数据流程图等。2、对退休人员信息管理系统进行总体设计,包括对系统的主要功能模块进行设计,并对系统的安全性也进行了分析与设计。3、实现退休人员信息管理系统的主要功能,包括退休人员基本信息的增加、删除、修改、打
3、印和查询功能,以及各类人员的统计等功能。这套退休人员信息管理系统是基于 C/S(客户端/服务器) 的模式,采用 ACCeSS 数据库,使用 VB6.0 程序设计开发实现的。为了增强系统的安全性,还对系统的用户进行分类管理,把用户分为一般用户和管理员用户,一般用户只可修改个人用户信息、密码,查看人员基本信息,而管理员用户可对系统进行所有操作。本系统通过对企业离、退休人员信息的动态管理,可以大大改善管理员的日常工作,从而提高工作效率和工作质量。关键词:管理系统 C/S 结构局域网数据库 VB6.0目录第一章绪论11.1 开发背景11.2 系统概述.11.3 开发环境 .21.4 论文的结构与主要工
4、作21.5 本章小结.3第二章相关理论与技术简介42.1 软件工程42.2 面向对象方法52.3 客户机/服务器结构 .72.4 数据库与数据系统.112.5VISUALBASIC6.0122.5.1VisualBasio6.0 功能介绍.122.5.2VisualBasic 的特点 122.6 数据库管理系统 MlcR0s0FTAccEss.132.7 本章小结.15第三章系统的需求分析163.1 目的及系统功能163.1.1 目的.163.1.2 目标系统最终实现的主要功能 .163.1.3 系统性能要求 .163.2 系统功能流程图.173.3 系统数据流图.173.4 数据字典 .18
5、3.4.1 数据流.183.4.2 数据存储流.193.4.3 数据项.203.5 本章小结21第四章系统的总体设计.224.1 系统结构概况.224.2 系统功能模块图 224.3 系统功能模块设计.234.3.1 人员信息管理234.3.2 人员统计254.3.3 用户管理 .254.4 数据结构(库) 的设计264.5 安全性设计及系统出错.294.6 本章小结.30第五章系统的详细设计及功能实现315.1VB 连接 AccEss 数据库的方法315.2 系统登录的实现.315.3 系统主窗体 335.4 用户管理功能的实现335.5 人员信息管理功能的实现.355.5.1 人员信息查询
6、、删除的实现 355.5.2 人员信息录入、修改的实现 .365.5.3 人员信息打印的实现。 .385.5.4 报表设计.405.6 人员统计的实现425.7 本章小结 43第六章系统性能分析和测评446.1 软件系统的测试.446.1.1 测试过程 .446.1.2 测试方法.456.1.3 具体测试456.2 软件系统的维护486.3 本章小结.48结束语49参考文献50附录.51致谢69第一章绪论本章介绍了论文内容的背景来源,系统的功能需求、特点和开发环境,以及论文的结构和主要工作。1.1 开发背景随着计算机技术的飞速发展,计算机在企业管理中的应用逐渐普及,对于大中型企业来说,利用计算
7、机支持企业高效率完成各项日常事务,是适应现代企业制度要求、推动企业管理走向科学化、规范化的必要条件。现有的管理方式,都是靠人力来完成的。当企业规模比较小的时候,人力可以完成,随着企业的规模越来越大,依然维持着人力进行管理,必然会造成工作效率低,工作错误增高的问题。古书院矿退管中心管理了大约三千名的退休干部职工,若要查找退休职工的某些信息,就要翻阅大量的台帐登记表,遇到发放抚恤金、慰问金等工作时,常常会出现漏报、错报等情况,给有些老同志造成了或多或少的损失。这套退休人员信息管理系统,不仅可以改善退管中心管理人员的日常工作,而且方便了保险办、工会等相关部门对退休人员信息的查询,从而提高了工作效率和
8、工作质量。本系统要求几大功能模块的设计:包括退休人员基本信息的增加、删除、修改、打印和查询功能,以及各类人员的统计。在这次毕业设计中,本人对所做系统进行了详细的需求分析、概要设计、总体设计。在需求分析中制作了数据字典、绘画了数据流程图等。在导师的指导下完成了编程阶段,共同实现了退休人员信息管理系统的设计与开发。.2 系统概述1、功能需求本系统为了方便对企业的离、退休人员的信息进行动态管理,系统是基于 C/S(客户端/服务器 )的模式进行开发的。采用 Acc,esS 建立数据库,使用 VB 进行程序开发,具有运行速度快、安全性高、稳定性好的优点。2、系统特点(1)、本系统容易理解、使用简单。系统
9、操作简单,使用人员不需要借助其他使用说明书,只要按照系统屏幕提示就可轻松操作本系统。(2) 、本系统具有实用性强、快捷方便、安全性高、灵活性好等特点。它即可适用于单机操作,也适用于小型局域网上。(3)、为了便于用户使用,系统提供了模糊条件的查询检索,以及精确条件的查询方式。(4) 、本系统中设置了用户口令,对不同的使用者系统自动赋予不同的使用权限,允许他们在一定范围内操作,提高了系统的安全性及保密性。1、硬件环境配置 (1)HPProliantDL38OG4 服务器技术参数 :标准 19,机架式服务器(2U 高);标配 1 个 Xeon3.6GHz,集成 ZMB 二级主速缓存,最多可扩至 2
10、个处理器; 内存 IGB(2x512MB)双路交叉存取 PCZ 一 320ORDDRZSDRAM,运行速度为 400MHz,具有高级 ECC 和联机备用内存功能; 内嵌 NC7782 双端口 PCI 一 X 千兆服务器适配器;集成 SMBSDRAM 显存的 ATIRageXIJ 视频控制器;功率 575W;2 个 146.SGB10, 000rpm,U32O 通用驱动器;24 倍速 IDECD 一 ROM光驱用途:用作数据库服务器和 Web 服务器(2)华为 3COMQuidway53528G 三层交换机技术参数:背板带宽 (Gbps):32端口数:2 叭模块化插槽数:4 用途: 终端接入及
11、VLAN 划分(3) 华为 3COMQuidwayR263lE 路由器技术参数: 个配置口,1 个 AUX 口,2个以太网口, MPCMHz 处理器用途:网间路由及接入 Internet 用(4)联想扬天 MS100C技术参数:处理器 AMDSempron;内存 512M;硬盘 120G;显示器 17液晶用途:各业务单位配备使用2、软件环境配置(1)服务器操作系统 :WindowSServer2003(2)后台数据库管理系统 :MierosoftAcceSS(3)用户系统平台 :MicrosoftWindowsXPprofessional(4)开发工具 :VisualBasie6.0.4 论文
12、的结构与主要工作第一章绪论部分对系统开发背景和退休人员信息管理系统进行了简要介绍,分析了该系统设计的特点和任务,并介绍了系统的开发环境。第二章简要介绍了本论题相关的理论和技术,包括软件工程的相关知识、面向对象方法、客户机/服务器模式、数据库与数据系统、 VisualBasic6.0、MICroS 。 ftAecess。第三章分析了退休人员信息管理系统的应用需求,明确了系统的性能要求和主要功能,并根据需求绘制了数据流程图和数据字典。第四章对退休人员信息管理系统进行了详细的总体设计,绘制了系统功能模块图,并对系统功能进行了划分和细化,对系统的安全性进行了分析和设计。第五章根据设计结果利用 VISu
13、alBasic6.0 进行了具体的应用程序设计。第六章对退休人员信息管理系统进行了性能测试和评估。总结部分介绍了设计体会和编程体会,并指出了系统设计中的不足和改进的方向。在这次毕业设计中,本人主要做了如下工作:1、对退休人员信息管理系统进行详细的需求分析,制作了数据字典、绘制了数据流程图等。2、对退休人员信息管理系统进行总体设计,包括对系统的主要功能模块进行设计,并对系统的安全性也进行了分析与设计。3、实现退休人员信息管理系统的主要功能,包括退休人员基本信息的增加、删除、修改、打印和查询功能,以及各类人员的统计等功能。4、关于论文的关键技术的介绍包括: 软件工程的相关知识、面向对象方法、客户机
14、/服务器模式、数据库与数据系统、 visualBasic6.0、 MICrosoftAeeess 等。5、其他和项目相关的日常工作等。5 本章小结本章主要论述了课题的开发背景,退休人员信息管理系统的概述以及论文结构和我的主要工作等内容。第二章相关理论与技术简介根据本系统的软(硬)件开发环境,本章对相关的理论和技术进行了简要介绍,包括包括软件工程的相关知识、面向对象方法、客户机/服务器模式、数据库与数据系统、VisualBasic6.0、Mi。 rosoftAeeess,为系统的开发设计打下理论基础。2.1 软件工程软件工程是用科学知识和技术原理来定义、开发和维护软件的一门工程学科。采用工程的概
15、念、原理、技术和方法来开发和维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,这就是软件工程。它涉及计算机科学、系统科学、管理科学、数学等许多学科领域。其主要思想强调在软件生产中采用工程化的方法代替传统手工方法。软件工程的内容主要包括:软件开发技术和软件项目管理。而软件开发技术包括软件开发方法学、软件工具和软件工程环境;软件项目管理包括软件质量、项目估算、进度控制、人员组织、配置管理和项目计划等。软件工程的七条基本原理:用分阶段的生命周期计划严格管理、坚持进行阶段评审、实行严格的产品控制、采用现代程序设计技术、结果应能清楚的审查、开发小组的人员应该少而精、承认
16、不断改进软件工程时间的必要性。1、软件工程的基本目标(1)具有较低的软件开发成本;(2)达到用户所要求的全部软件功能;(3)具有令用户满意的、技术先进的软件性能;(4)具有较好的可移植性和可重用性;(5)需要较低的软件维护成本;(6)能按时完成开发任务,及时交付用户使用;(7)所开发的软件具有较高的可靠性。2、软件生命周期的化分(1)问题定义:确定系统的基本功能;(2)可行性研究:确定系统是否能够实现及是否值得实现;(3)需求分析:确定系统必须完成的各种功能;(4)总体设计:确定如何实现软件;(5)详细设计:详细设计实现系统;(6)编码和单元测试:写出正确的容易理解和维护的程序模块;(7)综合
17、测试:通过各种类型的测试及调试使软件达到预定的要求;(8)软件维护:通过各种必要的维护活动使系统持久地满足用户的需要。3、软件质量评价的化分(1)软件质量的度量与评价模型;(2)软件复杂性的度量;(3)软件可靠性的评价;(4)软件性能的评价;(5)软件运行评价。2.2 面向对象方法面向对象方法(object 一 ori。 ntedMethod)是一种把面向对象的思想应用于软件开发过程中,指导开发活动的系统方法,简称 oo(object 一 oriented)方法,是建立在“对象”概念基础上的方法学。对象是由数据和容许的操作组成的封装体,与客观实体有直接对应关系,一个对象类定义了具有相似性质的一
18、组对象。而继承性是对具有层次关系的类的属性和操作进行共享的一种方式。所谓面向对象就是基于对象概念,以对象为中心,以类和继承为构造机制,来认识、理解、刻画客观世界和设计、构建相应的软件系统。在 oo 方法中,对象和传递消息分别表现事物及事物间相互联系的概念。类和继承是适应人们一般思维方式的描述范式。方法是允许作用于该类对象上的各种操作。这种对象、类、消息和方法的程序设计范式的基本点在于对象的封装性和类的继承性。通过封装能将对象的定义和对象的实现分开,通过继承能体现类与类之间的关系,以及由此带来的动态联系和实体的多态性,从而构成了面向对象的基本特征。00 方法遵循一般的认知方法学的基本概念(即有关
19、演绎一从一般到特殊和归纳一从特殊到一般的完整理论和方法体系)而建立面向对象方法等基础。面向对象方法学要点之一:认为客观世界是由各种对象所组成的,任何事物都是对象,每一个对象都有自已的运动规律和内部状态,每一个对象都属于某个对象”类” ,都是该对象类的一个元素。复杂的对象可以是由相对比较简单的各种对象以某种方式而构成的。不同对象的组合及相互作用就构成了我们要研究、分析和构造的客观系统。面向对象方法学要点之二:是通过类比,发现对象间的相似性,即对象间的共同属性,这就是构成对象类的依据。在“类” 、 “父类” 、 “子类”的概念构成对象类的层次关系时,若不加特殊说明,则处在下一层次上的对象可自然地继
20、承位于上一层次上的对象的属性。面向对象方法要点之三:认为对已分成类的各个对象,可以通过定义一组,方法“来说明该对象的功能,即允许作用于该对象上的各种操作。对象间的相互联系是通过传递”消息“来完成的,消息就是通知对象去完成一个允许作用于该对象的操作,至于该对象将如何完成这个操作的细节,则是封装在相应的对象类的定义中的,细节对于外界是隐蔽的。00 方法具有很强的类的概念,因此它就能很自然地直观地模拟人类认识客观世界的方式,亦即模拟人类在认知进程中的由一般到特殊的演绎功能或由特殊到一般的归纳功能,类的概念既反映出对象的本质属性,又提供了实现对象共享机制的理论根据。当遵照面向对象方法学的思想进行软件系
21、统开发时,首先要进行面向对象的分析(佣 A 一一 objeetorientedAnalysis),其任务是了解问题域所涉及的对象、对象间的关系和作用(即操作),然后构造问题的对象模型,力争该模型能真实地反映出所要解决的”实质问题 。在这一过程中,抽象是最本质、最重要的方法。针对不同的问题性质选择不同的抽象层次,过简或过繁都会影响到对问题的本质属性的了解和解决。其次就是进行面向对象的设计(ooD 一一 objectorientedDesign),即设计软件的对象模型。根据所应用的面向对象软件开发环境的功能强弱不等,在对问题的对象模型的分析基础上,可能要对它进行一定的改造,但应以最少改变原问题域的
22、对象模型为原则。然后就在软件系统内设设计各个对象、对象间的关系(如层次关系、继承关系等)、对象间的通信方式(如消息模式 )等,总之是设计各个对象应做些什么“。最后阶段是面向对象的实现(00P 一 obje。 torientedProgra,nming) ,即指软件功能的编码实现,它包括:每个对象的内部功能的实现;确立对象哪一些处理能力应在哪些类中进行描述;确定并实现系统的界面、输出的形式及其它控制机理等,总之是实现在 ooD 阶段所规定的各个对象所应完成的任务。用 oo 方法进行面向对象程序设计,其基本步骤如下:(l)分析确定在问题空间和解空间出现的全部对象及其属性;(2)确定应施加于每个对象
23、的操作,即对象固有的处理能力;(3)分析对象间的联系,确定对象彼此间传递的消息;(4)设计对象的消息模式,消息模式和处理能力共同构成对象的外部特性;(5)分析各个对象的外部特性,将具有相同外部特性的对象归为一类,从而确定所需要的类;(6)确定类间的继承关系,将各对象的公共性质放在较上层的类中描述,通过继承来共享对公共性质的描述;(7)设计每个类关于对象外部特性的描述;(8)设计每个类的内部实现( 数据结构和方法);(9)创建所需的对象(类的实例),实现对象间应有的联系 (发消息)。00 方法用于系统开发有如下优越性:(l)强调从现实世界中客观存在的事物(对象 )出发来认识问题域和构造系统,这就
24、使系统开发者大大减少了对问题域的理解难度,从而使系统能更准确地反映问题域。(2)运用人类日常的思维方法和原则( 体现于 oo 方法的抽象、分类、继承、封装、消息通讯等基本原则)进行系统开发,有益于发挥人类的思维能力,并有效地控制了系统复杂性。(3)对象的概念贯穿于开发过程的始终,使各个开发阶段的系统成分具有良好的对应,从而显著地提高了系统的开发效率与质量,并大大降低系统维护的难度。(4)对象概念的一致性,使参与系统开发的各类人员在开发的各阶段具有共同语言,有效地改善了人员之间的交流和协作。(5)对象的相对稳定性和对易变因素隔离,增强了系统的应变能力。(6)对象类之间的继承关系和对象的相对独立性
25、,对软件复用提供了强有力的支持。2.3 客户机/服务器结构早期数据库系统是集中式的体系结构,所有访问数据库的应用程序以及用户终端发送并接受数据的通信都在一个宿主计算机(UNIX 大型或小型机)上运行。随着 PC 机的兴起,单用户的 DBMS 出现, DBllS 的功能和数据库应用功能结合在一个应用程序中,数据库应用处理用户输入和屏幕输出的同时,也处理对数据库中数据的访问。基于 PC 的单用户DBMS 不支持事务处理和回退恢复,不能保证数据的安全和完整,但查询速度却并不慢。客户机/服务器 (Client/Server)结构可以指硬件结构,也可以指软件结构。硬件结构指某项任务在两台或多台计算机之间
26、进行分配,客户机来运行提供用户接口和前端处理的应用程序,服务器提供可供客户机使用的各种资源和服务。客户机在完成某一项任务时,通常要利用服务器上的共享资源和服务器提供的服务。在一个客户机/服务器体系结构中可以有多台客户机、多台服务器。软件结构指把一个应用系统按照逻辑功能分成四个组成部分:用户界面、应用表示逻辑、事务逻辑、数据管理,按照其相对角色的不同区分为客户端和服务器端软件。客户软件能够请求服务器软件的服务。客户软件和服务器软件可以分布在网络中不同的计算机节点上,也可以放置在同一台计算机上。客户机/服务器系统最本质的特点在于:客户 PC 运行数据库应用( 界面处理),数据库服务器运行全部或大部
27、分 DBMS(数据处理 )。服务器运行 SQL,将查询结果传送到客户端,减少了网络信息的传输,系统采用数据锁定、事务技术、存储过程等数据库技术保证数据完整一致准确。常见客户机/服务器(即 C/S 结构) 体系有两层结构和三层结构。两层 C/S 结构的基本工作方式: 客户程序运行用户的应用程序,向数据库服务器发送 SQL 请求,数据库服务器接受客户机的请求,并将处理结果返回客户端。一个功能强大的客户应用开发语言和一个多用途的用于传送客户请求到服务器的机构是整个两层结构的核心。在一个数据存取事件中,数据由服务器实施存储和访问,数据库引擎负责处理从客户端发来的请求。把 SQL 语言从客户机传送到服务
28、器上必须能识别服务的标识符或由一个应用程序接口来完成,还必须知道服务器的位置、数据组织形式以及数据如何定义。在服务器中,请求将得到存储逻辑和处理的进一步优化,例如使用权限、完整性、并发控制等。两层 C/S 结构具体又分为两种实现方式:一种是客户端完成界面显示和应用逻辑,服务器完成事务逻辑和数据管理。这种情况是以客户为中心的。这种方式下,表示部分和应用逻辑祸合紧密,比较适用于应用相对简单、数据访问量不大的情况。另一种以服务器为中心,一些重要的应用逻辑放在服务器上,充分利用服务器的计算能力,通常以存储过程和触发器出现,减少网络压力,提高系统性能。这种方式下,存储程序依赖于特定数据库,不同数据库间的
29、移植不太容易。把两层结构中服务器部分和客户端部分的应用单独划分出来,即形成三层 C/S 结构。在 X/OPenDTP 标准中描述了三层 C/S 模型: 由应用程序定义各种操作来执行完成特定任务,它定义事务的范围并把服务要求提交给事务管理器、通信管理器及一个或多个资源管理器。资源管理器提供应用程序的事务间的服务,通常是一个数据库。事务管理器提供事务的服务。如果事务跨越多个平台,那么其中一个的事务管理器为该事务的事务管理器。通信管理器提供通信服务的接口以及管理应用层协议。数据库应用的三层 C/S 结构将应用分成表示部分、应用逻辑(或称商业逻辑)、数据访问部分。三层 C/S 结构使各部分相互独立并单
30、独实现,分别称为客户、应用服务器和数据库服务器。三层 C/S 结构中数据在发送到网络之前由功能服务器加以过滤,网络流量会减少,另外客户端并不是直接同数据库打交道,而是通过中间层的统一调用来实现,在灵活性和独立性方面较好,适合于不同数据库的互联。基于三层模型的应用系统:应用逻辑层:最普遍的处理方案是使用存储过程和触发器。从客户机角度看存储过程是一个单独的事件,可以在服务器上执行复杂的操作,事务的完成或取消最终控制权交给用户;使用存储过程可避免通过网络传送 SQL 语句,也不必将数据通过网络传回来进行处理。数据层:定义正确的数据表和选择合适的存储方案,优化数据库的性能,使数据库快速、可靠、准确的响
31、应用户的请求。如建立索引,优化设置。表示层:表示层主要承担人机界面的任务。应用系统的性能优化设计是一项系统的工作,三层模型为系统的开放性扩充和性能优化提供了很大的空间和灵活性,但单纯的三层结构并不一定是最优的。C/S 数据库管理系统通常通过高性能的锁定、事务提交、参照完整性、存储过程和触发器等数据管理技术实现多用户下良好的数据完整性和并发控制。C/S 结构数据库系统的分层模型:客户端网络接口:是在客户端负责客户应用与数据库服务器通信,将数据信息编码或解码,提供发送/接受的逻辑通道。网络接口层协议的目的是为了减少网络传送的字节数目,它建立在基础网络协议(TCP/IP、IPX、SAN 等)之上。编
32、码协议主要有两种:通信与远程过程调用 (RelnoteProcedurecall,RPC)。通信是指前端应用与 DBMS 之间的信息传输采用的报文形式,编码协议有:TABULAR(Mierosoft)、SQL*Net(oraCle)、DRDA(IBM)。远程过程调用是一种由客户制定而由服务器来执行的函数调用。客户端数据管理层:用于客户应用与服务器数据库进行交互时所必需的登录管理和数据库连接以及提交语句、返回结果和处理错误。客户端数据管理层实际上就是开发人员或应用程序使用的数据库 API,如DB_Library(Micros。ft、Sybase)、OCI(ora。le)和 SQLRuntime(
33、IBM).服务器端的客户管理:客户管理程序的作用是协调客户端的通信要求,为每个客户联系建立合法的数据通信渠道,为在网络上传送而使信息格式化,管理多种客户请求线程。服务器端的数据管理:数据管理程序处理每个客户的数据服务请求,验证和解析SQI请求,优化数据操作,生成存取计划,建立不同形式的锁控制并发,对数据库中数据的访问(存取计划)。客户对数据库的访问可以理解为:服务器端正确解析客户发出的 SQL请求,并作出回应或发回出错信息。基于不同 DBMS 的差异和对不同 SQL 语言版本的支持,客户应用必须考虑采用何种数据库访问策略:选择开发客户应用的开发环境和选择适当的应用程序接口(API)。所有的客户
34、机服务器数据库厂商都有自己支持的程序设计工具箱,他们可以独立建立定制的客户应用。特定于专门数据库的设计工具,提供了对本数据库最完美的支持,但可能忽略对其他数据库的全力支持,选择第三方厂商的开发应用集成环境,是对该空隙的有力补充,他们往往注意数据库共性的同时,通过各种技术为异质数据库提供不同支持,如 ODBC。为了使客户应用能同时访问多种数据库,(既包括网络数据库,又包括单机数据库),应用开发环境所采用的技术往往有两种途径:支持诸如 ODBC 这样的公共数据库接口API;专门设计同时驱动多种安装在客户端的数据库驱动程序管理层。许多应用开发集成环境同时采用这两种途径,以便提高产品的通用性。如 De
35、lPhi 的BDE(BoriandDatabaseEngine)。C/S 系统的并发控制 :C/S 系统必须提供封锁机制,事务编程要尽可能避免死锁,并允许死锁的发生及提供解决死锁的方案,保证并发执行的同时维护数据的一致。封锁机制可以由 DBMS 自动控制,也可以通过显式加锁完成。C/S 系统的完整性约束: 在 C/S 系统中,数据完整性约束是在服务器上定义,并由服务器来检查约束,这样能方便地实现对数据库的完整性和一致性控制。如果由客户机检查约束,检查逻辑必须包含在每一个应用程序中,既浪费又容易出错。C/S 系统的安全性控制:DBMS 通常运行在后台服务器上,自身己具备安全管理功能。应用程序运行
36、在前端客户机上,安全性问题由开发者自己设计。如何将后台 DBMS 的安全机制与前端应用程序的安全机制有机结合起来,形成统一的安全保密机制。可以选择以下几种方案:内核级透明代理:每个数据库应用只建立一个真正的数据库帐号(ROot),它具有对系统应用所涉及的数据库实体进行操作的全部权限。为每一个系统操作人员分别创建一个应用系统帐号 ,放在数据库中的 UserS 表中。每次应用程序在客户端执行时,首先以 Root 登录数据库,然后执行登录程序,与 USers 表结合,实现应用系统登录。Users 表中的内容需加密保存,数据的加密和解密通过应用程序完成。用户授权机制:后台服务器系统除了操作系统具有严格
37、的用户等级机制外,DB4IS也具有严格的用户授权管理机制。前端应用程序的安全机制与DBMS 的安全机制统一起来,可以增强安全保密功能。具体做法,从功能出发将整个系统细分为若干个可分配的最小权限单元,这些权限即对数据库中所涉及的表、视图的增删改查。然后运用角色或工作组的概念,结合各种系统使用人员的工作性质,为系统创建各种操作等级,并为每个等级相应地授予不同的权限。用户等级及每种等级所对应的默认权限组合建立对照字典,管理员可以方便地增加等级或改变某一等级的默认权限。在统一管理下,既方便又可防止用户绕过应用逻辑直接操作数据库的可能。智能型日志:DBMS 的日志系统是为了保障事务故障、系统故障和介质故
38、障的恢复。智能型日志是数据库应用系统设计的为了跟踪系统使用情况的记录,相当于飞机的黑匣子 。在系统中,智能型日志将记录:自某用户登录时起,到其退出系统时止,这段时间中执行的所有操作,包括登录失败操作,具体内容有执行某操作的用户名、执行操作的计算机 IP 地址、操作类型、操作对象、执行时间等。一旦系统发生故障或受到非授权用户的恶意攻击,通过查询日志系统的记载可追溯到事件发生的所有过程。另外,日志系统还可以使系统管理员分类检索日志内容,通过智能推理日志内容,寻找系统中可能存在的不安全因素。如对同一帐号的连续三次登录失败,系统自动冻结该帐号或封锁工作站。备份及恢复机制:数据库管理系统提供了事务故障、
39、系统故障的恢复例程,介质故障的恢复要靠 DBA 来进行。 DBMS 提供的数据恢复机制并不能满足所有的应用情形。为了防止存储设备的异常损坏,可以采用可热插拔的磁盘容错阵列或双机热备份等技术。为了防止人为的失误或破坏,可建立强大的数据库触发器以备份重要数据的更新操作,对删除操作,将被操作的记录全部存储在备份库中,对更新操作,可以备份执行过的 SQL 语句等等。保证在任何情况下,重要数据均能有效地得到恢复。只有将系统日志与备份数据有机地结合在一起,才能实现系统安全的万无一失 。2.4 数据库与数据系统数据库技术是计算机应用技术中的一个重要组成部分,对于大量的数据,使用数据库来存储管理有更高的效率。
40、数据库就是一组排列成易于处理和读取的相关信息的集合。数据库是长期储存在计算机内的,有组织的,可共享的数据集合。数据库中的数据按一定的数据模型组织、描述和储存,具有较小的冗余度、较高的数据独立性和易扩展性,并可为各种用户共享。在科学技术飞速发展的今天,人们的视野越来越广,数据量急剧增加。过去人们把数据存放在文件柜里,现在人们借助计算机和数据库技术科学的保存和管理大量的复杂的数据,以便能方便而充分地利用这些宝贵的信息资源。数据库(DataBase),nata 是数据,Base 为基地。所以在通俗的意义上,数据库不妨理解为存储数据的基地。今天,数据库管理己成为计算机信息管理的主要方式。由于数据库具有数据结构化、最低容于度、较高的程序与数据独立性、易于扩充、易于编制应用程序等优点,较大的信息系统都是建立在数据库设计之上的。数据、数据库、数据库管理系统和数据库系统是与数据库技术密切相关的四个基本