同门师兄弟啊~~~不容易,幸亏我们毕业论文不让我们写关于数据库的· · 好险~~~~
论文你可以去知网看看相关资料
数据的完整性在数据库应用系统中的设计与实施摘要:本文主要介绍了在SQL Server数据库应用系统中,在服务器端和客户端实现数据完整性的设计方法,并结合医院管理信息系统(简称JY-HMIS),阐述了实施数据完整性的策略。关键词:数据完整性 数据库 事务处理前言数据完整性是指数据的正确性和一致性,它有两方面的含义:(1)数据取值的正确性,即字段列值必须符合数据的取值范围、类型和精度的规定;(2)相关数据的一致性,即相关表的联系字段的列值匹配。在数据库应用系统中,保证数据完整性是应用系统设计的基本要求;数据完整性实施的好坏,关系到数据系统的正确性、一致性和可靠性,关系到系统的成败。JY-HMIS采用C/S模式体系结构,其数据库应用系统为:SQL Server 7.0;客户端的开发工具为:PowerBuilder 6.5。下面主要从服务器端数据库管理系统及客户端的应用程序一,两个方面进行介绍。1 服务器端利用SQL Server 7.0数据库实现数据的完整性在用INSERT、DELETE、UPDATE语句修改数据库内容时,数据的完整性可能遭到破坏,为了保证存放数据的正确性和一致性,SQL Server对数据施加了一个或多个数据完整性约束。这些约束限制了对数据库的数据值,或者限制了数据库修改所产生的数据值,或限制了对数据库中某些值的修改。在SQL Server关系数据库中,主要有以下3类数据完整性:实体完整性(保证表中所有行唯一);参照完整性(主健和外健关系维护,它涉及两个或两个以上的表的数据的一致性维护);域完整性(某列有效性的集合,是对业务管理或是对数据库数据的限制)。在报务器端有两种方法实现数据完整性:定义Creat Table 完整性约束及定义规则、缺省、索引和触发器。1.1 定义 createtable 完整性约束此方法是在创建数据库表的命令语句中,加入表级约束或列级来实现数据完整性。如在建表语句中加入非空(not null)约束、缺省(default)约束、唯一码(unique)约束、主键码(primary key)约束、外键码(foreign key)约束、校验(check)约束等。它的主要特点是:定义简单、安全可靠、维护方便。1.1.1 非空约束、缺省约束和校验约束非空约束限定了列值不能为空值;缺省约束指定当向数据库插入数据时,若用户没有明确给出某列的值时,SQL Server 自动输入预定值;校验约束则用来限定列的值域范围。例如,在创建图书登记表中,限定登记日期、图书类别编码、登记号、中文名等列值不允许为空值;页数的缺省值为1;单价的缺省值为0;图书状态只能为:“在馆”、“借出”、“丢失”之一。1.1.2 主键约束和唯一约束主键约束和唯一约束,均为指定的列建立唯一性索引,即不允许唯一索引的列上有相同的值。主键约束更严格,不但不允许有重复值,而且也不允许有空值。例如,在科室编码表,对列ksbm创建主键约束,对ksmc创建唯一约束。1.1.3 外键约束外键约束又称参照完整性约束,用来限定本表外键码列值与相关表主键码字段列值的匹配,即保证相关数据的一致性。例如,在创建医师编码表中,医生所属科室 ssks 为外键码,限定它与科室编码表中的科室编码 ksbm 列值一致。1.2 定义规则、缺省、索引和触发器在数据库表的创建命令语句中定义约束的方法,虽然具有简单、方便、安全等特点,但它只对特定的表有效,不能应用到其他表,并且只能使用 alter table 命令修改或删除约束,缺乏一定的灵活性。与此相反,在数据库中创建与表相对独立的规则、索引和触发器对象,也能实现数据完整性,而且能实施更复杂、更完善的数据完整性约束。它的主要特点是功能强、效率高、维护方便。1.2.1 定义规则规则类似于表定义中的校验约束,用来限定列的值域范围。但它不限定于特定表,可以绑定到其他表的列或用户自定义的数据类型中使用。例如,在定义药品的编码规则Rul-ypbm,可绑定到其他表中。1.2.2 定义缺省缺省类似于表定义中的缺省约束,用来设置列的缺省值输入。它也不限定于特定表,可以绑定到其他表的列或用户自定义数据类型中使用。1.2.3 定义索引索引类似于表定义中的唯一约束,用来保证列值的唯一性。此外,它还能使用聚簇索引和非聚簇索引选项,来增强数据检索的性能。例如,对于门诊收费明细帐表,分别建立了按收费日期和收费序号的非聚簇索引,大大提高了数据的查询速度,在未建立索引前,要在20多万条记录中查询满足条件的记录,大约需要5分钟左右,建立索引后,只需要4秒钟左右。1.2.4 定义触发器触发器是一种实施复杂的完整性约束的有效方法,当对它所保护的数据进行修改时自动激活,防止对数据进行不正确、未授权或不一致的修改。类似于表定义中参照完整性约束;触发器也可用来保证相关数据的一致性。它还能完成一些表定义参照完整性的约束不能完成的任务。2 客户端利用PB开发的应用程序实现数据的完整性2.1 用PB的控件来确保数据的完整性在以PB开发工具编写的应用程序中,可使用数据窗口对象的列校验属性来检查输入数据的正确性;在窗口输入界面中还可以采用下拉列表、复选框、单选按钮等控件,实现固定值选取输入来确保数据的正确;另外,应用程序本身也可以对输入数据进行有效检查来确保数据的完整性。2.2 利用事务的特点来保证数据的一致性因PB的每一操作都是基于控件中的事件,所以一个完整的事务处理要集中在一个事件或一个操作单元中。例如,门诊划价收费中的付款处理;同一个收费序号下的数据,经过处理后要记入明细帐、一级明细帐、总帐,同时还要更新收费序号登记表等;所有这些处理算是一个完整的任务,必须等所有的语句都执行成功后,才能对数据库进行提交;如果有一条语句未执行成功,就要撤消该事务的一切操作,回退到事务开始的状态,这样才能保证数据的一致。利用客户端应用程序实现数据完整性的方法,其主要特点是:交互性好、功能强,但编程偏大、维护困难、可靠性差。3 实现数据完整性的策略由上述可见,在SQL Server数据库应用系统中,实现数据完整性的方法各有其特点。对具体应用系统,可根据需要采用其中一种或多种方法来建立数据完整性的机制,其策略为:(1) 对于通过窗口操作输入的数据,一般采用客户端应用程序来确保数据的完整性。这样,一方面可把非法数据在提交到数据库之前就拒之门外,另一方面可使用户及时得到操作反馈信息,做出正确的选择。(2) 对于通过其他途径转入的数据,一般需要服务器端数据库管理系统来实现数据的完整性。(3) 对于数据一致性的维护,宜于由服务器端数据库的触发器或表定义的约束来实现。这样可降低客户端应用程序的开发量,提高应用系统的运行效率、可维护性及可靠性。(4) 对于数据完整性和安全性要求较高的系统,则需要采用多层保护屏障来确保数据的完整性和安全性。如:既在客户端应用系统程序检查输入数据的有效性,同时又在服务器端数据库中建立表的约束、规则、缺省和触发器等进行数据完整性约束。这样可以提高系统数据的可靠性和安全性。4 结语数据库完整性是数据库应用系统的最基本要求之一。在SQL Server数据库应用系统中,可采用服务器端数据库表定义约束和数据库规则、缺省、索引、触发器及客户端的应用程序等三种方法实施数据的完整性。它们各有其特点,在应用系统中,应根据具体情况,灵活使用。参考文献[1] 杨正洪.SQL Server 7.0 关系数据库系统管理与开发指南.机械工业部出版社,2000.[2] Microsoft SQL Server 7.0 数据库系统管理与应用开发.北京人民邮电出版社,1999.[3] 薛华成.管理信息系统.清华大学出版社,1995.
数据库完整性(Database Integrity)是指数据库中数据的正确性和相容性。数据库完整性由各种各样的完整性约束来保证,因此可以说数据库完整性设计就是数据库完整性约束的设计。数据库完整性约束可以通过DBMS或应用程序来实现,基于DBMS的完整性约束作为模式的一部分存入数据库中。通过DBMS实现的数据库完整性按照数据库设计步骤进行设计,而由应用软件实现的数据库完整性则纳入应用软件设计(本文主要讨论前者)。数据库完整性对于数据库应用系统非常关键,其作用主要体现在以下几个方面: 1.数据库完整性约束能够防止合法用户使用数据库时向数据库中添加不合语义的数据。 2.利用基于DBMS的完整性控制机制来实现业务规则,易于定义,容易理解,而且可以降低应用程序的复杂性,提高应用程序的运行效率。同时,基于DBMS的完整性控制机制是集中管理的,因此比应用程序更容易实现数据库的完整性。 3.合理的数据库完整性设计,能够同时兼顾数据库的完整性和系统的效能。比如装载大量数据时,只要在装载之前临时使基于DBMS的数据库完整性约束失效,此后再使其生效,就能保证既不影响数据装载的效率又能保证数据库的完整性。 4.在应用软件的功能测试中,完善的数据库完整性有助于尽早发现应用软件的错误。 数据库完整性约束可分为6类:列级静态约束、元组级静态约束、关系级静态约束、列级动态约束、元组级动态约束、关系级动态约束。动态约束通常由应用软件来实现。不同DBMS支持的数据库完整性基本相同,Oracle支持的基于DBMS的完整性约束如下表所示: 数据库完整性设计示例 一个好的数据库完整性设计首先需要在需求分析阶段确定要通过数据库完整性约束实现的业务规则,然后在充分了解特定DBMS提供的完整性控制机制的基础上,依据整个系统的体系结构和性能要求,遵照数据库设计方法和应用软件设计方法,合理选择每个业务规则的实现方式;最后,认真测试,排除隐含的约束冲突和性能问题。基于DBMS的数据库完整性设计大体分为以下几个阶段: 1.需求分析阶段 经过系统分析员、数据库分析员、用户的共同努力,确定系统模型中应该包含的对象,如人事及工资管理系统中的部门、员工、经理等,以及各种业务规则。 在完成寻找业务规则的工作之后,确定要作为数据库完整性的业务规则,并对业务规则进行分类。其中作为数据库模式一部分的完整性设计按下面的过程进行。而由应用软件来实现的数据库完整性设计将按照软件工程的方法进行。 2.概念结构设计阶段 概念结构设计阶段是将依据需求分析的结果转换成一个独立于具体DBMS的概念模型,即实体关系图(ERD)。在概念结构设计阶段就要开始数据库完整性设计的实质阶段,因为此阶段的实体关系将在逻辑结构设计阶段转化为实体完整性约束和参照完整性约束,到逻辑结构设计阶段将完成设计的主要工作。 3.逻辑结构设计阶段 此阶段就是将概念结构转换为某个DBMS所支持的数据模型,并对其进行优化,包括对关系模型的规范化。此时,依据DBMS提供的完整性约束机制,对尚未加入逻辑结构中的完整性约束列表,逐条选择合适的方式加以实现。 在逻辑结构设计阶段结束时,作为数据库模式一部分的完整性设计也就基本完成了。每种业务规则都可能有好几种实现方式,应该选择对数据库性能影响最小的一种,有时需通过实际测试来决定。 数据库完整性设计原则 在实施数据库完整性设计的时候,有一些基本的原则需要把握: 1.根据数据库完整性约束的类型确定其实现的系统层次和方式,并提前考虑对系统性能的影响。一般情况下,静态约束应尽量包含在数据库模式中,而动态约束由应用程序实现。 2.实体完整性约束、参照完整性约束是关系数据库最重要的完整性约束,在不影响系统关键性能的前提下需尽量应用。用一定的时间和空间来换取系统的易用性是值得的。 3.要慎用目前主流DBMS都支持的触发器功能,一方面由于触发器的性能开销较大,另一方面,触发器的多级触发不好控制,容易发生错误,非用不可时,最好使用Before型语句级触发器。 4.在需求分析阶段就必须制定完整性约束的命名规范,尽量使用有意义的英文单词、缩写词、表名、列名及下划线等组合,使其易于识别和记忆,如:CKC_EMP_REAL_INCOME_EMPLOYEE、PK_EMPLOYEE、CKT_EMPLOYEE。如果使用CASE工具,一般有缺省的规则,可在此基础上修改使用。 5.要根据业务规则对数据库完整性进行细致的测试,以尽早排除隐含的完整性约束间的冲突和对性能的影响。 6.要有专职的数据库设计小组,自始至终负责数据库的分析、设计、测试、实施及早期维护。数据库设计人员不仅负责基于DBMS的数据库完整性约束的设计实现,还要负责对应用软件实现的数据库完整性约束进行审核。 7.应采用合适的CASE工具来降低数据库设计各阶段的工作量。好的CASE工具能够支持整个数据库的生命周期,这将使数据库设计人员的工作效率得到很大提高,同时也容易与用户沟通。你可以围绕相关内容发表自己的看法
人们把客观存在的事物以数据的形式存储到计算机中,经历了对现实生活中事物特性的认识、概念化到计算机数据库里的具体表示的逐级抽象过程,即现实世界-概念世界-机器世界三个领域。有时也将概念世界称为信息世界;将机器世界称为存储或数据世界。 一、三个世界 1、现实世界 人们管理的对象存于现实世界中。现实世界的事物及事物之间存在着联系,这种联系是客观存在的,是由事物本身的性质决定的。例如学校的教学系统中有教师、学生、课程,教师为学生授课,学生选修课程并取得成绩。 2、概念世界 概念世界是现实世界在人们头脑中的反映,是对客观事物及其联系的一种抽象描述,从而产生概念模型。概念模型是现实世界到机器世界必然经过的中间层次。涉及到下面几个术语: 实体:我们把客观存在并且可以相互区别的事物称为实体。实体可以是实际事物,也可以是抽象事件。如一个职工、一场比赛等。 实体集:同一类实体的集合称为实体集。如全体职工。注意区分"型"与"值"的概念。如每个职工是职工实体"型"的一个具体"值"。 属性:描述实体的特性称为属性。如职工的职工号,姓名,性别,出生日期,职称等。 关键字:如果某个属性或属性组合的值能唯一地标识出实体集中的每一个实体,可以选作关键字。用作标识的关键字,也称为码。如"职工号"就可作为关键字。 联系:实体集之间的对应关系称为联系,它反映现实世界事物之间的相互关联。联系分为两种,一种是实体内部各属性之间的联系。另一种是实体之间的联系。 3、机器世界 存入计算机系统里的数据是将概念世界中的事物数据化的结果。为了准确地反映事物本身及事物之间的各种联系,数据库中的数据必须有一定的结构,这种结构用数据模型来表示。数据模型将概念世界中的实体,及实体间的联系进一步抽象成便于计算机处理的方式。 数据模型应满足三方面要求:一是能比较真实地模拟现实世界;二是容易为人所理解;三是便于在计算机上实现。数据结构、数据操作和完整性约束是构成数据模型的三要素。数据模型主要包括网状模型、层次模型、关系模型等,它是按计算机系统的观点对数据建模,用于DBMS的实现。 关系数据库采用关系模型作为数据的组织方式。 关系数据库因其严格的数学理论、使用简单灵活、数据独立性强等特点,而被公认为最有前途的一种数据库管理系统。它的发展十分迅速,目前已成为占据主导地位的数据库管理系统。自20世纪80年代以来,作为商品推出的数据库管理系统几乎都是关系型的,例如,Oracle,Sybase,Informix,Visual FoxPro等。 网络数据库也叫Web数据库。促进Internet发展的因素之一就是Web技术。由静态网页技术的HTML到动态网页技术的CGI、ASP、PHP、JSP等,Web技术经历了一个重要的变革过程。Web已经不再局限于仅仅由静态网页提供信息服务,而改变为动态的网页,可提供交互式的信息查询服务,使信息数据库服务成为了可能。Web数据库就是将数据库技术与Web技术融合在一起,使数据库系统成为Web的重要有机组成部分,从而实现数据库与网络技术的无缝结合。这一结合不仅把Web与数据库的所有优势集合在了一起,而且充分利用了大量已有数据库的信息资源。图1-1是Web数据库的基本结构图,它由数据库服务器(Database Server)、中间件(Middle Ware)、Web服务器(Web Server)、浏览器(Browser)4部分组成。 Web数据库的基本结构 它的工作过程可简单地描述成:用户通过浏览器端的操作界面以交互的方式经由Web服务器来访问数据库。用户向数据库提交的信息以及数据库返回给用户的信息都是以网页的形式显示。 1.1.1 Internet技术与相关协议 Internet技术在Web数据库技术中扮演着重要的角色。Internet(因特网)专指全球最大的、开放的、由众多网络相互连接而成的计算机网络,并通过各种协议在计算机网络中传递信息。TCP/IP协议是Internet上使用的两个最基本的协议。因此也可以说Internet是全球范围的基于分组交换原理和TCP/IP协议的计算机网络。它将信息进行分组后,以数据包为单位进行传输。Internet在进行信息传输时,主要完成两项任务。 (1)正确地将源信息文件分割成一个个数据包,并能在目的地将源信息文件的数据包再准确地重组起来。 (2)将数据包准确地送往目的地。 TCP/IP协议的作用就是为了完成上述两项任务,规范了网络上所有计算机之间数据传递的方式与数据格式,提供了数据打包和寻址的标准方法。 1.TCP/IP协议 TCP协议(Transmission Control Protocol,传输控制协议)规定了分割数据和重组数据所要遵循的规则和要进行的操作。TCP协议能保证数据发送的正确性,如果发现数据有损失,TCP将重新发送数据。 2.IP协议 在Internet上传送数据往往都是远距离的,因此在传输过程中要通过路由器一站一站的转接来实现。路由器是一种特殊的计算机,它会检测数据包的目的地主机地址,然后决定将该数据包送往何处。IP协议(Internet Protocol,网际协议)给Internet中的每一台计算机规定了一个地址,称为IP地址。IP地址的标准是由4部分组成(例如202.112.203.11),其中前两部分规定了当前使用网络的管理机构,第3部分规定了当前使用的网络地址,第4部分规定了当前使用的计算机地址。 Internet上提供的主要服务有E-mail、FTP、BBS、Telnet、WWW等。其中WWW(World Wide Web,万维网)由于其丰富的信息资源而成为Internet最为重要的服务。
人们把客观存在的事物以数据的形式存储到计算机中,经历了对现实生活中事物特性的认识、概念化到计算机数据库里的具体表示的逐级抽象过程,即现实世界-概念世界-机器世界三个领域。有时也将概念世界称为信息世界;将机器世界称为存储或数据世界。 一、三个世界 1、现实世界 人们管理的对象存于现实世界中。现实世界的事物及事物之间存在着联系,这种联系是客观存在的,是由事物本身的性质决定的。例如学校的教学系统中有教师、学生、课程,教师为学生授课,学生选修课程并取得成绩。 2、概念世界 概念世界是现实世界在人们头脑中的反映,是对客观事物及其联系的一种抽象描述,从而产生概念模型。概念模型是现实世界到机器世界必然经过的中间层次。涉及到下面几个术语: 实体:我们把客观存在并且可以相互区别的事物称为实体。实体可以是实际事物,也可以是抽象事件。如一个职工、一场比赛等。 实体集:同一类实体的集合称为实体集。如全体职工。注意区分"型"与"值"的概念。如每个职工是职工实体"型"的一个具体"值"。 属性:描述实体的特性称为属性。如职工的职工号,姓名,性别,出生日期,职称等。 关键字:如果某个属性或属性组合的值能唯一地标识出实体集中的每一个实体,可以选作关键字。用作标识的关键字,也称为码。如"职工号"就可作为关键字。 联系:实体集之间的对应关系称为联系,它反映现实世界事物之间的相互关联。联系分为两种,一种是实体内部各属性之间的联系。另一种是实体之间的联系。 3、机器世界 存入计算机系统里的数据是将概念世界中的事物数据化的结果。为了准确地反映事物本身及事物之间的各种联系,数据库中的数据必须有一定的结构,这种结构用数据模型来表示。数据模型将概念世界中的实体,及实体间的联系进一步抽象成便于计算机处理的方式。 数据模型应满足三方面要求:一是能比较真实地模拟现实世界;二是容易为人所理解;三是便于在计算机上实现。数据结构、数据操作和完整性约束是构成数据模型的三要素。数据模型主要包括网状模型、层次模型、关系模型等,它是按计算机系统的观点对数据建模,用于DBMS的实现。 1.2.1 层次模型 若用图来表示,层次模型是一棵倒立的树。在数据库中,满足以下条件的数据模型称为层次模型: ① 有且仅有一个结点无父结点,这个结点称为根结点; ② 其他结点有且仅有一个父结点。 根据层次模型的定义可以看到,这是一个典型的树型结构。结点层次从根开始定义,根为第一层,根的子结点为第二层,根为其子结点的父结点,同一父结点的子结点称为兄弟结点,没有子结点的结点称为叶结点。 1.2.2 网状模型 在现实世界中,事物之间的联系更多的是非层次关系的,用层次模型表示非树型结构是很不直接的,网状模型则可以克服这一弊病。网状模型是一个网络。在数据库中,满足以下两个条件的数据模型称为网状模型。 ① 允许一个以上的结点无父结点; ② 一个结点可以有多于一个的父结点。 从以上定义看出,网状模型构成了比层次结构复杂的网状结构。 1.2.3 关系模型 在关系模型中,数据的逻辑结构是一张二维表。 在数据库中,满足下列条件的二维表称为关系模型: ① 每一列中的分量是类型相同的数据; ② 列的顺序可以是任意的; ③ 行的顺序可以是任意的; ④ 表中的分量是不可再分割的最小数据项,即表中不允许有子表; ⑤ 表中的任意两行不能完全相同。 个人版权,请勿复制
论文你可以去知网看看相关资料
ORACLE中SQL查询优化研究摘 要 数据库性能问题一直是决策者及技术人员共同关注的焦点,影响数据库性能的一个重要因素就是SQL查询语句的低效率。论文首先分析了导致SQL查询语句性能低下的四个常见原因以及SQL调优的一般步骤,然后分别针对如何降低I/O操作、在查询语句中如何避免对查询结果的高成本操作以及在多表连接时如何提高查询效率进行了分析。关键词 ORACLE;SQL;优化;连接1 引言随着网络应用不断发展,系统性能已越来越引起决策者的重视。影响系统性能的因素很多,低效的SQL语句就是其中一个不可忽视的重要原因。论文首先分析导致SQL性能低下的常见原因,然后分析SQL调优应遵循的一般步骤,最后从如何降低I/O、避免对查询结果的高成本操作和多表连接中如何提高SQL性能进行了研究。鉴于目前ORACLE在数据库市场上的主导地位,论文将只针对ORACLE进行讨论。2 影响SQL性能的原因影响SQL性能的因素很多,如初始化参数设置不合理、导入了不准确的系统及模式统计数据从而影响优化程序(CBO)的正确判断等,这些往往和DBA密切相关。纯粹从SQL语句出发,笔者认为影响SQL性能不外乎以下四个重要原因:(1)在大记录集上进行高成本操作,如使用了引起排序的谓词等。(2)过多的I/O操作(含物理I/O与逻辑I/O),最典型的就是未建立恰当的索引,导致对查询表进行全表扫描。(3)处理了太多的无用记录,如在多表连接时过滤条件位置不当导致中间结果集包含了太多的无用记录。(4)未充分利用数据库提供的功能,如查询的并行化处理等。第(4)个原因处理起来相对简单。论文将针对前三个原因论述如何提高SQL查询语句的性能。3 SQL优化的一般步骤SQL优化一般需经过发现问题、分析问题、提出解决措施、应用措施、测试性能几个步骤,如图1所示。“发现问题就是解决问题的一半”,因此在SQL调优过程中,定位问题SQL是非常重要的一步,一般可借助于ORACLE自带的性能优化工具如STATSPACK、TKPROF、AUTOTRACE等辅助用户进行,同时还应该重视动态性能视图如V$SQL、V$MYSTAT、V$SYSSTAT等的研究。图1 SQL优化的一般步骤4 SQL语句的优化4.1 优化排序操作排序的成本十分高昂,当在查询语句中使用了引起结果集排序的谓词时,SQL性能必然受到影响。4.1.1 排序过程分析当待排序数据集不是太大时,服务器在内存(排序区)完成排序操作,如果排序需要更多的内存空间,服务器将进行如下处理:(1) 将数据分成多个小的集合,对每一集合进行排序。(2) 服务器向磁盘申请临时空间,将排好序的中间结果写入临时段,再对另外的集合进行排序。(3) 在所有的集合均排好序后,服务器再将它们进行合并得到最终的结果,如果排序区尺寸太小,合并无法一次完成时,将分多次进行。从上述分析可知,排序是一种十分昂贵的操作,它消耗大量的CPU时间和内存,触发磁盘分页和交换操作,因此只要有可能,我们就应该在SQL语句中尽量避免排序操作。4.1.2 SQL中引起排序的操作SQL查询语句中引起排序的操作大致有:ORDER BY 和GROUP BY 从句;DISTINCT修饰符;UNION、INTERSECT、MINUS集合操作符;多表连接时的排序合并连接(SORT MERGE JOIN)等。4.1.3 如何避免排序1)建立恰当的索引对经常进行排序和连接操作的字段建立索引。在建立索引后,当服务器向这些字段发出排序请求时,将直接引用索引而不进行排序操作;当进行等值连接查询操作时,若建立连接的字段未建立索引,服务器进行的是排序合并连接(SORT MERGE JOIN),连接操作的过程如下:对进行连接的两个或多个表分别进行全扫描;对每一个表中的行集分别进行全排序;合并排序结果。如果建立连接的字段已建立索引,服务器进行嵌套循环连接(NESTED LOOP JOINS),该连接方式不需要任何排序,其过程如下:对驱动表进行全表扫描;对返回的每一行利用连接字段值实施索引惟一扫描;利用从索引扫描中返回的ROWID值在从表中定位记录;合并主、从表中的匹配记录。因此,建立索引可避免多数排序操作。2)用UNIION ALL替换UNIONUNION在进行表链接后会筛选掉重复的记录,所以在表链接后会对所产生的结果集进行排序运算,删除重复的记录再返回结果。大部分应用中是不会产生重复记录的,最常见的是过程表与历史表UNION 。因此,采用UNION ALL操作符替代UNION,因为UNION ALL操作只是简单的将两个结果合并后就返回。4.2 优化I/O过多的I/O操作会占用CPU时间、消耗大量内存和占用过多的栓锁,因此有必要对SQL的I/O进行优化。优化I/O的最有效方式就是用索引扫描代替全表扫描。4.2.1 应用基于函数的索引基于函数的索引(FUNCTION BASED INDEX,简记为FBI)提供了索引计算列并在查询中使用这些索引的能力。FBI的实质是对查询所需中间结果进行预处理。如果一个FBI与查询语句中的内嵌函数完全匹配,CBO在生成查询计划时,将自动启用索引范围扫描(INDEX RANGE SCAN)替换全表扫描(FULL TABLE SCAN)。考察下面的代码段并用AUTOTRACE观察创建FBI前后执行计划的变化。select * from emp where upper(ename)=’SCOTT’创建FBI前,很明显是全表扫描。Execution Plan……1 0 TABLE ACCESS (FULL) OF 'EMPLOYEES' (Cost=2 Card=1 Bytes=22)idle>CREATE INDEX EMP_UPPER_FIRST_NAME ON EMPLOYEES(UPPER(FIRST_NAME));索引已创建。再次运行相同查询,Execution Plan……1 0 TABLE ACCESS (BY INDEX ROWID) OF 'EMPLOYEES' (Cost=1 Card=1 Bytes=22)2 1 INDEX (RANGE SCAN) OF 'EMP_UPPER_FIRST_NAME' (NON-UNIQUE) (Cost=1 Card=1)这一简单的例子充分说明了FBI在SQL查询优化中的作用。FBI所用的函数可以是用户自己创建的函数,该函数越复杂,基于该函数创建FBI对SQL查询性能的优化作用越明显。4.2.2 应用物化视图和查询重写物化视图是一个预计算结果集,其中通常包含聚集与多表连接等复杂操作。数据库自动维护物化视图,且随用户的要求进行刷新。查询重写机制就是用数据库中的替代对象(如物化视图)将用户提交的查询重写为完全不同但功能等价的查询。查询重写对用户透明,用户完全按常规编写访问数据库的查询语句,优化程序(CBO)自动决定是否对用户提交的查询进行重写。查询重写是提高查询性能的一种非常有效的方法,尤其是在数据仓库环境中针对汇总、多表连接以及其它高成本的操作方面。下面以一个非常简单的例子来演示物化视图和查询重写在优化SQL查询性能方面的作用。select dept.deptno,dept.dname,count(*)from emp,deptwhere emp.deptno=dept.deptnogroup by dept.deptno,dept.dname查询计划及主要统计数据如下:执行计划:-----------------------------------------……2 1 HASH JOIN (Cost=5 Card=14 Bytes=224)3 2 TABLE ACCESS (FULL) OF 'DEPT' (Cost=2 Card=4 Bytes=52)4 2 TABLE ACCESS (FULL) OF 'EMP' (Cost=2 Card=14 Bytes=42)主要统计数据:-----------------------------------------305 recursive calls46 consistent gets创建物化视图EMP_DEPT:create materialized view emp_dept build immediaterefresh on demandenable query rewriteasselect dept.deptno,dept.dname,count(*)from emp,deptwhere emp.deptno=dept.deptnogroup by dept.deptno,dept.dname/再次执行查询,执行计划及主要统计数据如下:执行计划:-------------------------------------……1 0 TABLE ACCESS (FULL) OF 'EMP_DEPT' (Cost=2 Card=327 Bytes=11445)主要统计数据:------------------------------------79 recursive calls28 consistent gets可见,在建立物化视图之前,首先执行两个表的全表扫描,然后进行HASH连接,再进行分组排序和选择操作;而建立物化视图后,CBO自动将上述复杂操作转换为对物化视图EMP_DEPT的全扫描,相关的统计数据也有了很大的改善,递归调用(RECURSIVE CALLS)由305降到79,逻辑I/O(CONSISTENT GETS)由46降为28。4.2.3 将频繁访问的小表读入CACHE逻辑I/O总是快于物理I/O。如果数据库中存在被应用程序频繁访问的小表,可将这些表强行读入KEEP池,从而避免物理I/O的发生。4.3 多表连接优化最能体现查询复杂性的就是多表连接,多表连接操作往往要耗费大量的CPU时间和内存,因此多表连接查询性能优化往往是SQL优化的重点与难点。4.3.1 消除外部连接通过消除外部连接,不仅使得到的查询更易于读取,而且性能也经常可以得到改善。一般的思路是,有以下形式的查询:SELECT …,OUTER_JOINED_TABLE.COLUMNFROM SOME_TABLE,OUTER_JOINED_TO_TABLEWHERE …=OUTER_JOINED_TO_TABLE(+)可转换为如下形式的查询:SELECT …,(SELECT COLUMN FROM OUTER_ JOINED_TO_TABLE WHERE …)FROM SOME_TABLE;4.3.2 谓词前推,优化中间结果多表连接的性能低下多数是因为连接操作与过滤操作的次序不合理,大多数用户在编写多表连接查询时,总是先进行连接操作再应用过滤条件,这导致服务器做了太多的无用功。针对这类问题,其优化思路就是尽可能将过滤谓词前推,使不符合条件的记录提前被筛选掉,只对符合条件的少数记录进行连接处理,这样可成倍的提高SQL查询效能。标准连接查询如下:Select a.prod_name,sum(b.sale_quant),sum(c.sale_quant),sum(d.sale_quant)From product a,tele_sale b,online_sale c,store_sale dWhere a.prod_id=b.prod_id and a.prod_id=c.prod_idand a.prod_id=d.prod_id And a.order_date>sysdate-90Group by a.prod_id;启用内嵌视图,且将条件a.order_date>sysdate-90前移,优化后代码如下:Select a.prod_name,b.tele_sale_sum,c.online_sale_sum,d.store_sale_sum From product a,(select sum(sal_quant) tele_sale_sum from product,tele_saleWhere product.order_date>sysdate-90 and product.prod_id =tele_sale.prod_id) b,(select sum(sal_quant) online_sale_sumfrom product,tele_saleWhere product.order_date>sysdate-90 and product.prod_id =online_sale.prod_id) c,(select sum(sal_quant) store_sale_sumfrom product,store_saleWhere product.order_date>sysdate-90 and product.prod_id =store_sale.prod_id) d,Where a.prod_id=b.prod_id anda.prod_id=c.prod_id and a.prod_id=d.prod_id;5 结束语SQL语言在数据库应用中占有非常重要的地位,其性能的优劣直接影响着整个信息系统的可用性。论文从影响SQL性能的最主要的三个方面入手,分析了如何优化SQL查询的I/O、避免高成本的排序操作和优化多表连接。需要强调的一点是,理解SQL语句所解决的问题比SQL调优本身更重要,因此SQL调优需要系统分析人员、开发人员和数据库管理员密切协作。参考文献[1]Thomas Kyte.Effective Oracle by Design:Design and Build High-performance Oracle Application[M],The McGral- Hill Companies,Inc,2003[2]Kevin Loney,George Koch,Oracle 9i:The Complete Reference[M],The McGral-Hill Companies,Inc,2002[3] Oracle9i SQL Reference release 2(9.2)[OL/M],2002.10. http://www.oracle.com/technology/[4] Oracle9i Data Warehousing Guide release 2(9.2) [OL/M],2002.03. http://www.oracle.com/technology/[5]Alexey Danchenkov,Donald Burleson,Oracle Tuning:The Definitive Reference[OL/M],Rampant Techpress,2006.[6] Oracle9i Database Concepts release 2(9.2) [OL/M],2002.08. http://www.oracle.com/technology/[7] Oracle9i supplied plsql packages and types reference release 2(9.2) [OL/M],2002.12. http:// technology/
李昆,SQL SERVER2000课程设计案例精编,北京:中国水利水电出版社,2006 何文华, SQL Server 2000 应用开发教程,北京:电子工业出版社出版,2007 仝春灵,数据库原理与应用—SQL Server 2000,北京:电子工业出版社,20 够了吧 哎~都是被毕业论文逼得
计算机论文常用参考文献
在平平淡淡的日常中,大家都有写论文的经历,对论文很是熟悉吧,论文一般由题名、作者、摘要、关键词、正文、参考文献和附录等部分组成。写论文的注意事项有许多,你确定会写吗?下面是我整理的计算机论文常用参考文献,希望能够帮助到大家。
[1]刘韬,楼兴华.SQL Server2000 数据库系统开发实例导航. 北京:人民邮电出版社,2004.
[2]丁宝康,董健全. 数据库实验教程. 北京:清华大学出版社, 2003:125-170.
[3]孙强. 基于ASP.NET 的专题网站的研究与设计. 东北师范大学,2006.
[4]Michele Leroux Bustamants.Secure your ASP.NET Apps and WCF services with Windows CardSpace. MSDN Magazine,April 2007.
[5]肖建编. ASP.NET 编程实例与技巧集粹. 北京:北京希望电子出版社,2003.
[6]巴兹拉等. ASP.NET 安全性高级编程. 北京:清华大学出版社,2003.
[7]Jesse Libert.Programming C#中文版. 电子工业出版社,2006.
[8]米切尔的等编著. ASP.NET 权威指南. 北京:中国电力出版社,2003.
[9]曾登高编著..NET 系统架构与开发. 北京:电子工业出版社,2003.
[10]Jeffrey Richter. Applied Microsoft .NET Framework programming.北京:清华大学出版社, 2003.
[11]张海藩. 软件工程导论. 北京:清华大学出版社, 2003.
[11]周佩德.数据库原理及应用〔M〕.北京:电子工业出版社,2004.
[12]刘炳文等.VISUAL BASIC 程序设计--数据库篇〔M〕.北京:人民邮电出版社,1999.
[13]李光明.Visual Basic 6.0 编程实例大制作〔M〕.北京:冶金工业出版社,2002.
[14]王兴晶,赵万军等.Visual Basic 软件项目开发实例[M].北京:电子工业出版社,2004.
[15]陈艳峰,高文姬等.Visual basic 数据库项目案例导航[M].北京:清华大学出版社,2004.
[16]李红等.管理信息系统开发与应用〔M〕.北京:电子工业出版社,2003.
[17]周之英.现代软件工程〔M〕.北京:科学出版社,2000.
[18]张红军,王红.Visual Basic 6.0 中文版高级应用与开发指南〔M〕.北京:人民邮电出版社,2001.
[1]孙卫琴,李洪成.《Tomcat 与 JSP Web 开发技术详解》.电子工业出版社,2003年6月:1-205
[2]BruceEckel.《JSP编程思想》. 机械工业出版社,2003年10月:1-378
[3]FLANAGAN.《JSP技术手册》. 中国电力出版社,2002年6月:1-465
[4]孙一林,彭波.《JSP数据库编程实例》. 清华大学出版社,2002年8月:30-210
[5]LEE ANNE PHILLIPS.《巧学活用HTML4》.电子工业出版社,2004年8月:1-319
[6]飞思科技产品研发中心.《JSP应用开发详解》.电子工业出版社,2003年9月:32-300
[7]耿祥义,张跃平.《JSP实用教程》. 清华大学出版社,2003年5月1日:1-354
[8]孙涌.《现代软件工程》.北京希望电子出版社,2003年8月:1-246
[9]萨师煊,王珊.《数据库系统概论》.高等教育出版社,2002年2月:3-460
[10]Brown等.《JSP编程指南(第二版)》. 电子工业出版社 ,2003年3月:1-268
[11]清宏计算机工作室.《JSP编程技巧》. 机械工业出版社, 2004年5月:1-410
[12]朱红,司光亚.《JSP Web编程指南》.电子工业出版社, 2001年9月:34-307
[13]赛奎春.《JSP工程应用与项目实践》. 机械工业出版社, 2002年8月:23-
[14]刁仁宏.网络数据库原理及应用[J].情报理论与实践,2004,(1).
[15]张莉,王强.SQL Server 数据库原理及应用教程[M].清华:清华大学出版社出版,2003.
[16]郭瑞军,李杰,初晓璐. ASP.NET 数据库开发实例精粹[M].西安:电子工业出 版社出版,2003.
[17]宋昕.ASP.NET 网络开发技术实用教程入门与提高[J].情报杂志,2005,(7).
[18]顼宇峰.ASP.NET+SQL Server 典型网站建设案例[M].清华:清华大学出版社出版,2006.
[1]米琦.基于多维变换的无线传感器网络定位算法研究[D].上海交通大学2007
[2]汤文亮,曾祥元,曹义亲.基于ZigBee无线传感器网络的森林火灾监测系统[J].实验室研究与探索.2010(06)
[3]宋保业.无线传感器网络关键技术研究[D].青岛科技大学2008
[4]熊俊俏,冯进维,罗帆.基于JN5139的无线传感器网络节点设计与实现[J].武汉工程大学学报.2010(05)
[5]祝勇.基于LS-SVC的传感网络链路质量评估机制研究[D].南昌航空大学2014
[6]程春蕊,刘万军.高内聚低耦合软件架构的构建[J].计算机系统应用.2009(07)
[7]孙利民等编着.无线传感器网络[M].清华大学出版社,2005
[8]甄甫,刘民,董明宇.基于面向服务架构消息中间件的业务流程系统集成方法研究[J].计算机集成制造系统.2009(05)
[9]陆莹.基于无线传感器网络的组网可靠性研究[D].天津大学2007
[10]潘虎.煤矿安全监控无线传感器网络系统研究[D].华中科技大学2007
[11]张杉.无线传感器网络通信机制的研究[D].电子科技大学2008
[12]魏宝玲.利用无线传感器网络实施道路维护与监控[D].国防科学技术大学2006
[13]吴中博,樊小泊,陈红.基于能量水平的多Sink节点传感器网络路由算法[J].计算机研究与发展.2008(01)
[14]陈伟,吴健,胡正国.分布式监控组态系统实时数据传输模型[J].计算机工程.2006(22)
[15]原羿,苏鸿根.基于ZigBee技术的无线网络应用研究[J].计算机应用与软件.2004(06)
[16]任丰原,黄海宁,林闯.无线传感器网络[J].软件学报.2003(07)
[17]张雪平.使用SecureCRT实现网络管理自动化[J].内江师范学院学报.2005(02)
[1]江群斌.我国商业银行网络银行安全性研究[D].天津大学2012
[2]翟凤航.组织系统数字档案管理系统软件的设计及实现[D].天津大学2012
[3]张兴起.基于VPX标准和多核DSP阵列的信息处理平台设计[D].天津大学2012
[4]王璐.基于1553B总线的综合航电数据加载系统的设计与实现[D].天津大学2012
[5]孙树和.电力企业绩效管理系统研究与设计[D].天津大学2012
[6]郎桐.无源自组网络输电线路实时监测技术研究与应用[D].天津大学2014
[7]郭毅.部门预算管理系统的设计与实现[D].天津大学2014
[8]李灏.软件无线电平台上空时编码的实现和测量[D].天津大学2014
[9]谢国聪.基于.NET技术和多层架构的出租屋和流动人口信息管理系统的设计与实现[D].天津大学2014
[10]高宜文.基于Wi-Fi的智能无线网络视频监控系统视频采集与处理平台的设计[D].天津大学2012
[11]毛延超.无线传感器网络中分簇多信道传输协议研究[D].天津大学2012
[12]夏梓峻.LED-AODV:基于链路预测的车辆网络路由算法研究[D].天津大学2012
[13]尹超.无线网络视频传输性能评测工具的设计与实现[D].天津大学2009
[14]童曦.基于.NET技术和多层架构的人事信息管理系统[D].天津大学2014
[15]王广彧.基于历史轨迹预测的车辆自组织网络混合路由算法[D].天津大学2014
[16]王伟海.龙口矿业集团电网调度自动化系统设计与实现[D].天津大学2012
[17]贺明.基于NC-OFDM的IEEE802.11n与ZigBee共存技术研究[D].天津大学2012
[18]叶君骄.基于SAT的长距离无线mesh网络管理平台[D].天津大学2012
[19]张松.基于IEEE802.11n的长距离无线链路性能实验研究[D].天津大学2012
[20]钟武汨.基于压缩感知的空间无线频谱感知与重构系统研究[D].天津大学2012
[21]高明飞.北皂煤矿海域下开采水情在线监测应用系统[D].天津大学2012
[22]邹宇.基于卫星授时的长距离无线Mesh网络MAC协议ST-TDMA[D].天津大学2014
[23]王为睿.山东省龙口矿业集团6000m~3/h制氧工程DCS设计与实现[D].天津大学2013
[24]莫志德.基于Web应用的停车管理系统开发和设计[D].天津大学2013
[1](美)BruceMolay着,杨宗源,黄海涛译.Unix/Linux编程实践教程[M].清华大学出版社,2004
[2]姜毅,王兆青,曹丽.基于HTTP的实时信息传输方法[J].计算机工程与设计.2008(10)
[3]崔文婧.数字娱乐产业中流行文化对于电子游戏的'影响[D].北京服装学院2010
[4]刘晓晖.SAP系统中不同物料分类的创建方法[D].上海交通大学2011
[5]封炜.基于GPS/GIS/GSM的物流信息监控系统的设计与实现[D].上海交通大学2011
[6]赵胤.基于SAP的离散制造型企业成本控制设计与实现[D].上海交通大学2011
[7]李长斌.驼峰空压站监控系统的设计与实现[D].上海交通大学2012
[8]闵国石.铁路工务作业安全控制系统的研究[D].上海交通大学2012
[9]龚俊.基于Javamail技术的企业Email安全管理系统的设计与实现[D].上海交通大学2012
[10]朱骁勇.基于SCCM的软件分发管理与软件封装模板助手[D].上海交通大学2013
[11]彭诚.基于GPS的物流车辆监控系统的设计和实现[D].上海交通大学2013
[12]苏政华.离散制造型企业的SAP系统FICO模块设计与实现[D].上海交通大学2013
[13]周昕毅.Linux集群运维平台用户权限管理及日志审计系统实现[D].上海交通大学2013
[14]徐朱平.SDP-21框架下项目管理在对日软件外包中的应用[D].上海交通大学2010
[15]刘进学.DeltaVDCS系统在丙烯均相聚合系统中的应用与研究[D].上海交通大学2010
[16]李立平.基于数据挖掘的勘探随钻分析系统[D].上海交通大学2010
[17]王平.半自动闭塞控制信息数字化传输系统的设计与实现[D].上海交通大学2012
[18]潘忠锐.铁路OA系统的设计与实现[D].上海交通大学2012
[19]黄怡君.银行业的存储虚拟化系统设计与实现[D].上海交通大学2012
[20]孙英.浅谈Flash与XML之间的通信[J].电脑知识与技术.2008(15)
[1]刘韬,楼兴华.SQL Server2000 数据库系统开发实例导航. 北京:人民邮电出版社,2004.
[2]丁宝康,董健全. 数据库实验教程. 北京:清华大学出版社, 2003:125-170.
[3]孙强. 基于ASP.NET 的专题网站的研究与设计. 东北师范大学,2006.
[4]Michele Leroux Bustamants.Secure your ASP.NET Apps and WCF services with Windows CardSpace. MSDN Magazine,April 2007.
[5]肖建编. ASP.NET 编程实例与技巧集粹. 北京:北京希望电子出版社,2003.
[6]巴兹拉等. ASP.NET 安全性高级编程. 北京:清华大学出版社,2003.
[7]Jesse Libert.Programming C#中文版. 电子工业出版社,2006.
[8]米切尔的等编著. ASP.NET 权威指南. 北京:中国电力出版社,2003.
[9]曾登高编著..NET 系统架构与开发. 北京:电子工业出版社,2003.
[10]Jeffrey Richter. Applied Microsoft .NET Framework programming.北京:清华大学出版社, 2003.
[11]张海藩. 软件工程导论. 北京:清华大学出版社, 2003.
您可以参考飞翔毕业设计辅导网,里面有大量计算机设计做参考
这里面有很多,你进去选一下,VB类毕业设计目录_VB毕业设计论文 双击自动滚屏 文章来源:一流设计吧 发布者:16sheji8 发布时间:2008-6-26 9:49:34 阅读:755次 VB目录《VB.NET聊天通信软件开发》 《VB001小区物业管理系统》 《VB002超市管理系统》 《VB003酒店客房管理信息系统》 《VB004宾馆客房管理系统》 《VB005企业生产管理系统》 《VB006客户关系管理系统》 《VB007设备管理信息系统》 《VB008工资管理系统》 《VB009自动出题题库系统》 《VB010试卷生成系统》 《VB011员工培训管理系统》 《VB012医院住房管理系统》 《VB013医院管理信息系统》 《VB014旅游资源及线路管理系统》 《VB015音像管理系统》 《VB016基于智能Agent的网络教学管理系统》 《VB017学生信息管理系统》 《VB018学生成绩管理系统》 《VB019图书馆管理系统》 《VB020毕业论文管理系统》 《VB021采购管理系统》 《VB022公交车调度管理系统》 《VB023通用缴费注册管理系统》 《VB024网吧记费管理系统》 《VB025高校科研信息管理系统》 《VB026机房管理系统》 《VB027教务管理系统》 《VB028备案管理信息系统》 《VB029进销存管理系统》 《VB030排课管理系统》 《VB031人事管理系统》 《VB032仓库管理系统》 《VB033餐饮管理系统》 《VB034售楼管理系统》 《VB035火车站售票管理系统》 《VB036运输管理系统》 《VB037固定资产管理系统》 《VB038航空公司管理系统》 《VB039家庭理财管理系统》 《VB040无纸化考试系统》 《VB041门诊管理系统》《VB042房屋销售管理系统》《VB043房屋租凭管理系统》《VB044失业保险管理信息系统》《VB045光盘管理系统》《VB046学籍管理系统》《VB047学生考勤信息管理》《VB048宿舍管理系统》《VB049图像处理工具》《VB050销售合同管理系统》《VB051招生管理系统》《VB052车辆管理系统》《VB053户籍管理系统》《VB054人事考勤管理系统》《VB055物流管理系统》《VB056学生档案管理系统》《VB057学生选课系统》《VB058身份证管理系统》《VB059自动点歌系统》《VB060课题项目进程管理系统》《VB061商品销售管理系统》《VB062中大迅通合同统计系统》《VB063上机考试系统》《VB064网络多人聊天系统的设计与实现》《VB065评语生成系统》《VB066高速公路收费系统》《VB067通用试题库系统》《VB068大学社团管理系统》《VB069报警系统》《VB070高校缴费系统》《VB071教师管理系统》《VB072教材管理系统》《VB073简单小游戏设计》VB074电脑销售系统》VB075期刊信息管理系统》VB076企业档案管理系统》VB077企业员工管理信息系统》VB078通讯录系统》VB079网吧管理系统》 本文来自: 一流设计吧(www.16sheji8.cn) 详细出处参考:
列固为了减小摩擦的是( )独讨论某一点的隶属度毫无意义。对 错 (1). 小的混酥面坯制品
基于Python的SIFT和KCF的运动目标匹配与跟踪 毕业论文+项目源码基于Python决策树算法的学生学习行为数据分析 设计报告+代码及数据基于Sring+bootstrap+MySQL的住房公积金管理系统 课程报告+项目源码及数据库文件基于C++的即时通信软件设计 毕业论文+项目源码
5000字计算机毕业论文篇3 浅议计算机数据库安全管理 摘 要:随着计算机和网络的普遍使用,人们或企业通过数据库存放的信息越来越多。计算机数据库的安全与否则涉及到个人隐私或企业等利益各方。 文章 通过对计算机数据库概念和特征的梳理,在明确数据库安全问题的基础上,设定计算机数据库安全管理目标并制定了数据库安全管理系统模式。 关键词:计算机;数据库;安全;模式 八九十年代至此,计算机的使用越来越普遍,个人和企业都倾向于用网络来处理个人的事情,并将很多资料和信息存放在网络上以便使用。而计算机数据库就是对这一活动进行技术支撑。 人们一般将个人资料等存放在计算机数据库中以方便和安全之用。这些个人资料往往包含有个人隐私并且非常重要,只有具有相关权限的人才能够查看相关资料。同样,现代企业几乎都是通过计算机数据库来存储和管理各种业务数据。通过特定的数据库访问模式,可以为企业提供全区域全侯段数据的查询和应用方便,提高 企业管理 效率。企业数据库对企业很是重要。但是如果数据库受到人为或病毒的攻击,个人隐私或企业重要信息就面临被窃取或流失的危险,进而对个人或企业的利益造成损失。 本文通过对计算机数据库概念和特征的梳理,设定数据库管理之目标、分析数据库管理问题进而提出计算机数据库安全管理模式。 一、计算机数据库概念及其安全管理特征 (一)计算机数据库概念 计算机数据库(Database)是为达到一定的目的而将数据组织起来并存储在计算机内数据(记录、文件等)的集合。模型是数据库系统的核心和基础。按照计算机存储和操作数据的方式,从数据库发展形态和模型特点角度,将数据库划分为:网状数据库、层次数据库和关系数据库三类。计算机数据库的应用领域和范围十分广泛。按照数据库应用领域和范围,将数据库划分为:统计数据库系统、海河流域数据库系统、地质数据库系统、生态环境数据库系统、地方志数据库系统等。 总体而言,随着计算机的普及和数据库技术的不断发展,计算机数据库应用范围不断的扩大,受到越来越大的重视,并其安全性得到不断的优化和加强。 (二)数据库安全管理特征 数据库安全管理往往包含数据安全、数据完整、并发控制和故障恢复等四个方面: 1.数据安全 数据的安全是保障数据使用的前提。数据安全涉及数据本身的安全以及数据防护安全两个方面。通常需要注意防止数据在录入、处理、统计或打印中造成的数据损坏或丢失;以及因人为、程序、病毒或黑客等造成的数据损坏或丢失。为了保障数据的安全,通常需要将数据进行分类,也即将需保护信息和其他信息分开;设置用户访问权限,控制不同的用户对不同数据的访问;对数据进行审计和加密。 2.数据完整性 数据的完整是保证接收信息的全面性,包括数据的精确性和可靠性。数据完整性通常包括实体完整性、域完整性、参照完整性和用户定义完整性等四个方面。数据完整与否通常涉及到数据录入等方面。数据由于输入等种种原因,会发生输入无效或错误信息等问题。为了保证数据完整性,通常采用包括外键、约束、规则和触发器等 方法 。系统很好地处理了这四者的关系,并针对不同的具体情况用不同的方法进行,相互交叉使用,相补缺点。 3.并发控制 数据库中的数据信息资源可以说是一个“信息池”,对数据的取用不仅要满足一个用户的使用,还要允许多用户同时对数据的取用。为了保证用户取用数据一致性就涉及到并发控制。并发控制指的是当多个用户同时更新运行时,用于保护数据库完整性的各种技术。并发机制不正确可能导致脏读、幻读和不可重复读等此类问题。并发控制的目的是保证一个用户的工作不会对另一个用户的工作产生不合理的影响。在某些情况下,这些措施保证了当用户和其他用户一起操作时,所得的结果和她单独操作时的结果是一样的。在另一些情况下,这表示用户的工作按预定的方式受其他用户的影响。 4.故障恢复 目前,保护数据库系统免受破坏的措施有很多,它能够保证数据库的安全性和完整性不被破坏以及并发事务能够正确执行,但是计算机的硬件故障、操作人员的事务这些是不能够进行避免的。而数据库中数据的正确性都会受到它的影响,甚至有时会使得数据库受到破坏,导致数据库中的部分或者全部数据的丢失。故障恢复的功能就是能够实现数据库从错误状态向某一已知的正确状态方向进行恢复。 二、数据库安全管理目标 数据的安全和完整使用是计算机数据库管理的目标,包括以下几个方面: 数据共享和统一管理。对具有使用权限的用户实现全区域或全侯段数据信息共享能够提高信息的使用效率,满足企业或个人动态办公的需求。同时数据共享必须保障共享数据的一致性和对数据的统一管理。 数据访问简化。应用程序对数据的访问进行简化,使得在更为逻辑的层次上实现应用程序对数据进行访问。数据访问简化一方面提高了对数据库中数据的使用效率,另一方面提升了个人或企业使用数据的方便性,提高工作效率。 数据有效。数据有效性一方面指数据库中的数据需是可以使用的,不能存在过多的冗杂数据;另一方面数据的逻辑一致性得到保证。 数据独立性保障。数据独立性包括数据的物理独立性和逻辑独立性。把数据的定义从程序中分离出去,加上数据的存取又由DBMS负责,从而简化了应用程序的编制,大大减少了应用程序的维护和修改,保障数据的独立性,减少程序对数据和数据结构的依赖。 数据安全性保障。是保障在数据库共享情况下维护数据所有者利益。数据的集中存放和管理能够保证数据库安全性。数据库安全的具体目标就是提供充分的服务,并且保证关键信息不被泄露。 三、数据库安全管理存在问题 从数据库系统安全性角度来讲,数据库的安全问题包括操作方面问题、系统管理问题和数据库自身问题等三个方面。 操作方面。操作方面往往涉及到病毒、后门、数据库系统以及 操作系统 等方面的关联性。病毒方面,部分病毒可以依附于操作系统从而对数据库造成危害;操作系统后门在方便特征参数设置等的同时,也给黑客等留了后门使其可以访问数据库系统等。 管理方面。对数据库安全管理意识薄弱,重视程度不够,对数据库等的管理往往提留在设置访问权限等方面。数据库安全管控措施较少或不到位,未能定期检测和发现数据库存在的漏洞以及面临的安全威胁。 数据库自身问题。虽然关系数据库系统应用时间较长,特性较强大,产品也较成熟,但是实际中并没有在操作系统和现在普遍使用的数据库系统体现出其应该具有的某些特征,尤其是那些较为重要的安全特性,由此可见,大多数的关系数据库系统的成熟度还是不够。 四、计算机数据库安全管理措施 (一)用户标识与鉴别 用户识别和鉴别是数据库系统的最外层安全保护措施。数据库系统可使用多种识别方法,提高系统的安全级别。其中用户名输入识别、口令识别、身份随即识别等作为常用的安全防范方法。 (二)安全模式 通过安全模式来判断安全重要方面与系统行为关系,并满足关键数据安全的需求。安全模式通常包括多级安全模式和多边安全模型。多级安全模式首先在军用安全保密系统中使用,包括秘密级、机密级和绝密级三个等级。根据不同的需求设置每一级人员的访问权限。多边安全模式则能防范横向信息泄露。 (三)访问控制 按用户身份及其所归属的某项定义组来限制用户对某些信息项的访问,或限制对某些控制功能的使用。访问控制通常用于系统管理员控制用户对服务器、目录、文件等网络资源的访问。访问控制保证具有访问权限的用户的正常访问,是通过主体访问设置保护网络资源。访问控制的功能主要有以下:防止非法的主体进入受保护的网络资源;允许合法用户访问受保护的网络资源;防止合法的用户对受保护的网络资源进行非授权的访问。访问控制实现的策略:入网访问控制、网络权限限制、目录级安全控制、属性安全控制、网络服务器安全控制等。 (四)安全审计 由专业审计人员根据有关的法律法规、财产所有者的委托和管理当局的授权,对计算机网络环境下的有关活动或行为进行系统的、独立的检查验证,并作出相应评价。安全审计涉及四个基本要素:控制目标、安全漏洞、控制措施和控制测试。其中,控制目标是指企业根据具体的计算机应用,结合单位实际制定出的安全控制要求。 五、结束语 数据安全问题是存在于计算机系统和数据库系统中的常见和最为重要的问题。数据库的安全围绕着防范和减轻风险的角度展开。数据库管理最主要的目的就是通过有效的计划和措施,在保障数据共享的基础上,保障数据的安全,确保安全风险不为用户带来风险等。文章在指出数据库系统中存在安全问题的基础上,从用户识别、设置安全模式、进行访问控制等角度提出了数据库安全管理措施。 参考文献: [1]许婷,杨新荣.数据库安全技术理论研究[J].科技情报开发与经济,2007,4. [2]朱良根,雷振甲,张玉清.数据库安全技术研究[J].计算机应用研究,2004,9. [3]隽军利,李天燕,王小龙.浅析计算机数据库系统在信息管理中的应用[J].科技创新导报,2008,12. [4]刘启原,刘怡.数据库与信息系统的安全[M].北京:科学出版社,2000. 5000字计算机毕业论文篇4 浅谈计算机安全技术与防护 摘要:互连网具有开放性和匿名性的特点,这给计算机黑客、病毒利用网络实施各种犯罪活动创造了机会,同时对网络安全构成了威胁。在我们使用网络的过程中,总会感染各种各样的网页病毒,在收发电子邮件、使用QQ进行即时聊天过程中,也会导致密码被盗等情况。同时,由于安全问题,有些网站的数据被破坏,这给我们的工作带来了极大损失。 关键词:计算机;网络;安全技术;防护技术 互联网以其高效率和快捷方便改变着人们的生产与生活,在社会的各个领域得到了广泛的应用,各行各业用其来处理各种事物,比如电子邮件的发送、网上购物、信息的处理、网上炒股和网上办公。所有这些都与互连网的开放性及匿名性有关。也正因为这些特征使互联网存在着一定的安全隐患。但是网络不安全导致人们对网络望而生畏,以上问题也使人们在应用网络与计算机的过程中遭受巨大损失,我在计算机安全技术与防护方面做如下分析。 一、计算机网络信息存在安全隐患 (一)计算机本身存在的问题 计算机的弱项是面对威胁与攻击时容易被破坏甚至导致瘫痪。因为它自身的防御能力较差,被新病毒攻击时束手无策,在建立网络协议时,有些安全问题没有被安排在内,虽然又新加了许多安全服务与安全机制,但是黑客的攻击还是让计算机本身防不胜防,让一些安全措施显得无力,所以在互联网中的安全问题表现的更加严重。 (二)软件中存在的漏洞 所有的操作系统或网络软件都存在着各种各样的问题,主要是有了黑客的攻击或病毒的入侵以后才进行漏洞的修补,所以在操作系统及网络软件中还存在缺陷和漏洞,这给我们的计算机带来了很大的危险,计算机被接入网络受到的攻击也会更多。 (三)计算机安全配置不正确 进行安全配置时,因为配置不正确导致了安全漏洞的存在。比如,没有对防火墙进行配置,那么本身的作用不能得到很好的发挥,在这种特定的网络应用程序中,启动过程中,很多安全缺口也会随之打开,可以与这一软件捆绑在一起的应用软件随之启用。只有在用户禁止此程序的运行,或者对它进行了合理的配置时,才可以排除各种安全隐患。 (四)使用对象的安全意识差 当用户口令设置较简单,有时还把自己的账号借给他人用或者与他人共用,这些给网络安全造成了一定的威胁。 二、计算机病毒的威胁 随着应用的广泛,病毒的种类也在不断增多,破坏性不断增强,病毒的产生与蔓延使信息系统不再可靠,不再安全,计算机受到的威胁是巨大的,同时也给各个单位造成了很多损失,计算机病毒的入侵手段可以归结为以下几类: (一)数据的欺 非法入侵到计算机,对数据进行修改,甚至借机对假数据进行输入。 (二)特洛伊木马 在计算机内通过不正确的手段装入秘密指令或者程序,通过计算机进行犯罪活动。它通过合法的身份隐藏于其他的程序中,某时刻会发作,这时会产生威胁,当本机在完成任务时,它会实施非授权功能。比如复制一段超过系统授权的程序等。 (三)截收信息 黑客或者病毒在进行攻击时,有可能会利用搭线或者是电磁辐射的范围内进行截收,对重要信息进行截获或者借助于信息流以及自身的流向、通信频度及长度等参数加以分析,对有用的信息进行判断及保留。 (四)对程序的攻击 这种病毒的攻击性较强,活动较频繁,它深深地隐藏于计算机的存储器中,借助于木马对用户进行技术性的欺,对用户进行激活。甚至借助于逻辑炸弹来发作,对系统进行攻击并产生较大的危害性活动。 (五) 其它 网络攻击方式 黑客或者病毒破坏网络系统,使其不可用,导致合法用户对网络资源不能进行访问,拒绝各种服务,有的还会严重破坏计算机系统与网络系统,使系统信息不再完整,有些还有可能假装主机对合法用户进行非法入侵,使系统资源遭受破坏等。 三、常用的网络安全技术 (一)操作系统内核的安全性防护技术 操作系统安全内核技术主要是通过传统网络安全技术进行分析,借助于操作系统这一层次对网络的安全性进行分析与假设,对系统内核中可能存在安全性问题在内核中除掉,进一步对系统的安全性问题进行强调,在技术上不断加强。操作系统平台的安全措施主要有:利用安全系数较高的操作系统;对操作系统进行安全配置;借助于安全扫描系统对操作系统的漏洞进行检查等。美国国防部技术标准将操作系统的安全等级划分成D1、C1、C2、B1、B2、B3、A几个等级,它的安全等级主要是从低到高。当前大多数操作系统的安全等级都达到了C2级,它的特征包括:一是利用用户注册名和口令使系统加以识别;二是系统通过用户的注册名对用户访问资源的权限进行裁定;三是通过系统对所有系统中发生的所有事件进行审核与记录;四对其他具有系统管理权限的用户进行创建。 (二)网络防病毒技术 计算机病毒借助于网络环境对系统进行破坏,它的破坏力非常强,它产生的威胁与破坏力是不可估计的,比如CIH病毒及爱虫病毒就充分说明了,如果不对病毒进行提前预防,它所造成损失更大,给社会带来一系列的问题,所以,我们要加强病毒的预防。网络防病毒技术的具体实现方法主要包括对网络服务器中的文件的频繁破坏,频繁扫描与频繁监测,主要通过工作站对防病毒的芯片、网络目录以及各种文件加强了访问权限的设置等。预防病毒主要借助于网络这一整体,提高管理人员的技术与防范意识,经常对全网的客户机进行扫描,对病毒情况进行监测;通过在线报警技术,使网络上的每一台机器发生故障、被病毒入侵时,网管人员能够检测到并及时解决这些问题,使网络被攻击的损失达到最小化。 (三)对 网络技术 的加密 对网络进行加密技术的提高是保障网络安全的行之有效的一项重要措施,做了加密的网络可以防止非法窃听,还可以防止恶意软件的入侵等,对网络信息进行加密主要是对网内的数据进行保护,对网内的文件、口令及控制信息实施保护,对网上传输的数据加以保护。这种对网络实施的加密主要是通过链路加密、端点加密及节点加密几种方式来实现。链路加密的目的是为了对网络节点之间的链路信息安全进行保护;对各个端点进行加密的目的是完成对源端用户到目的端用户的数据所做的加密保护;对节点进行加密主要是对源节点到目的节点之间的传输链路进行加密保护。各用户针对网络情况对上述三种加密方式结合自身情况进行选择。 根据收发双方的密钥的异同进行分类,对这些加密算法可以分为常规密码算法与公匙密码算法。通过对其应用这一过程,人们主要是把常规密码与公钥密码有机结合。比如:使用DES或者IDEA完成对信息的加密,而使用RSA对会话密钥进行传递。假如根据多次加密所处理的比特进行分类,我们可以把加密算法分为序列密码的算法与分组密码的算法,而序列密码的算法在每次计算时只加密一个比特。 (四)加强防火墙技术 网络防火墙主要是对被保护的网络和外界所设置的屏障,它借助于计算机硬件及软件的组合形成了相对安全的网关,对内部网络进行保护,使其不受非法用户的入侵,通过对它的鉴别、限制与更改,使其跨越防火墙的数据流,对通信网络的安全提供保障,为计算机通信网络的发展提供保障。 (五)加强身份验证技术 身份验证技术主要是用户通过系统显示自己身份证明的一个过程。通过身份认证对用户的身份进行证明。通过这两个过程对通信双方真实身份进行判定与验证,借助于这两项工作完成身份的验证。计算机的安全机制主要是对发出请求的用户做出身份验证,对它的合法性进行确认,如果判定为合法用户,对该用户进行审核,判断其是否对所请求的服务或主机可以进行访问。 总之,网络安全是一项综合性、长期性的任务,它主要涉及到技术、管理以及使用的许多问题,主要包括信息系统自身的安全问题,还包括物理方面的和逻辑方面的相应措施。所以,一定要通过多种防范措施,通过各种比较保密的政策及明晰的安全策略,对信息的机密性、完整性和可用性逐步加强,给网络安全提供保障。 参考文献: [1]陈月波.网络信息安全[M].武汉:武汉理工大学出版社,2005 [2]钟乐海,王朝斌,李艳梅.网络安全技术[M].北京:电子工业出版社,2003 [3]张千里.网络安全基础与应用[M].北京:人民邮电出版社,2007 [4]吴金龙,蔡灿辉,王晋隆.网络安全[M].北京:高等教育出版社,2004 猜你喜欢: 1. 计算机专业毕业论文评语 2. 有关大学计算机专业毕业论文范文 3. 计算机系毕业论文范文参考 4. 大学计算机毕业论文范文 5. 关于计算机专业毕业论文范文 6. 计算机专业毕业论文参考
核心查询这样写应该就可以了吧:Select Cast(姓名 As varchar(20)) + '同学一共选了' + Cast(Count(*) As varchar(12)) + '门课程,其中有' + Cast(Sum(Case When 成绩<60 Then 1 Else 0 End) As varchar(12)) + '门不及格 ,其平均成绩为' + Case(Avg(成绩) As varchar(12)) + '分'From
毕业论文题目根据选题来定简单点的就直接拿选题题目来做论文题目或者根据你论文的内容来定,比如:XXX数据库系统设计,等等类似的
1. 了解当前主流数据库管理系统的特点;2. 掌握Oracle11g数据库使用管理的方法;3. 掌握Oracle11g数据库安全性控制方法;4. 掌握基本的Oracle11g数据库备份与恢复方法;5. 掌握PL/SQL编程,存储过程、触发器等。要求:根据教员在Oracle数据库方面的使用经验,结合案例细化管理方法,深层次掌握Oracle数据库管理知识,为以后从事数据库开发和管理打下坚实的基础。