论文投稿百科

浅谈sql数据库论文

发布时间:2024-07-02 13:15:31

浅谈sql数据库论文

SQL数据库是具有数据操纵和数据定义等多种功能的数据库语言,这种语言具有交互性特点,能为用户提供极大的便利,数据库管理系统应充分利用SQL语言提高计算机应用系统的工作质量与效率。

一、SQL数据库的应用领域

1、多媒体数据库

这种数据库主要存储与多媒体有关的数据,如语音、图像和视频数据。多媒体数据最大的特点是数据连续、数据量大、存储空间大。

2、移动数据库

这种数据库是在笔记本电脑、掌上电脑等移动计算机系统上开发的。数据库的最大特点是通过无线数字通信网络传输。移动数据库可以随时随地获取和访问数据,为一些业务应用和一些突发事件带来了极大的便利。

3、空间数据库

目前,这种数据库发展迅速。它主要包括地理信息数据库(也称为GIS)和计算机辅助设计(CAD)数据库。其中,地理信息数据库一般存储与地图相关的信息数据;CAD数据库一般存储机械、集成电路、电子设备设计图纸等设计信息的空间数据库。

4、信息检索系统

信息检索是根据用户输入的信息从数据库中查找相关文档或信息,并将信息反馈给用户。信息检索领域与数据库领域同步发展。它是一个典型的联机文档管理系统或联机图书目录。

5、分布式信息检索

这种数据库是随着Internet的发展而产生的。它广泛应用于Internet和远程计算机网络系统中。特别是随着电子商务的发展,这种数据库的发展更为迅速。许多网络用户(如个人、公司或企业等)将信息存储在自己的计算机中。

6、专家决策系统

专家决策系统也是数据库应用的一部分。因为越来越多的数据可以在网上获得,特别是通过这些数据,企业可以对企业的发展做出更好的决策,从而使企业能够更好地经营。随着人工智能的发展,专家决策系统的应用越来越广泛。

二、SQL数据库现状

1、自主研发

国内自主研发关系型数据库的企业、单位基本上都是发源于上世纪90年代的,而且都是以大学、科研机构为主。到今天,有代表性的厂商有:达梦–由华中理工冯玉才教授创办,完全自主研发。以Oracle为参照、追赶对象。

2、引进源代码

引进数据库源代码发展国产数据库,如今,经济发展,而且IBM也愿意迎合国人对于国产化的诉求,将搁置多年的Informix源代码拿出来,发挥余热。2015年以来,与IBM签订源代码授权的公司有华胜天成、南大通用(Gbase8t)和星瑞格。这三个公司成为以引进Informix源代码发展国产数据库的代表。

三、SQL数据库发展前景

1、产品形成系列化

一方面,Web和数据仓库等应用的兴起,数据的绝对量在以惊人的速度迅速膨胀;另一方面,移动和嵌入式应用快速增长。针对市场的不同需求,数据库正在朝系列化方向发展。

2、智能化集成化

SQL数据库技术的广泛使用为企业和组织收集并积累了大量的数据。数据丰富知识贫乏的现实直接导致了联机分析处理(OLAP)和数据挖掘(DataMining)等技术的出现,促使数据库向智能化方向发展。

3、支持各种互联网应用

SQL数据库管理系统是网络经济的重要基础设施之一。支持Internet(甚至于MobileInternet)数据库应用已经成为数据库系统的重要方面。例如,Oracle公司从8版起全面支持互联网应用,是互联网数据库的代表。

扩展资料:

SQL包括了所有对数据库的操作,主要是由4个部分组成:

1、数据定义:又称为“DDL语言”,定义数据库的逻辑结构,包括定义数据库、基本表、视图和索引4部分。

2、数据操纵:又称为“DML语言”,包括插入、删除和更新三种操作。

3、数据查询:又称为“DQL语言”,包括数据查询操作。

4、数据控制:又称为“DCL语言”,对用户访问数据的控制有基本表和视图的授权及回收。

5、事务控制:又称为“TCL语言”,包括事务的提交与回滚。

参考资料来源:百度百科-SQL数据库

有图片的,这里发不了图片,满意我的论文加分后联系我,我发给你。基于关系数据库的模式匹配技术研究摘 要 随着 网络 技术的 发展 ,信息处理需要对大量的、异构的数据源的数据进行统一存取,多源异构数据的集成 问题 就显得十分重要。而模式匹配是数据集成领域的一个基本技术。文章提出一种解决关系数据库语义冲突问题的模式匹配技术,以实现异构数据的共享与互操作。关键词 数据集成;模式匹配;语义冲突1 引言随着 计算 机及网络技术的快速发展,网络上的各种信息以指数级爆炸性增长,成为了一个巨大的信息库,同时各 企业 单位开发了大量的软硬件平台各异的 应用 系统,在各种应用系统下又积累了丰富的数据资源。这样就形成了成千上万个异构的数据源,多为传统的关系数据库数据。这些数据资源由于软硬件平台各异、数据模型各异而形成了异构数据,使各数据源间的互操作变得复杂。为了更好地利用这些异构信息,以及不造成企业应用系统的重复建设和数据资源的浪费,模式匹配技术吸引了众多关注。本文针对模式匹配过程中存在的语义冲突进行分类,并提出了相应的解决策略,以达到异构数据源的共享和互操作。2 模式匹配中的冲突问题在数据集成领域中,由于数据源系统多是独立开发,数据源是相对自治的,因此描述数据的数据模型或存储结构经常会出现模式的不一致,数据源的自治性和数据源模式的异构性使数据源在共享和互操作上存在了语义冲突。这些正是模式匹配的焦点问题,它们形式上的性质使得人们很容易想到要用模式匹配去解决逻辑、语义和知识的描述问题。对于描述模式匹配中的语义冲突有两种较有代表性的分类[4]。第一种分类将冲突分为异类冲突、命名冲突、语义冲突和结构冲突。第二种分类主要是对第一类异类冲突概念的一个细致的改进,但和其它分类仍有细微的不同,它把异类冲突看作是语义不一致的一类(如语义冲突),把冲突分为命名冲突、域冲突、元数据冲突、结构冲突、属性丢失和硬件/软件不同。模式匹配是一项复杂而繁重的任务,所能集成的数据源越来越多,上述冲突情况也会越来越普遍,想解决所有的模式冲突是不现实的。本文主要解决关系数据模式之间的语义冲突。3 模式匹配中的语义冲突本文所提出的模式匹配 方法 是根据关系数据库的特点设计的。关系数据库中关系的基本单位是属性,属性本身就包含着语义信息,因此异构数据源语义相似性就围绕着数据源模式中的属性来进行,并在匹配的过程中解决异构数据源模式之间的一系列语义冲突。 语义匹配体系结构本文提出的语义匹配体系结构采用数据集成中的虚拟法数据集成系统的典型体系结构,采用将局部模式匹配到全局模式的语义匹配体系结构,自下而上地建立全局模式。首先进行模式转化,消除因各种局部数据模式之间的差异所带来的 影响 ,解决各种局部模式之间的语义冲突等,然后在转化后的模式的基础上进行模式匹配,其主要手段是提供各数据源的虚拟的集成视图。数据仍保存在各数据源上,集成系统仅提供一个虚拟的集成视图和对该集成视图的查询的处理机制。系统能自动地将用户对集成模式的查询请求转换成对各异构数据源的查询。在这种体系结构中,中间层根本不实际存储数据,当客户端发出查询请求时,仅是简单地将查询发送到适当的数据源上。由于该方法不需要重复存储大量数据,并能保证查询到最新的数据,因此比较适合于高度自治、集成数量多且更新变化快的异构数据源集成。本文中的语义匹配的体系结构如图1所示。 关系数据库模式中语义冲突问题分类及其解决策略大多数数据库系统提供了一套概念结构来对现实世界的数据进行建模。每一个概念结构被认为是一个类型,它可以是一种复杂类型或一种基本类型。类型和它所表示的数据间的联系就称为语义[3]。在关系数据库中,一个关系模式是一个有序对(R,c),其中R为模式所指向的关系(表)的名称,而c则为具有不同名称的属性的有限集。同时,属性也是一个有序对(N,D),其中N为属性的名称,而D则为一个域。可以看出关系模式的基本单位是属性。属性本身就包含着语义信息,因此模式语义相似性就围绕模式中的属性来进行,并在模式匹配的过程中解决异构数据库模式之间的一系列语义冲突。根据语义的定义,在关系数据库系统中,语义系统是由模式、模式的属性、模式中属性之间的联系和模式间的属性之间的联系构成。这里将语义分为3级:模式级、属性级和实例级。下面将异构模式中存在的语义冲突问题进行了分类,并阐述了各种语义冲突的解决策略:1)模式级冲突(1)关系命名冲突。包括关系名同义词和关系名同形异义词。前者进行换名或建立关系名同义词表以记载该类冲突;后者进行换名或建立关系名同形异义词表以记载该类冲突。(2)关系结构冲突。分为包含冲突和相交冲突。包含冲突是指在含义相同的两个关系 R1 和 R2 中一个关系的属性集是另一个的属性子集。相交冲突是指两关系属性集的交不为空,我们用 attrset 代表关系的属性集。对包含冲突:①如果两个关系的属性集相同即attrset(R1)=attrset(R2),则合并这两个对象,Merge(R1, R2)into R3;②如果 attrset(R1) attrset(R2),则 attrset(R2')=attrset(R2)-attrset(R1),attrset(R1') = attrset(R1);③对相交冲突:通常概括语义进行如下解决:generalize(R1,R2)其中 attrset(R3)=attrset(R1)∩attrset(R2), attrset(R1')= attrset(R1)-attrset(R3);attrset(R2')=attrset(R2)-attrset(R3)。(3)关系关键字冲突:两个含义相同的关系具有不同的关键字约束。包括候选关键字冲突和主关键字冲突。解决候选关键字冲突的 方法 是,将两关系的候选关键字的交集作为两关系的候选关键字;解决主关键字冲突的方法是,从两关系的公共候选关键字中选一个分别作为两关系的主关键字。(4)多对多的关系冲突:两个数据库中用不同数量的关系来表达现实世界的相同语义信息,就产生了多对多的关系冲突,这种冲突分3种:一对多,多对一和多对多。解决方法是在表示相同语义信息的数据库中关系之间建立映射来表示多对多的关系。2)属性级冲突(1)属性命名冲突:分属性名同义词冲突和属性名同形异义词。前者的解决方法是,换名或建立属性名同义词字典;后者的解决方法是,换名或建立属性名同形异义词字典。(2)属性约束冲突:分属性类型冲突和属性长度冲突两种。当在两个相关的关系R1和R2的属性N1和N2具有不同的属性类型时,就发生属性类型冲突。解决方法是在全局模式中将发生属性类型冲突的属性统一到某种属性类型。对属性长度的解决方法是,在全局模式中将发生属性长度类型冲突的属性对统一定义为最大者就可。(3)多对多的属性冲突:两个数据库中的关系分别用不同数量的属性来表达现实世界中相同的语义信息时,就发生了多对多的属性冲突,这种冲突分3种:一对多,多对一和多对多。解决方法是在表示相同语义信息的数据库中关系的属性之间建立映射来表示这种多对多的关系。3)实例级冲突(1)不兼容关系实例冲突:当含义相同的数据项在不同的数据库中存在不一致的数据值时就发生了不兼容关系实例冲突。其解决方法是:将关系实例的最近修改作为关系实例冲突部分的值,但不能保证数据的正确性。(2)关系实例表示冲突:关系实例表示冲突是指用不兼容的符号、量纲和精度来表示相关关系实例中等价的数据元素,主要包括表达冲突、量纲冲突和精度冲突。表达冲突是指在两个相关的关系R1和R2中含义相同的属性N1和N2具有不同的数据表达时,这种冲突使用语义值的概念来解决,即将表示同一概念的多种表达在全局数据中进行统一即可。量纲冲突是指在两个相关的关系R1和R2和中含义相同的属性N1和N2具有不同的量纲表示。量纲冲突也可以语义值加以解决,解决过程如下:分别定义发生量纲冲突的局部数据源的语义值模式和语义值说明,然后再定义全局数据模式中相应的语义值模式和语义值说明,将发生量纲冲突的属性值在全局模式中进行统一。精度冲突是指在两个相关的关系 R1 和 R2 中含义相同的属性具有不同的精度。其解决方法是在全局模式中将发生精度冲突的数据项定义为最高精度即可。4 总结本文针对异构数据源管理自治和模式异构的特点,提出了数据源集成模式匹配的体系结构,制定了匹配策略, 研究 了基于语义的模式匹配过程。以关系模式为 参考 模式,对异构数据源关系模式间可能存在的语义冲突 问题 进行了分类,并阐述了解决这些语义冲突的策略。参考 文献[1] Bergamaschi S, Castano S, Vincini M. Semantic Integration of Semistructured and Structured Data Sources [J]. SIGMOD Record, 1999, 28(1): 54-59.[2] Li W, Clifton C, Liu S. Database Integration Using Neural Network: Implementation and Experiences [J]. Knowledge and Information Systems, 2000, 2(1).[3] Reddy M P, Prasad B E, GReddy P. A Methodology for Integration of Heterogeneous Databases [J]. Information System, 1999,24(5).[4] Rahm E,Bernstein Survey of Approaches to Automatic Schema Matching[J]. The International Journal on Very Large Data Bases (VLDB),2001,10(4):334-350.[5] 孟小峰,周龙骧,王珊.数据库技术 发展 趋势[J].软件学报,2004,15(12):1822-1835[6] 邓志鸿,唐世渭,张铭,等.Ontology研究综述[J].北京大学学报( 自然 科学 版),2002,38(5):730-738[7] 郭志鑫.基于本体的文档引文元数据信息抽取[J].微 计算 机信息,2006,22(6-3)相关文献:基于XML的多数据库系统集成数据模型 - 华中科技大学学报:自然科学版 - 卢晓蓉 陈传波 等基于CORBA和XML的多数据库系统研究 - 郑州轻工业学院学报:自然科学版 - 张素智,钱慎一,卢正鼎,集成数据库和文件系统的多数据库事务模型 - 华中理工大学学报 - 卢正鼎 肖卫军基于主动规则对象的分布式多数据库系统集成 - 小型微型计算机系统 - 胡华,高济,基于CORBA的多数据库系统 - 计算机科学 - 石祥滨 张斌基于XML的文件系统与多数据库系统的集成 - 小型微型计算机系统 - 卢正鼎 李兵 等基于CORBA/XML的多数据库系统的研究与实现 - 计算机研究与发展 - 卢正鼎 李兵 等多数据库系统集成平台CMDatabase体系结构 - 计算机工程 - 魏振钢 郭山清 贾忠伟多数据库系统的数据模式集成与查询处理 - 电脑开发与应用 - 陶世群数据库网格:基于网格的多数据库系统 - 计算机工程与应用 - 任浩 李志刚 肖侬高校学生收费系统基于多数据库系统集成的一种实践 - 昆明冶金高等专科学校学报 - 杨滨生,蒋涛勇,张中祥,谢静静,基于RDBMS的地理信息集成数据库系统 - 计算机工程 - 江崇礼 王丽佳 等基于CORBA的异构数据库系统集成模型的研究 - 现代计算机:下半月版 - 陈刚基于分布式对象技术的多数据库系统 - 计算机工程与科学 - 韩伟红 隋品波基于CORBA的多数据库系统互操作技术 - 计算机科学 - 肖明,肖毅,

人们把客观存在的事物以数据的形式存储到计算机中,经历了对现实生活中事物特性的认识、概念化到计算机数据库里的具体表示的逐级抽象过程,即现实世界-概念世界-机器世界三个领域。有时也将概念世界称为信息世界;将机器世界称为存储或数据世界。 一、三个世界 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服务器来访问数据库。用户向数据库提交的信息以及数据库返回给用户的信息都是以网页的形式显示。 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部分组成(例如),其中前两部分规定了当前使用网络的管理机构,第3部分规定了当前使用的网络地址,第4部分规定了当前使用的计算机地址。Internet上提供的主要服务有E-mail、FTP、BBS、Telnet、WWW等。其中WWW(World Wide Web,万维网)由于其丰富的信息资源而成为Internet最为重要的服务。3.HTTP协议HTTP协议(Hypertext Transfer Protocol,超文本传输协议)应用在WWW上,其作用是完成客户端浏览器与Web服务器端之间的HTML数据传输。 Web的工作原理与工作步骤万维网简称为Web。Web可以描述为在Internet上运行的、全球的、交互的、动态的、跨平台的、分布式的、图形化的超文本信息系统。1.Web的工作原理Web是伴随着Internet技术而产生的。在计算机网络中,对于提供Web服务的计算机称为Web服务器。Web采用浏览器/服务器的工作方式。每个Web服务器上都放置着大量的Web信息。Web信息的基本单位是Web页(网页),多个网页组成了一个Web节点。每个Web节点的起始页称为“主页”,且拥有一个URL地址(统一资源定位地址)。Web节点之间及网页之间都是以超文本结构(非线性的网状结构)来进行组织的。2.Web的工作步骤Web的工作步骤如下。(1)用户打开客户端计算机中的浏览器软件(例如Internet Explorer)。(2)用户输入要启动的Web主页的URL地址,浏览器将生成一个HTTP请求。(3)浏览器连接到指定的Web服务器,并发送HTTP请求。(4)Web服务器接到HTTP请求,根据请求的内容不同作相应的处理,再将网页以HTML文件格式发回给浏览器。(5)浏览器将网页显示到屏幕上. 图1-2 Web的工作步骤 WWW世界中的标记语言1.HTML语言HTML(Hypertext Markup Language,超文本标记语言)是创建网页的计算机语言。所谓网页实际上就是一个HTML文档。文档内容由文本和HTML标记组成。HTML文档的扩展名就是.html或.htm。浏览器负责解释HTML文档中的标记,并将HTML文档显示成网页。(1)HTML标记HTML标记的作用是告诉浏览器网页的结构和格式。每一个标记用尖括号<>括起来。大多数标记都有一个开始标记和一个结束标记。标记不分大小写。多数标记都带有自己的属性。例如字体标记有FACE、COLOR、SIZE等属性:FACE定义字体;COLOR定义字体的颜色;SIZE定义字体的大小。使用格式: BEIJING 。网页中有很多文本链接和图片链接。链接,又被称为超链接,用于链接到WWW万维网中的其他网页上。在HTML文档中表示超链接的标记是,通过属性HREF指出链接的网页地址URL。使用格式: BEIJING 。(2)HTML程序HTML程序必须以标记开始,以标记结束。在和标记之间主要由两部分组成:文件头和文件体。文件头用标记 来标识,文件体用标记来标识。在文件的头部通常包含整个网页的一些信息。例如标记是用来说明网页的名称;标记是用来说明网页的其他信息,如设计者姓名和版权信息等。所有在浏览器中要显示的内容称为网页的主体,必须放在标记中。下面给出的是一个空网页的HTML程序。 (在此标记中写网页的标题) (在此标记中写网页的内容) (3)HTML规范HTML规范又称为HTML标准,它总在不断地发展。每一新版本的出现,HTML都会增加新的特性和内容。有关HTML版本的详细信息请访问网站。在不同的浏览器中,网页的显示效果可能会有所不同。每一个浏览器都使用自己独特的方式解释HTML文档中的标记,并且多数浏览器不完全支持HTML的所有特性。因为,像Microsoft和Netscape公司在HTML标准上又开发了一些特有的HTML标记和属性,称之为HTML的扩展。这些标记和属性只被他们自己的浏览器所识别,不可能被其他公司的浏览器识别。如果浏览器不能识别HTML文档中的标记,则会忽略这个标记。(4)HTML程序的编辑环境与运行环境HTML文档是一个普通的文本文件(ASCII),不包含任何与平台、程序有关的信息。因此HTML文档可以利用任何文本编辑器来方便地生成。要注意的是HTML文档的扩展名必须是.html或.htm。运行HTML文档可以在任何浏览器下进行,并可在浏览器上查看网页的HTML源代码。关于HTML语言中标记的种类与使用方法将会在第5章中更详细地进行介绍。2.可扩展标记语言(XML)HTML是Web上的通用语言,随着Internet的深入人心,WWW上的Web文件日益复杂化、多样化,人们开始感到了HTML这种固定格式的标记语言的不足。1996年W3C开始对HTML的后续语言进行研究,并于1998年正式推出了XML(Extensible Markup Language,可扩展标记语言)。在设计网页时,XML提供了比HTML更灵活的方法。(1)XML语言的特点XML是国际组织W3C为适应WWW的应用,将SGML (Standard Generalized Markup Language)标准进行简化形成的元标记语言。简单地说,XML是使用标记来描述内容或与内容相关的形式信息的通用语言。一个XML文档由标记和字符数据组成。而作为元标记语言,XML不再使标记固定,允许网页的设计者定义数量不限的标记来描述内容,同时还允许设计者创建自己的使用规则。(2)XML的DTDDTD(Document Type Definition,文档类型定义)是一组应用在XML文档中的自定义标记语言的技术规范。DTD中定义了标记的含义及关于标记的语法规则。语法规则中确定了在XML文档中使用哪些标记符,它们应该按什么次序出现,标记符之间如何 嵌套,哪些标记符有属性等等。DTD可以包含在它所描述的XML文档中,但通常它是一份单独的文档或者一系列文档。作为外部文件可通过URL链接,被不同的XML文档 共享。XML把DTD的定义权开放,不同行业可以根据自己的实际需求定义描述内容的DTD,以适应本行业内部的信息交流和存档需要。因此,适合于不同行业、不同平台的标记语言大批涌现。(3)XML的CSS与XSL强调内容描述与形式描述的分离,一方面可以使XML文件的编写者更集中精力于数据本身,而不受显示方式的细节影响;另一方面允许为相同的数据定义不同的显示方式,从而适合于不同应用、不同媒体,使XML数据得到最大程度的重用。XML文档数据的显示形式是通过样式单定义的。CSS(Cascading Style Sheets)是XML使用的一种标准的级联样式单,XSL(Extensible Style Language)则是可扩展的样式语言。由于XML允许用户创建任何所需的标记,而通用浏览器却既无法预期用户标记的意义,又无法为显示这些标记而提供规则,因此用户必须为自己创建的XML文档编写样式单,样式单可以实现共享。浏览器对一个XML文档的处理过程是,首先去关联它所指定的样式单文件,如果该样式单是一个XSL文件,则按照规定对XML数据进行转换然后再显示,XSL本身也是基于XML语言的,可以将XML转化为HTML后再显示。如果该样式单是一个CSS文件,浏览器就会按照样式单的规定给每个标记赋予一组样式后再显示。 Web数据库访问技术Web数据库访问技术通常是通过三层结构来实现的,如图1-3所示。目前建立与Web数据库连接访问的技术方法可归纳为CGI技术,ODBC技术和ASP、JSP、PHP 技术。 Web数据库访问的三层结构 CGI技术CGI(Common Cateway Interface,通用网关界面)是一种Web服务器上运行的基于Web浏览器输入程序的方法,是最早的访问数据库的解决方案。CGI程序可以建立网页与数据库之间的连接,将用户的查询要求转换成数据库的查询命令,然后将查询结果通过网页返回给用户。一个CGI工作的基本原理如图1-4所示。CGI程序需要通过一个接口才能访问数据库。这种接口多种多样,数据库系统对CGI程序提供了各种数据库接口如Perl、C/C++、VB等。为了使用各种数据库系统,CGI程序支持ODBC方式,通过ODBC接口访问数据库。 CGI工作流程 ODBC技术ODBC(Open Database Connectivity,开放数据库互接)是一种使用SQL的应用程序接口(API)。ODBC最显著的优点就是它生成的程序与数据库系统无关,为程序员方便地编写访问各种DBMS的数据库应用程序提供了一个统一接口,使应用程序和数据库源之间完成数据交换。ODBC的内部结构为4层:应用程序层、驱动程序管理器层、驱动程序层、数据源层。它们之间的关系如图1-5所示。由于ODBC适用于不同的数据库产品,因此许多服务器扩展程序都使用了包含ODBC层的系统结构。 ODBC的内部结构Web服务器通过ODBC数据库驱动程序向数据库系统发出SQL请求,数据库系统接收到的是标准SQL查询语句,并将执行后的查询结果再通过ODBC传回Web服务器,Web服务器将结果以HTML网页传给Web浏览器,工作原理如图1-6所示。 Web服务器通过ODBC访问数据库由于Java语言所显示出来的编程优势赢得了众多数据库厂商的支持。在数据库处理方面,Java提供的JDBC为数据库开发应用提供了标准的应用程序编程接口。与ODBC类似,JDBC也是一种特殊的API,是用于执行SQL语句的Java应用程序接口。它规定了Java如何与数据库之间交换数据的方法。采用Java和JDBC编写的数据库应用程序具有与平台无关的特性。 ASP、JSP、PHP技术ASP是Microsoft开发的动态网页技术,主要应用于Windows NT+IIS或 Windows 9x+PWS平台。确切地说ASP不是一种语言,而是Web服务器端的开发环境。利用ASP可以产生和运行动态的、交互的、高性能的Web服务应用程序。ASP支持多种脚本语言,除了VBScript和Pscript,也支持Perl语言,并且可以在同一ASP文件中使用多种脚本语言以发挥各种脚本语言的最大优势。但ASP默认只支持VBScript和Pscript,若要使用其他脚本语言,必须安装相应的脚本引擎。ASP支持在服务器端调用ActiveX组件ADO对象实现对数据库的操作。在具体的应用中,若脚本语言中有访问数据库的请求,可通过ODBC与后台数据库相连,并通过ADO执行访问库的操作。关于ASP的编程技术将会在第7章中详细介绍。JSP是Sun公司推出的新一代Web开发技术。作为Java家族的一员,几乎可以运行在所有的操作系统平台和Web服务器上,因此JSP的运行平台更为广泛。目前JSP支持的脚本语言只有Java。JSP使用JDBC实现对数据库的访问。目标数据库必须有一个JDBC的驱动程序,即一个从数据库到Java的接口,该接口提供了标准的方法使Java应用程序能够连接到数据库并执行对数据库的操作。JDBC不需要在服务器上创建数据源,通过JDBC、JSP就可以实现SQL语句的执行。PHP是Rasmus Lerdorf推出的一种跨平台的嵌入式脚本语言,可以在Windows、UNIX、Linux等流行的操作系统和IIS、Apache、Netscape等Web服务器上运行,用户更换平台时,无需变换PHP代码。PHP是通过Internet合作开发的开放源代码软件,它借用了C、Java、Perl语言的语法并结合PHP自身的特性,能够快速写出动态生成页面。PHP可以通过ODBC访问各种数据库,但主要通过函数直接访问数据库。PHP支持目前绝大多数的数据库,提供许多与各类数据库直接互连的函数,包括Sybase、Oracle、SQL Server等,其中与SQL Server数据库互连是最佳组合。 网络数据库应用系统的层次体系当前,Internet/Intranet技术发展异常迅速,越来越多的数据库应用软件运行在Internet/Intranet环境下。在此之前,数据库应用系统的发展经历了单机结构、集中式结构、客户机/服务器(C/S)结构之后,随着Internet的普及,又出现了浏览器/服务器(B/S)结构与多层结构。在构造一个应用系统时,首先考虑的是系统的体系结构,采用哪种结构取决于系统的网络环境、应用需求等因素。 客户机/服务器结构1.二层C/S结构二层C/S结构是当前非常流行的数据库系统结构,在这种结构中,客户机提出请求,服务器对客户机的服务请求做出回答。它把界面和数据处理操作分开在前端(客户端)和后端(服务器端),这个主要特点使得C/S系统的工作速度主要取决于进行大量数据操作的服务器,而不是前端的硬件设备;同时也大大降低了对网络传输速度的要求,因为只须客户端把服务请求发送给数据库服务器,数据库服务器只把服务结果传回前端,如图1-7所示。在设计时,对数据可能有如下不同的处理形式。(1)在处理时,客户机先向服务器索取数据,然后释放数据库,即客户机发出的是文件请求,在客户机端处理数据,最后将结果送回服务器。这种处理方式的缺点很明显:所有的应用处理都在客户端完成,这就要求客户端的计算机必须有足够的能力,以便执行需要的任何程序。更为糟糕的是,由于所有的处理均在客户端完成,每次运行时都要将文件整体传送到客户端,然后才能执行。如:Student表中有30 000条记录,客户端发出命令:Select * From Student Where Sno='200101'这条命令将要求服务器将Student表中的所有记录传送到客户端,然后在客户端执行查询,结果只用到一条记录;如果查询的记录不存在,网络传输的数据实际上是无 用的。如此大的数据传输量是不可想象的。因此,人们提出了在服务器中能够执行部分代码的客户机/服务器结构。(2)在处理时,客户机接受用户要求,并发给服务器;在服务器端处理用户要求,最后将结果传回客户机显示或打印。这种处理方式网络通信量较小。客户机向服务器发出的是处理请求,而不是文件请求,处理请求中的代码在服务器端执行后向客户机传送处理后的结果。这样,为了特定任务,客户机上的程序和服务器上的程序协同工作:客户机端的代码用于完成用户的输入输出及数据的检查,而服务器端的代码完成对数据库的操作。客户机/服务器结构的另一个主要特点在于软件、硬件平台的无关性。数据库服务器上的数据库管理系统集中负责管理数据,它向客户端提供一个开放的使用环境,客户端通过数据库接口,如ODBC(开放数据库连接)和SQL语言访问数据库,也就是说,不管客户端采用什么样的硬件和软件,它只要能够通过网络和数据库接口程序连接到服务器,就可对数据库进行访问。在客户机/服务器结构中,常把客户机称为前台,而把服务器端称为后台。前台应用程序的功能包括用户界面、接收用户数据、处理应用逻辑、向后台发出请求、同时接收后台返回的结果,最后再将返回的结果按一定的格式或方式显示给用户。而后台服务器则负责共享外部设备、存取共享数据、响应前台客户端的请求并回送结果等工作。前台的应用程序和数据一般是用户专用的,而后台的数据和代码是所有用户可以共享的。由于数据库服务器不仅要管理共享数据,保证数据的完整性,还要执行一部分代码,完成客户端的一些处理请求,所以对用于服务器的计算机提出较高的要求。最好要采用一台专用的服务器,有较快的处理速度,有大容量的硬盘和内存,支持磁带等大容量的存储设备。上面讲的客户机/服务器结构将应用分在了客户机、服务器两级,称其为两层客户机/ 服务器结构。总之,两层C/S结构的基本工作方式是客户程序向数据库服务器发送SQL请求,服务器返回数据或结果。这种C/S结构有两种实现方式,一种是客户来完成表示部分和应用逻辑部分,而服务器完成数据访问部分,这种情况是以客户为中心的,适用于应用相对简单、数据访问量不是很大的情况。另一种是以服务器为中心的,把一些重要的应用逻辑部分放到服务器上,这样可充分利用服务器的计算能力,减少网络上需要传送的数据。通常以存储过程和触发器的形式出现,但存储过程都依赖于特定数据库,不同数据库之间很难移植,而三层C/S结构可以很好地解决这个问题。注意:触发器(trigger)是数据库系统中,一个在插入、删除、修改操作之后运行的记录级事件代码。不同的事件可以对应不同的动作。通常有3种类型的触发器:INSERT触发器、DELETE触发器和UPDATE触发器。2.三层C/S结构由于两层结构的客户机/服务器系统本身固有的缺陷,使得它不能应用于一些大型、结构较为复杂的系统中,故出现了3层结构的客户机/服务器系统,将两层结构中服务器部分和客户端部分的应用单独划分出来,即采用“客户机—应用服务器—数据库服务器”结构(如图1-8所示)。典型的数据库应用可分为三部分:表示部分、应用逻辑(商业逻辑)部分和数据访问部分,三层结构便是对应于这三部分。 图1-8 三层C/S结构其中,应用服务器和数据库服务器可位于同一主机,也可位于不同主机。客户机是应用的用户接口部分,负责用户与应用程序的交互,运行在客户机端的软件也称为表示层软件。应用服务器存放业务逻辑层(也称为功能层)软件,是应用逻辑处理的核心,实现具体业务。它能响应客户机请求,完成业务处理或复杂计算。若有数据库访问任务时,应用服务器层可根据客户机的要求向数据库服务器发送SQL指令。应用逻辑变得复杂或增加新的应用时,可增加新的应用服务器。数据库服务器便是用来执行功能层送来的SQL指令,完成数据的存储、访问和完整性约束等。操作完成后再通过应用服务器向客户机返回操作结果。 浏览器/服务器结构随着Internet技术和Web技术的广泛应用,C/S结构已无法满足人们的需要。因为在典型C/S体系中,通常为客户安装前端应用程序的做法已不再现实,并且限制客户端工作环境只能基于Windows、Macintosh或UNIX等操作系统也不切实际。于是基于浏览器/服务器结构(Browser/Server)的系统应运而生。采用B/S结构后,在客户端只需安装一个通用的浏览器即可,不再受具体操作系统和硬件的制约,实现了跨平台的应用。基于B/S结构的典型应用通常采用三层结构:“浏览器—Web服务器—数据库服务器”,B/S模式的工作原理是:通过浏览器以超文本的形式向Web服务器提出访问数据库的请求,Web服务器接受客户请求后,激活对应的CGI程序将超文本HTML语言转化为SQL语法,将这个请求交给数据库,数据库服务器得到请求后,进行数据处理,然后将处理结果集返回给CGI程序。CGI再将结果转化为HTML,并由Web服务器转发给请求方的浏览器,如图1-9所示。 图1-9 B/S工作原理在B/S模式中,客户端的标准配置是浏览器,如IE;业务功能处理由独立的应用服务器处理,Web服务器成为应用处理的标准配置;数据处理仍然由数据库服务器处理。从本质上讲,B/S结构与传统的C/S结构都是以同一种请求和应答方式来执行应用的,区别主要在于:C/S是一种两层或三层结构模式,其客户端集中了大量应用软件,而B/S是一种基于超链接(HyperLink)、HTML、Java的三级或多级C/S结构,客户端仅需单一的浏览器软件,是一种全新的体系结构,解决了跨平台问题。到目前,这两种结构在不同方面都有着广泛的应用。虽然C/S结构在Internet环境下明显不如B/S结构具有优势,但它在局域网环境下仍具有优势。 Internet/Intranet信息系统的多层体系结构多层结构应用软件与传统的两层结构应用软件相比,有可伸缩性好、可管理性强、安全性高、软件重用性好等诸多优点,如何在Internet/Intranet环境下构建应用软件体系结构就成为一个非常重要的问题,也是现今软件体系研究的一个新热点。目前各种技术层出不穷,如最初的静态HTML页面、简单的CGI网关程序、Java Applet程序,现在的ASP等Web数据库技术,还有动态的Java在线游戏及PHP技术等。实际上,多层的概念是由Sun公司提出来的。Sun公司提出的多层应用体系包括4层:客户层、顶端Web服务层、应用服务层和数据库层。其中顶端Web服务层是Sun公司多层体系结构中非常重要的一层,它主要起代理和缓存的作用。顶端Web服务器的作用是缓存本地各客户机经常使用的Java Applet程序和静态数据,通常被放置在客户机所在的局域网内,起到一个Java Applet主机(向Web浏览器传送Java Applet程序的计算机)和访问其他服务的代理作用。与普通代理服务器的作用相同。构建多层结构应用软件时,选用Java平台是一个很好的选择,因为它跨越各应用平台。总之,在Java平台上构建多层应用软件体系代表着今后Internet/Intranet应用的趋势。

难啊,数据库完整性连微软自己也没搞明白

sql数据库论文范文

写作小论文有助于提高我们的学术水平,小论文的格式有哪些要求呢?下面是由我整理的1000字小论文格式 范文 模板,欢迎大家阅读。

摘要: 随着企业规模的不断扩大,各部门所需信息既相互交错,又相对独立。这就要求各部门所用的数据库既能高度自治地 工作,又能进行信息共享。本文主要介绍多DM3数据库系统间的信息共享机制。 不同DM3数据库系统间的信息共享通过协调器实现。所有这些被协调器连接在一起的数据库系统组成了一个联邦数据库。这样既能较好地满足企业的需要,也能在保证效率的前提下,提高数据的可用性。

关键词: DBMS 复制 联邦数据库

1.引言

随着经济的发展,企业的规模越来越大,其积累的信息也越来越多。存在着各部门所处理的信息多数只对本部门有效,仅有少数信息需给 其它 某些部门共享的问题。这种信息的分布性和独立性要求对所处理的数据进行分类,使各部门既能独立地处理本部门大多数数据,也使部门间能协调处理跨部门的事务。在这种情况下,对整个企业建立一个完全的紧密耦合的分布式数据库是很困难的,也是没必要的,特别是大型企业,这样的数据库的效率往往是很低的。

为解决这个问题,我们采用以下策略:每个部门使用一套紧密耦合的数据库系统,而在存在跨部门事务处理的数据库系统间用一个协调器联起来。这样就组成了一个横跨整个企业,各部门高度自治的联邦数据库系统。

DM2是由华中理工大学数据库多媒体技术研究所研制的数据库管理系统。它采用客户/服务器模型,客户机与服务器,服务器与服务器均通过网络互连,通过消息相互通讯,组成一个紧密耦合的分布式数据库系统。它的工作流程如下:客户机登录到一台服务器上,这台服务器便成为它的代理服务器;它接收来自客户机的消息,然后根据全局数据字典决定是自己独立完成该操作,还是与其它服务器协作处理这条消息,处理完成之后,再由代理服务器将处理结果返回给客户机。

而数据字典,作为记录数据库所有元数据的系统表,它向以上过程中提供各类有用的信息,引导它们向正确的方向运行,起着“指南针”的作用。它分为局部数据字典和全局数据字典。其中,局部数据字典用于记录一个服务器站点中数据库的控制信息,如表的模式,视图的模式及各个数据区的的文件名等信息。全局数据字典用于记录分布式数据库系统中各个服务器站点上有关全局数据的控制信息,如服务器站点信息,各服务器站点的全局表名及表内码记录,各服务器站点上的全局数据视图名及视图内码记录,用户名及口令记录,用户权限记录等信息。各个局部数据字典可以各不相同,但为了保证在各个服务器上所看到的全局数据库是一致的,因此,全局数据字典必须一致。我们所关心的是全局数据字典中的基表控制块TV_CTRL_BLOCK,它的内容主要包括:全局基表总数,每个全局基表名和其对应的表内码,该基表所在的服务器站点的编号等信息。它的功能是将各个服务器站点号与存储在其上的表名及表内码联系起来。这样,代理服务器从客户消息中找到被处理的表名,然后通过查询基表控制块TV_CTRL_BLOCK,就能知道该表存在哪个服务器上,以便将相关消息发给该服务器。

由于DM2上各个服务器站点的全局字典完全相同,任何全局表的信息都会记入全局字典。若用它来构建一个企业的数据库系统,则大量只对企业某部门有用的信息将会充斥在各部门所有服务器的全局字典中,增加了冗余。而且,当对全局表进行DDL操作时,为了确保全局字典的一致性,须对所有服务器的全局字典进行加锁。DM2对全局字典的封锁方式是采用令牌环方式,即令牌绕虚环(非实环)传输,某个服务器想对全局字典进行操作,必须等令牌到达该服务器才可以执行。每个部门建立的全局表绝大多数只对本部门有用,当对这些表进行DDL操作时,却要对所有服务器的全局字典进行封锁,通过令牌来实现对全局字典的互斥访问。假如,两个部门都要分别对本部门的内部表进行DDL操作,这应该是可以并行处理的操作,现在却只能串行执行。而且,当服务器数目庞大时,每个服务器等待令牌的时间将会很长。这严重损害了数据库的效率。

为弥补以上不足,在DM2的改进版本DM3中增加了协调器,用以联接各个独立的DM3数据库子系统,并协调各子系统间的各种关系,使各子系统既能高度自治地工作,又能进行有效的信息共享。

2.体系结构

本系统可看作多个数据库子系统被协调器联起来的,高度自治的一个联邦数据库系统。其中,每个子系统独立处理本系统内部的事务,而子系统间的信息共享由复制技术提供,副本间的一致性由协调器协调处理,处理所需的信息在初始化时写入协调器的组间数据字典中。当对某子系统中的一份数据副本进行修改时,该子系统会将修改通知协调器,由协调器对该数据的其它副本进行修改,从而保证了所有副本的一致性。

由以上可知,子系统彼此并不直接接触,而是各自都与协调器直接相联,由协调器统一管理子系统间的通信。这样,当子系统对副本进行修改时,不必关心相应的子系统处于何种状态,也不必等待回应消息,以及异常处理,所有这些都由协调器进行管理。因此,既提高了系统运行的效率,也保证了子系统的独立性。其体系结构如下图所示。

协调器主要有三大功能,首先,它对协调器和服务器进行初始化,并将有关信息存入组间字典;其次,它管理不同子系统间的通信,维护副本的一致性;最后,它在子系统出现崩溃时,进行异常管理及恢复工作。

图1 DM3多数据库系统体系结构

3.主要策略

多个DM3系统间的信息共享是通过副本实现的,副本的一致性是由协调器来维持的,是一种弱一致性。通常,多数据库系统间的一致性是通过协调器周期性地访问服务器的日志来完成的。由于副本的更新带有随机性,因此,若采用这种 方法 ,可能数据被修改多次,但其相对应的副本仍未被修改,这样就损害了数据的一致性;也可能数据并未被修改,但协调器已多次访问了服务器的日志了,这样就降低了系统的效率。

所以,本系统采用的方法是当数据被修改时,由服务器通知协调器有关信息,再由协调器通知相关系统,修改相关数据。这样,数据的修改及时(仍然是弱一致性),而协调器也不会在数据未被修改的情况下访问服务器,提高了准确性。

为了使协调器正常工作,我们对底层数据库管理系统DM2进行了修改。在基表控制块TV_CTRL_BLOCK中增加一项IsReplication。建表时,该项初始化为false;当为该表建立一个副本时,该项赋值为true。具体算法如下。

初始化算法。

协调器:

从用户或应用程序接收待连接的两个系统中的服务器名,需复制的表名;

分别登录到两个系统的服务器上;

向存有待复制表的服务器发预复制消息;

等待服务器消息;

若失败,发一条失败的消息给服务器和用户或应用程序,转11);

若成功,从消息中取出待复制表的有关信息,根据这些信息,发一条建表消息给另一个系统的服务器;

等待服务器消息;

若失败,发一条失败的消息给服务器和用户或应用程序,转11);

若成功,调数据转移程序,进行数据复制;

将有关信息写入组间字典。

退出。

服务器:

当服务器收到预复制消息后,将基表控制块TV_CTRL_BLOCK中的IsReplication赋为true。同时,取出待复制表的有关信息,组成应答消息发给协调器。

当服务器收到失败的消息后,将基表控制块TV_CTRL_BLOCK中的IsReplication赋为false。

维护算法。

协调器:

从组间字典读出相关信息,根据这些信息,登录到相应系统上;

等待消息;

从某系统的服务器上收到一条修改消息后,通过查找组间字典,确定该消息的目的地,然后将它转发过去;

若失败,定时重发;

转2);

服务器:

1)等待消息;

2)当收到某客户或应用程序的消息后,检查它是否是修改数据的操作(如delete,update或insert等);

若不是,转7);

若是,检查基表控制块TV_CTRL_BLOCK中的IsReplication是否为true;

若不是,转7);

若是,向协调器发修改消息;

继续执行服务器程序的其它部分。

恢复算法。

若协调器所联接的系统中有一个跨掉了,则对副本的修改无法及时地反映到跨掉的系统中来。这时,需要恢复算法来进行处理。

协调器:

当协调器发现有一个系统已经崩溃后,采取以下步骤。

将与该系统相关的变量open赋值为false;

打开记时器;

等待消息;

若收到的消息是其它系统发出的修改崩溃了的系统上的副本的命令,则依次将这些消息存储起来,转3);

若收到的消息是记时器发出的时间到的消息,则向崩溃的系统发登录命令;

若登录成功,将open的值改为true;

将存储的消息依次发送过去,转9);

若登录失败,转3);

退出。

4.结论

我们曾在三个DM3数据库系统上,用两个协调器进行联接。结果,运行情况良好,各副本最终都能保证一致,且各副本间存在差异的时间间隔很短。另外,在出现异常的情况下,协调器也能正常工作。

主要参考文献:

1.周龙骧等,分布式数据库管理系统实现技术,科学出版社,1998。

2.郑振楣,于戈,郭敏,分布式数据库,科学出版社,1998。

3.王珊等,数据仓库技术与联机分析处理,科学出版社,1998。

随着社会的发展和社会对人才的需求,计算机类课程已成为一门所有专业的公共课程。下面是我为大家整理的计算机类 毕业 论文5000字,希望对大家有帮助。

谈计算机病毒与防护 措施

【摘要】本文从计算机病毒的概念入手,分析了如何判断计算机是否感染病毒,以及计算机感染病毒的表现。阐述了计算机病毒的来源,并对计算机病毒的种类进行了技术分析,针对不同的计算机病毒提出了多种防范措施。

【关键词】计算机病毒;复制;英特网;病毒来源;防护计算机病毒

随着计算机的广泛普及,家用电脑用户的不断扩大,以及网络的迅猛发展,计算机病毒对电脑的攻击与防护技术也在不断更新。全球遭受计算机病毒感染和攻击的事件数以亿计,不仅严重的影响了正常的工作和生活,同时也给计算机系统带来了很大的潜在威胁和破坏。目前,计算机病毒已经波及到社会的各个领域,人尽皆知,所以计算机病毒的防护已成为计算机工作者和计算机使用者的一个重要问题,解决问题刻不容缓。

怎样才能彻底防范计算机病毒的攻击呢?首先我们要了解计算机病毒是什么?所谓知彼知己百战不殆,那么到底计算机病毒是什么呢?计算机病毒是一个人为编写的程序,或一段指令代码。我们强调这里的人为性,计算机病毒具有独特的复制能力。因为计算机病毒的可复制性,所以计算机病毒得以迅速地蔓延,并且往往难以根除。计算机病毒能把自身附着在各种类型的文件上,这就是我们所说的寄生性,就像我们学习生物的中的寄生虫一样。当文件被复制或从一个用户传送到另一个用户时,它们就随同文件一起扩散开来。所以说计算机病毒的最本质的功能就是复制功能。

当然,如果计算机出现故障,并不完全是计算机病毒的原因。家用电脑使用过程中出现各种故障也有很多原因是因为电脑本身的软件或是硬件故障引起的,如果是网络上的故障,也有一些是因为涉及到权限问题引起的。所以我们只有充分地了解两者的区别与联系,才能够做出正确的判断,以便根据故障原因进行处理。

一、如何判断计算机是否感染病毒

1、电脑感染病毒最明显的特点就是电脑运行速度比平常慢。例如,上午打开一个网页还很快,下午开机打开网页的速度明显变慢,最大可能就是感染病毒。特别是有些病毒能控制程序或系统的启动程序,所以开机系统启动或是打开一个应用程序,这些病毒就执行他们的动作,因此会需要更多时间来打开程序。如果你的电脑在使用过程中出现了以上现象,很有可能是感染了计算机病毒,需要进行全盘查毒和杀毒。

2、在电脑的运行过程中经常出现 死机 的现象:这种现象应该是我们最常见的,是什么原因呢?原因就是计算机病毒打开了多个文件或是占用了大量内存空间,运行了大容量的软件,测试软件的使用也会造成一定的硬盘空间不够等等。

3、计算机 操作系统 无法启动:原因是计算机病毒修改了硬盘的引导信息,或是一些启动文件被破坏或是被删除。引导区病毒会破坏硬盘引导区信息,使电脑无法正常启动,硬盘分区丢失,或是人为地操作错误,误删除了系统文件等原因造成的系统无法启动。

4、系统经常出现提示信息显示内存不够:计算机病毒非法占用了大量内存空间;打开了大量的软件;运行了需内存资源的软件;系统配置不正确等。

5、文件打不开:引起文件打不开的原因可能是计算机病毒篡改了文件格式;文件链接位置因为计算机病毒发生改变。文件遭到损坏;硬盘受到损坏;文件快捷方式所对应的链接位置发生了改变;原来编辑文件的软件被删除了等。

6、系统提示硬盘空间不够:因为计算机病毒具有复制性这个特点,所以计算机病毒复制了大量的病毒文件,以至于影响了内存空间的大小,所以安装软件时系统就出现提示信息硬盘空间不够。硬盘的分区太小,并且安装了一些大容量的软件,这些软件都集中安装在一个硬盘分区中,或是硬盘本身容量就小等等原因造成的。

7、电脑中出现了大量来历不明的文件:计算机病毒复制文件;可能是一些软件安装中产生的临时文件;也或许是一些软件的配置信息及运行记录等。

8、启动黑屏:计算机病毒感染, 显示器 故障; 显卡故障 ; 主板故障 ;超频过度;CPU损坏等等原因。

9、数据丢失:计算机病毒删除了文件;硬盘扇区损坏;因恢复文件而覆盖原文件;如果是上传到网络上的文件,其他用户的误删除也会导致数据的丢失。

综上所述,除以上几种原因外,还有一种重要的原因,因特网引入了新的病毒传送机制。随着网络的出现,电子邮件被作为一个重要的信息工具,计算机病毒借助网络的广泛传播得以迅速蔓延。附着在电子邮件中的计算机病毒,瞬间就可以感染整个企业的电脑系统,甚至可以让整个公司在生产上遭受巨大损失,在清除病毒方面开花费数百万元。

二、计算机病毒的主要来源

1、学习、从事、 爱好 计算机专业的人员并非出于恶意而制造出来的小病毒。例如像圆点一类的良性病毒。

2、一些软件公司及用户为保护自己的软件不被复制,进而采取的非善意的措施。原因是他们发现对产品软件上锁,和在其软件中隐藏病毒对非法复制软件者的打击更大,正是由于这样的原因就更加助了计算机病毒的传播。

3、攻击和摧毁计算机信息系统和计算机系统而制造的病毒——就是蓄意进行破坏。

4、用于科学研究或是用于设计的程序: 由于某种人为因素或是非人为因素的原因而失去了控制,或是产生了意想不到的结果。例如,千年虫病毒。

三、如何防范计算机病毒

1、不用原始软盘或其他介质引导计算机,对系统等原始盘实行保护。

2、不随意使用外来软盘或其他介质,对外来软盘或其他介质必须先查毒后使用。

3、做好系统软件,应用软件的备份,一些重要的文件或数据定期进行数据文件备份,供系统恢复使用。

4、计算机的使用要做到专机专用,特别是一些工作用机,要避免使用盗版软件,如游戏软件等,以便减少被病毒感染几率。

5、网上接收或是传送数据的时候,要养成好的习惯,先检查后使用,接收邮件的计算机要与系统计算机区别开来。

6、定期对计算机进行查毒杀毒,对于联网的计算机应安装实时检测病毒软件,以便防范计算机病毒的感染。

7、如发现有计算机被病毒感染,需立即将该计算机从网上撤下,防止计算机病毒继续蔓延。

总之,以上 总结 了对计算机病毒的一些看法和防范措施。这是信息技术的发展所带来的切身感受。作为一名计算机工作者,与计算机病毒的斗争将更加严峻,我们必须不断努力学习,提高自身专业知识。相信未来的计算机病毒会更加厉害,防不胜防。但是,更加相信邪不胜正,总有解决它的办法。尽管现在的病毒种类各种各样,杀毒软件也逐步更新。但病毒的更新,换代速度也非常之快,我们不要掉以轻心。要树立良好的安全意识,才能在计算机病毒的防护方面做到尽量避免损失。

谈计算机信息处理技术

【摘要】随着网络化技术的不断发展,办公自动化已经成为人们生活、工作和学习必不可少的系统。本文主要从计算机信息处理技术和办公自动化概念出发,对计算机信息处理技术在办公自动化上的应用进行了探讨,并对计算机信息处理技术在办公自动化上应用的发展趋势进行了分析。

【关键词】计算机;信息处理技术;办公自动化

引言

所谓的办公室从信息处理的角度来说,其就是一个产生和处理各种信息的地方。由于目前社会的进程的不断的加快,人们需要面对和处理的信息也是不断的庞大,面对着庞大的信息量,传统的信息处理手段已经不能够满足人们的需求了。随着计算机技术的发展,企业等为了提高效率,办公自动化逐渐的被人们所重视。办公自动化是指融计算机技术、 网络技术 、通信技术以及系统科学和行为科学等各种现代化技术于一体,使人们的各种工作活动依赖于这些设备,这些办公设备和工作人员组成服务于企业目标的人机处理系统。目前,随着办公自动化以及办公数字化的普及,管理组织结构得到了优化,管理体制得到,有效的调整,极大的提高了效率,增加了办公的协同能力,加强了决策的一致性,从而真正实现了决策高效能。

当今社会,随着计算机技术、网络技术的高速发展。基于网络的数字化信息处理平台逐渐的被企业、行政单位所应用。这种办公自动化不仅极大地提高了办公的效率。而且能够实现更快的决策。由此可见,计算机信息处理技术在办公自动化中起着极为重要的作用。

一、计算机信息处理技术及办公自动化概念

所谓的计算机信息处理技术就是集获取、输送、检测、处理、分析、使用等为一体的技术,其主要作用是对信息进行处理和管理。计算机信息处理技术主要由传感技术、通信技术、计算机技术及微电子技术、网络技术等构成的。因此,也被称为信息和通信技术;办公自动化是在计算机技术、网络技术基础上发展起来的,办公自动化是集计算机技术、网路技术、通信技术、行为科学及组织科学等组成的现代化技术为一体新型技术。办公自动化是利用现代化技术和设备将现实生活中的办公活动真实的展现出来,并由相应的工作人员和现代化设备共同组成活动和目的的人机处理系统。在这里值得注意的是,使用办公自动化系统时,必须具备人和相应的机器设备,同时相应的软硬件设备也是必须具备的。

二﹑信息技术与办公自动化

信息技术是研究信息的获取、传输、处理、检测、分析和利用的技术,主要用于管理和处理信息,由传感技术、计算机技术、通信技术、微电子技术结合而成,常被称为“信息和通信技术”,有时也叫做“现代信息技术”。办公自动化是近年随着计算机科学发展而提出来的新概念,应用计算机技术、通信技术、网络技术以及系统科学、行为科学等多种技术,不断使人们的公务管理活动物化于各种设备中,并由这些设备与办公人员构成服务于各种目标的人机处理系统。这一人机系统,人,机,缺一不可。而设备方面,硬件及必要软件都需齐备。

办公自动化是20世纪70年代中期发达同家迅速发展起来的一门综合性技术,而我国OA经过80年代末至今10多年的发展,已从最初提供面向单机的辅助办公产品。发展到今天可提供面向应用的大型协同工作产品通过实现办公自动化,实现数字化办公。可以优化现有的管理组织结构,调整管理体制,在提高效率的基础上,增加协间办公能力,强化决策的一致性,最终提高决策效能更加的有效。

三﹑预测未来办公自动化的发展特点

对于未来的办公室和办公自动化发展很难有一个统一确切的描述,但从信息技术的发展趋势来看,本人以为未来办公自动化发展有以下特点:

视频技术的大量应用。

随着视频技术和压缩技术的发展,诸如视频会议等得到大力推广。在微软总部举行的未来办公品展览上推广之一就是通过摄像头全方面地看到与会者参加会议的情况,甚至还可以看到每一位发言人的表情,并进行互动式的讨论:随着信息社会的不断发展。视频技术也将更加进步,将逐步实现无线视频技术,目前市场上无线视频传输技术大多采用GPRS和CDMA技术,技术还不成熟,但可以肯定的是未来无线视频技术将被人们广泛使用。

无限的无线办公场所。

随着向wi-6技术的发展,基于网络的通讯方式迅速在工作领域兴起,这些通过手机. 笔记本 电脑等一些电子产品实现的通讯方式包括电子邮件、即时通讯、视频会议等应用得到了一次技术性的飞跃。封闭办公室的概念已不复存在,人们可以在机场、广场、饭店随时办公。员工无论身在何处,企业园区、异地出差、家庭办公等都可以轻松实现移动办公。企业内部还可以根据实用权限建立不同的应用级别,以设定不同的处理优先级,从而保证上网的安全性。 无线网络 的方便快捷大大提高了办公的效率。

更灵活的工作流。

电子文件在网络中传输,比起纸质文件的传送效率要高出几个数量级,不仅可以包括过去的纸质公文,而且还可以包含图像、动画、声音等多种影像资料,传递的知识更加丰富,对电子文件进行及时的收集和归档还可以使之得到长期保存,简单方便大大的提高了工作效率,成为办公人员的“宠儿”。

办公的非专业化。

一般的工作人员通过一些办公软件也能进行熟练的文件处理,所以要完善办公自动化环境,使普通用户可以通过输入数据和知识,然后制作出能读的文件.可以即时检索,瞬间向世界发送。虽然质量上比不上专家,但数量上肯定是很大的。如今发布在互联网的内容大约有数千亿,这样的庞大信息可以通过检索高效选择。

四﹑计算机B/S型结构和技术

B/S(Browser/Server)模式又称B/s结构。

这个模式是随着因特网技术的兴起,是对C/S模式的扩展。在这种结构下,工作面是通过IE等浏览面来实现的。用户通过浏览器向网络上的服务器发出请求,服务器对请求进行处理,再讲用户所需信息返回到浏览器。B模式最大的好处是运行维护比较简单,能实现不同的人员,从不同的地点,以不同的接人方式访问和操作共同的数据。最大的缺点是对企业外网环境依赖性太强,由于各种原因引起企业外网中断都会造成系统瘫痪。

B/S其本质是三层体系结构C/S模式:

第一层客户机是用客户和整体系统的接口。客户的应用程序精简到一个通用的浏览器软件,如软件公司的IE等。浏览器将HTML代码转换成图文并茂的网页。网页还具有一定的教互功能,允许用户在网页提供的申请表上填写信息提交后给后台,并提出处理请求。这个后台就是第二层的Web服务器。

第二层Web服务器将启动相应的进程来响应这一请求,并动态生成一窜HTML代码,其中嵌人处理的结果,返回给客户机的浏览器:如果客户机提出的请求包括数据的存取,Web服务器还需与数据服务器协同完成这一处理[作。

第三层数据库服务器的任务是负责协调不同的Web服务器发出的SQL请求,管理数据库。

基于B/S结构的通信结构,客户机只要安装一个浏览器(Bmwser)。如Intemet Explorer,服务器安装SQL Senver数据库。浏览器通过Web Server同数据库进行数据交互。对用户的技术要求比较低,对前端机的配置要求也较低,而且界面丰富、客户维护量小、程序分发简单、更新维护方便。它容易进行跨平台布置,容易在局域网和广域网之间进行协调,尤其适宜电子商务的应用。

技术。

随着信息流通量迅速增大,导致了商务本质的变化,这促使我们的上作方式也必须随之改变,以适应商务领域的高速成长。理光株式会社提出了时代全新的未来办公窒概念。 已不是单纯的软件话题,而已经涉及到新的商务模式,现在已经有开发的交流的平台,服务器、内容以及各式各样的服务。已经实现了服务的链接,从而提供了更为综合的服务。已经习惯互联网的一代新人,将在这样的环境中建立起他们的生活方式和工作方式。

在缩短企业和用户之间的鸿沟的同时,也改变着我们的办公环境。企业不仅可以借助绝佳的互动性,更好的满足用户的要求。而且企业自身的办公模式也正随着改变。普适计算技术的出现无疑将令随时随地迅速访问到自己所需信息的梦想得以实现,而这更将推动Web时代高效、轻松、愉快的工作方式演进。

五﹑未来办公自动化的发展趋势

计算机技术发展的迅速使得未来的办公室自动化将会有一个难以预测的发展趋势。但是,就目前的计算机技术,网络技术的发展趋势来看,未来的办公自动化将会具有以下的特点:

大量的应用视频技术。

伴随着压缩技术和视频技术的发展,视频会议等诸如此类的方面就会得到大力的推广和使用。通过摄像头,与会者不仅能够通通畅的表达自己的想法,还能够全方位的看到会议的现场情况,以及每一位与会者的表情,并能够进行有效的互动讨论。随着技术的不断的改进,未来的无线视频技术也必将成为办公自动化的重要组成部分。这样极大的减少的会与人员在交通道路上所浪费的时间,为与会者提供了一个更为广阔的信息交流平台,改善了传统的信息交流模式.极大的方便了大家的交流。

无线办公环境。

随着wi-fi技术的发展,网络通讯迅速的在办公领域兴起。这种网络办公使得传统的封闭式办公室不在成为必须,工作者可以利用网络和计算机技术随时随地的进行办公,例如:机场,饭店,异地出差以及家中等等。此外,为了保障企业内部的信息安全,企业可以依据使用权限设置不同的应用级别,设定小同的处理优先权,保障这种网络办公的安全性。这种无线网络极大的提高了办公的效率。改善了办公的环境。

灵活的工作程序。

电子传输的速度远远地大于传统的纸质文件的传输,而且,其不仅仅能够传输文字还能够有效的实现音频,视频的传输,极大的丰富传送的文件的形式,并且其还能够实现永久的保存。却不占用任何的空间。

六﹑结束语

计算机处理信息技术比人手办公更加迅速、准确,对价值信息能实现完善的管理,它可以高效能、大容量地收集、处理文件信息,帮助办公人员及时有效的完成工作,并促进单位掌握管理系统的全面情况,为下一步决策提供数据参考。随着计算机技术的大量使用,人们对办公室的自动化的要求与日俱增,现代办公室自动化与各种信息技术、多媒体技术相结合,为科学管理和决策服务,从而提高工作效率。

sql数据库期末论文

人们把客观存在的事物以数据的形式存储到计算机中,经历了对现实生活中事物特性的认识、概念化到计算机数据库里的具体表示的逐级抽象过程,即现实世界-概念世界-机器世界三个领域。有时也将概念世界称为信息世界;将机器世界称为存储或数据世界。 一、三个世界 1、现实世界 人们管理的对象存于现实世界中。现实世界的事物及事物之间存在着联系,这种联系是客观存在的,是由事物本身的性质决定的。例如学校的教学系统中有教师、学生、课程,教师为学生授课,学生选修课程并取得成绩。 2、概念世界 概念世界是现实世界在人们头脑中的反映,是对客观事物及其联系的一种抽象描述,从而产生概念模型。概念模型是现实世界到机器世界必然经过的中间层次。涉及到下面几个术语: 实体:我们把客观存在并且可以相互区别的事物称为实体。实体可以是实际事物,也可以是抽象事件。如一个职工、一场比赛等。 实体集:同一类实体的集合称为实体集。如全体职工。注意区分"型"与"值"的概念。如每个职工是职工实体"型"的一个具体"值"。 属性:描述实体的特性称为属性。如职工的职工号,姓名,性别,出生日期,职称等。 关键字:如果某个属性或属性组合的值能唯一地标识出实体集中的每一个实体,可以选作关键字。用作标识的关键字,也称为码。如"职工号"就可作为关键字。 联系:实体集之间的对应关系称为联系,它反映现实世界事物之间的相互关联。联系分为两种,一种是实体内部各属性之间的联系。另一种是实体之间的联系。 3、机器世界 存入计算机系统里的数据是将概念世界中的事物数据化的结果。为了准确地反映事物本身及事物之间的各种联系,数据库中的数据必须有一定的结构,这种结构用数据模型来表示。数据模型将概念世界中的实体,及实体间的联系进一步抽象成便于计算机处理的方式。 数据模型应满足三方面要求:一是能比较真实地模拟现实世界;二是容易为人所理解;三是便于在计算机上实现。数据结构、数据操作和完整性约束是构成数据模型的三要素。数据模型主要包括网状模型、层次模型、关系模型等,它是按计算机系统的观点对数据建模,用于DBMS的实现。 层次模型 若用图来表示,层次模型是一棵倒立的树。在数据库中,满足以下条件的数据模型称为层次模型: ① 有且仅有一个结点无父结点,这个结点称为根结点; ② 其他结点有且仅有一个父结点。 根据层次模型的定义可以看到,这是一个典型的树型结构。结点层次从根开始定义,根为第一层,根的子结点为第二层,根为其子结点的父结点,同一父结点的子结点称为兄弟结点,没有子结点的结点称为叶结点。 网状模型 在现实世界中,事物之间的联系更多的是非层次关系的,用层次模型表示非树型结构是很不直接的,网状模型则可以克服这一弊病。网状模型是一个网络。在数据库中,满足以下两个条件的数据模型称为网状模型。 ① 允许一个以上的结点无父结点; ② 一个结点可以有多于一个的父结点。 从以上定义看出,网状模型构成了比层次结构复杂的网状结构。 关系模型 在关系模型中,数据的逻辑结构是一张二维表。 在数据库中,满足下列条件的二维表称为关系模型: ① 每一列中的分量是类型相同的数据; ② 列的顺序可以是任意的; ③ 行的顺序可以是任意的; ④ 表中的分量是不可再分割的最小数据项,即表中不允许有子表; ⑤ 表中的任意两行不能完全相同。 个人版权,请勿复制

一、三个世界 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服务器来访问数据库。用户向数据库提交的信息以及数据库返回给用户的信息都是以网页的形式显示。 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部分组成(例如),其中前两部分规定了当前使用网络的管理机构,第3部分规定了当前使用的网络地址,第4部分规定了当前使用的计算机地址。 Internet上提供的主要服务有E-mail、FTP、BBS、Telnet、WWW等。其中WWW(World Wide Web,万维网)由于其丰富的信息资源而成为Internet最为重要的服务。 3.HTTP协议 HTTP协议(Hypertext Transfer Protocol,超文本传输协议)应用在WWW上,其作用是完成客户端浏览器与Web服务器端之间的HTML数据传输。 Web的工作原理与工作步骤 万维网简称为Web。Web可以描述为在Internet上运行的、全球的、交互的、动态的、跨平台的、分布式的、图形化的超文本信息系统。 1.Web的工作原理 Web是伴随着Internet技术而产生的。在计算机网络中,对于提供Web服务的计算机称为Web服务器。Web采用浏览器/服务器的工作方式。每个Web服务器上都放置着大量的Web信息。Web信息的基本单位是Web页(网页),多个网页组成了一个Web节点。每个Web节点的起始页称为“主页”,且拥有一个URL地址(统一资源定位地址)。Web节点之间及网页之间都是以超文本结构(非线性的网状结构)来进行组织的。 2.Web的工作步骤 Web的工作步骤如下。 (1)用户打开客户端计算机中的浏览器软件(例如Internet Explorer)。 (2)用户输入要启动的Web主页的URL地址,浏览器将生成一个HTTP请求。 (3)浏览器连接到指定的Web服务器,并发送HTTP请求。 (4)Web服务器接到HTTP请求,根据请求的内容不同作相应的处理,再将网页以HTML文件格式发回给浏览器。 (5)浏览器将网页显示到屏幕上. 图1-2 Web的工作步骤 WWW世界中的标记语言 1.HTML语言 HTML(Hypertext Markup Language,超文本标记语言)是创建网页的计算机语言。所谓网页实际上就是一个HTML文档。文档内容由文本和HTML标记组成。HTML文档的扩展名就是.html或.htm。浏览器负责解释HTML文档中的标记,并将HTML文档显示成网页。 (1)HTML标记 HTML标记的作用是告诉浏览器网页的结构和格式。每一个标记用尖括号<>括起来。大多数标记都有一个开始标记和一个结束标记。标记不分大小写。多数标记都带有自己的属性。例如字体标记有FACE、COLOR、SIZE等属性:FACE定义字体;COLOR定义字体的颜色;SIZE定义字体的大小。 使用格式: BEIJING 。 网页中有很多文本链接和图片链接。链接,又被称为超链接,用于链接到WWW万维网中的其他网页上。在HTML文档中表示超链接的标记是,通过属性HREF指出链接的网页地址URL。 使用格式: BEIJING 。 (2)HTML程序 HTML程序必须以标记开始,以标记结束。在和标记之间主要由两部分组成:文件头和文件体。文件头用标记 来标识,文件体用标记来标识。在文件的头部通常包含整个网页的一些信息。例如标记是用来说明网页的名称;标记是用来说明网页的其他信息,如设计者姓名和版权信息等。所有在浏览器中要显示的内容称为网页的主体,必须放在标记中。下面给出的是一个空网页的HTML程序。 (在此标记中写网页的标题) (在此标记中写网页的内容) (3)HTML规范 HTML规范又称为HTML标准,它总在不断地发展。每一新版本的出现,HTML都会增加新的特性和内容。有关HTML版本的详细信息请访问网站。 在不同的浏览器中,网页的显示效果可能会有所不同。每一个浏览器都使用自己独特的方式解释HTML文档中的标记,并且多数浏览器不完全支持HTML的所有特性。因为,像Microsoft和Netscape公司在HTML标准上又开发了一些特有的HTML标记和属性,称之为HTML的扩展。这些标记和属性只被他们自己的浏览器所识别,不可能被其他公司的浏览器识别。如果浏览器不能识别HTML文档中的标记,则会忽略这个标记。 (4)HTML程序的编辑环境与运行环境 HTML文档是一个普通的文本文件(ASCII),不包含任何与平台、程序有关的信息。因此HTML文档可以利用任何文本编辑器来方便地生成。要注意的是HTML文档的扩展名必须是.html或.htm。运行HTML文档可以在任何浏览器下进行,并可在浏览器上查看网页的HTML源代码。 关于HTML语言中标记的种类与使用方法将会在第5章中更详细地进行介绍。 2.可扩展标记语言(XML) HTML是Web上的通用语言,随着Internet的深入人心,WWW上的Web文件日益复杂化、多样化,人们开始感到了HTML这种固定格式的标记语言的不足。1996年W3C开始对HTML的后续语言进行研究,并于1998年正式推出了XML(Extensible Markup Language,可扩展标记语言)。在设计网页时,XML提供了比HTML更灵活的方法。 (1)XML语言的特点 XML是国际组织W3C为适应WWW的应用,将SGML (Standard Generalized Markup Language)标准进行简化形成的元标记语言。简单地说,XML是使用标记来描述内容或与内容相关的形式信息的通用语言。一个XML文档由标记和字符数据组成。 而作为元标记语言,XML不再使标记固定,允许网页的设计者定义数量不限的标记来描述内容,同时还允许设计者创建自己的使用规则。 (2)XML的DTD DTD(Document Type Definition,文档类型定义)是一组应用在XML文档中的自定义标记语言的技术规范。DTD中定义了标记的含义及关于标记的语法规则。语法规则中确定了在XML文档中使用哪些标记符,它们应该按什么次序出现,标记符之间如何 嵌套,哪些标记符有属性等等。DTD可以包含在它所描述的XML文档中,但通常它是一份单独的文档或者一系列文档。作为外部文件可通过URL链接,被不同的XML文档 共享。 XML把DTD的定义权开放,不同行业可以根据自己的实际需求定义描述内容的DTD,以适应本行业内部的信息交流和存档需要。因此,适合于不同行业、不同平台的标记语言大批涌现。 (3)XML的CSS与XSL 强调内容描述与形式描述的分离,一方面可以使XML文件的编写者更集中精力于数据本身,而不受显示方式的细节影响;另一方面允许为相同的数据定义不同的显示方式,从而适合于不同应用、不同媒体,使XML数据得到最大程度的重用。XML文档数据的显示形式是通过样式单定义的。CSS(Cascading Style Sheets)是XML使用的一种标准的级联样式单,XSL(Extensible Style Language)则是可扩展的样式语言。 由于XML允许用户创建任何所需的标记,而通用浏览器却既无法预期用户标记的意义,又无法为显示这些标记而提供规则,因此用户必须为自己创建的XML文档编写样式单,样式单可以实现共享。 浏览器对一个XML文档的处理过程是,首先去关联它所指定的样式单文件,如果该样式单是一个XSL文件,则按照规定对XML数据进行转换然后再显示,XSL本身也是基于XML语言的,可以将XML转化为HTML后再显示。如果该样式单是一个CSS文件,浏览器就会按照样式单的规定给每个标记赋予一组样式后再显示。 Web数据库访问技术 Web数据库访问技术通常是通过三层结构来实现的,如图1-3所示。目前建立与Web数据库连接访问的技术方法可归纳为CGI技术,ODBC技术和ASP、JSP、PHP 技术。 Web数据库访问的三层结构 CGI技术 CGI(Common Cateway Interface,通用网关界面)是一种Web服务器上运行的基于Web浏览器输入程序的方法,是最早的访问数据库的解决方案。CGI程序可以建立网页与数据库之间的连接,将用户的查询要求转换成数据库的查询命令,然后将查询结果通过网页返回给用户。一个CGI工作的基本原理如图1-4所示。 CGI程序需要通过一个接口才能访问数据库。这种接口多种多样,数据库系统对CGI程序提供了各种数据库接口如Perl、C/C++、VB等。为了使用各种数据库系统,CGI程序支持ODBC方式,通过ODBC接口访问数据库。 CGI工作流程 ODBC技术 ODBC(Open Database Connectivity,开放数据库互接)是一种使用SQL的应用程序接口(API)。ODBC最显著的优点就是它生成的程序与数据库系统无关,为程序员方便地编写访问各种DBMS的数据库应用程序提供了一个统一接口,使应用程序和数据库源之间完成数据交换。ODBC的内部结构为4层:应用程序层、驱动程序管理器层、驱动程序层、数据源层。它们之间的关系如图1-5所示。由于ODBC适用于不同的数据库产品,因此许多服务器扩展程序都使用了包含ODBC层的系统结构。 ODBC的内部结构 Web服务器通过ODBC数据库驱动程序向数据库系统发出SQL请求,数据库系统接收到的是标准SQL查询语句,并将执行后的查询结果再通过ODBC传回Web服务器,Web服务器将结果以HTML网页传给Web浏览器,工作原理如图1-6所示。 Web服务器通过ODBC访问数据库 由于Java语言所显示出来的编程优势赢得了众多数据库厂商的支持。在数据库处理方面,Java提供的JDBC为数据库开发应用提供了标准的应用程序编程接口。与ODBC类似,JDBC也是一种特殊的API,是用于执行SQL语句的Java应用程序接口。它规定了Java如何与数据库之间交换数据的方法。采用Java和JDBC编写的数据库应用程序具有与平台无关的特性。 ASP、JSP、PHP技术 ASP是Microsoft开发的动态网页技术,主要应用于Windows NT+IIS或 Windows 9x+PWS平台。确切地说ASP不是一种语言,而是Web服务器端的开发环境。利用ASP可以产生和运行动态的、交互的、高性能的Web服务应用程序。ASP支持多种脚本语言,除了VBScript和Pscript,也支持Perl语言,并且可以在同一ASP文件中使用多种脚本语言以发挥各种脚本语言的最大优势。但ASP默认只支持VBScript和Pscript,若要使用其他脚本语言,必须安装相应的脚本引擎。ASP支持在服务器端调用ActiveX组件ADO对象实现对数据库的操作。在具体的应用中,若脚本语言中有访问数据库的请求,可通过ODBC与后台数据库相连,并通过ADO执行访问库的操作。关于ASP的编程技术将会在第7章中详细介绍。 JSP是Sun公司推出的新一代Web开发技术。作为Java家族的一员,几乎可以运行在所有的操作系统平台和Web服务器上,因此JSP的运行平台更为广泛。目前JSP支持的脚本语言只有Java。JSP使用JDBC实现对数据库的访问。目标数据库必须有一个JDBC的驱动程序,即一个从数据库到Java的接口,该接口提供了标准的方法使Java应用程序能够连接到数据库并执行对数据库的操作。JDBC不需要在服务器上创建数据源,通过JDBC、JSP就可以实现SQL语句的执行。 PHP是Rasmus Lerdorf推出的一种跨平台的嵌入式脚本语言,可以在Windows、UNIX、Linux等流行的操作系统和IIS、Apache、Netscape等Web服务器上运行,用户更换平台时,无需变换PHP代码。PHP是通过Internet合作开发的开放源代码软件,它借用了C、Java、Perl语言的语法并结合PHP自身的特性,能够快速写出动态生成页面。PHP可以通过ODBC访问各种数据库,但主要通过函数直接访问数据库。PHP支持目前绝大多数的数据库,提供许多与各类数据库直接互连的函数,包括Sybase、Oracle、SQL Server等,其中与SQL Server数据库互连是最佳组合。 网络数据库应用系统的层次体系 当前,Internet/Intranet技术发展异常迅速,越来越多的数据库应用软件运行在Internet/Intranet环境下。在此之前,数据库应用系统的发展经历了单机结构、集中式结构、客户机/服务器(C/S)结构之后,随着Internet的普及,又出现了浏览器/服务器(B/S)结构与多层结构。在构造一个应用系统时,首先考虑的是系统的体系结构,采用哪种结构取决于系统的网络环境、应用需求等因素。 客户机/服务器结构 1.二层C/S结构 二层C/S结构是当前非常流行的数据库系统结构,在这种结构中,客户机提出请求,服务器对客户机的服务请求做出回答。它把界面和数据处理操作分开在前端(客户端)和后端(服务器端),这个主要特点使得C/S系统的工作速度主要取决于进行大量数据操作的服务器,而不是前端的硬件设备;同时也大大降低了对网络传输速度的要求,因为只须客户端把服务请求发送给数据库服务器,数据库服务器只把服务结果传回前端,如图1-7所示。 在设计时,对数据可能有如下不同的处理形式。 (1)在处理时,客户机先向服务器索取数据,然后释放数据库,即客户机发出的是文件请求,在客户机端处理数据,最后将结果送回服务器。这种处理方式的缺点很明显:所有的应用处理都在客户端完成,这就要求客户端的计算机必须有足够的能力,以便执行需要的任何程序。更为糟糕的是,由于所有的处理均在客户端完成,每次运行时都要将文件整体传送到客户端,然后才能执行。如:Student表中有30 000条记录,客户端发出命令: Select * From Student Where Sno='200101' 这条命令将要求服务器将Student表中的所有记录传送到客户端,然后在客户端执行查询,结果只用到一条记录;如果查询的记录不存在,网络传输的数据实际上是无 用的。如此大的数据传输量是不可想象的。因此,人们提出了在服务器中能够执行部分代码的客户机/服务器结构。 (2)在处理时,客户机接受用户要求,并发给服务器;在服务器端处理用户要求,最后将结果传回客户机显示或打印。这种处理方式网络通信量较小。客户机向服务器发出的是处理请求,而不是文件请求,处理请求中的代码在服务器端执行后向客户机传送处理后的结果。 这样,为了特定任务,客户机上的程序和服务器上的程序协同工作:客户机端的代码用于完成用户的输入输出及数据的检查,而服务器端的代码完成对数据库的操作。 客户机/服务器结构的另一个主要特点在于软件、硬件平台的无关性。数据库服务器上的数据库管理系统集中负责管理数据,它向客户端提供一个开放的使用环境,客户端通过数据库接口,如ODBC(开放数据库连接)和SQL语言访问数据库,也就是说,不管客户端采用什么样的硬件和软件,它只要能够通过网络和数据库接口程序连接到服务器,就可对数据库进行访问。 在客户机/服务器结构中,常把客户机称为前台,而把服务器端称为后台。前台应用程序的功能包括用户界面、接收用户数据、处理应用逻辑、向后台发出请求、同时接收后台返回的结果,最后再将返回的结果按一定的格式或方式显示给用户。而后台服务器则负责共享外部设备、存取共享数据、响应前台客户端的请求并回送结果等工作。前台的应用程序和数据一般是用户专用的,而后台的数据和代码是所有用户可以共享的。 由于数据库服务器不仅要管理共享数据,保证数据的完整性,还要执行一部分代码,完成客户端的一些处理请求,所以对用于服务器的计算机提出较高的要求。最好要采用一台专用的服务器,有较快的处理速度,有大容量的硬盘和内存,支持磁带等大容量的存储设备。 上面讲的客户机/服务器结构将应用分在了客户机、服务器两级,称其为两层客户机/ 服务器结构。总之,两层C/S结构的基本工作方式是客户程序向数据库服务器发送SQL请求,服务器返回数据或结果。 这种C/S结构有两种实现方式,一种是客户来完成表示部分和应用逻辑部分,而服务器完成数据访问部分,这种情况是以客户为中心的,适用于应用相对简单、数据访问量不是很大的情况。另一种是以服务器为中心的,把一些重要的应用逻辑部分放到服务器上,这样可充分利用服务器的计算能力,减少网络上需要传送的数据。通常以存储过程和触发器的形式出现,但存储过程都依赖于特定数据库,不同数据库之间很难移植,而三层C/S结构可以很好地解决这个问题。 注意:触发器(trigger)是数据库系统中,一个在插入、删除、修改操作之后运行的记录级事件代码。不同的事件可以对应不同的动作。通常有3种类型的触发器:INSERT触发器、DELETE触发器和UPDATE触发器。 2.三层C/S结构 由于两层结构的客户机/服务器系统本身固有的缺陷,使得它不能应用于一些大型、结构较为复杂的系统中,故出现了3层结构的客户机/服务器系统,将两层结构中服务器部分和客户端部分的应用单独划分出来,即采用“客户机—应用服务器—数据库服务器”结构(如图1-8所示)。典型的数据库应用可分为三部分:表示部分、应用逻辑(商业逻辑)部分和数据访问部分,三层结构便是对应于这三部分。 图1-8 三层C/S结构 其中,应用服务器和数据库服务器可位于同一主机,也可位于不同主机。客户机是应用的用户接口部分,负责用户与应用程序的交互,运行在客户机端的软件也称为表示层软件。应用服务器存放业务逻辑层(也称为功能层)软件,是应用逻辑处理的核心,实现具体业务。它能响应客户机请求,完成业务处理或复杂计算。若有数据库访问任务时,应用服务器层可根据客户机的要求向数据库服务器发送SQL指令。应用逻辑变得复杂或增加新的应用时,可增加新的应用服务器。数据库服务器便是用来执行功能层送来的SQL指令,完成数据的存储、访问和完整性约束等。操作完成后再通过应用服务器向客户机返回操作结果。 浏览器/服务器结构 随着Internet技术和Web技术的广泛应用,C/S结构已无法满足人们的需要。因为在典型C/S体系中,通常为客户安装前端应用程序的做法已不再现实,并且限制客户端工作环境只能基于Windows、Macintosh或UNIX等操作系统也不切实际。于是基于浏览器/服务器结构(Browser/Server)的系统应运而生。 采用B/S结构后,在客户端只需安装一个通用的浏览器即可,不再受具体操作系统和硬件的制约,实现了跨平台的应用。 基于B/S结构的典型应用通常采用三层结构:“浏览器—Web服务器—数据库服务器”,B/S模式的工作原理是:通过浏览器以超文本的形式向Web服务器提出访问数据库的请求,Web服务器接受客户请求后,激活对应的CGI程序将超文本HTML语言转化为SQL语法,将这个请求交给数据库,数据库服务器得到请求后,进行数据处理,然后将处理结果集返回给CGI程序。CGI再将结果转化为HTML,并由Web服务器转发给请求方的浏览器,如图1-9所示。 图1-9 B/S工作原理 在B/S模式中,客户端的标准配置是浏览器,如IE;业务功能处理由独立的应用服务器处理,Web服务器成为应用处理的标准配置;数据处理仍然由数据库服务器处理。 从本质上讲,B/S结构与传统的C/S结构都是以同一种请求和应答方式来执行应用的,区别主要在于:C/S是一种两层或三层结构模式,其客户端集中了大量应用软件,而B/S是一种基于超链接(HyperLink)、HTML、Java的三级或多级C/S结构,客户端仅需单一的浏览器软件,是一种全新的体系结构,解决了跨平台问题。到目前,这两种结构在不同方面都有着广泛的应用。虽然C/S结构在Internet环境下明显不如B/S结构具有优势,但它在局域网环境下仍具有优势。 Internet/Intranet信息系统的多层体系结构 多层结构应用软件与传统的两层结构应用软件相比,有可伸缩性好、可管理性强、安全性高、软件重用性好等诸多优点,如何在Internet/Intranet环境下构建应用软件体系结构就成为一个非常重要的问题,也是现今软件体系研究的一个新热点。 目前各种技术层出不穷,如最初的静态HTML页面、简单的CGI网关程序、Java Applet程序,现在的ASP等Web数据库技术,还有动态的Java在线游戏及PHP技术等。 实际上,多层的概念是由Sun公司提出来的。Sun公司提出的多层应用体系包括4层:客户层、顶端Web服务层、应用服务层和数据库层。其中顶端Web服务层是Sun公司多层体系结构中非常重要的一层,它主要起代理和缓存的作用。顶端Web服务器的作用是缓存本地各客户机经常使用的Java Applet程序和静态数据,通常被放置在客户机所在的局域网内,起到一个Java Applet主机(向Web浏览器传送Java Applet程序的计算机)和访问其他服务的代理作用。与普通代理服务器的作用相同。构建多层结构应用软件时,选用Java平台是一个很好的选择,因为它跨越各应用平台。总之,在Java平台上构建多层应用软件体系代表着今后Internet/Intranet应用的趋势。

论文你可以去知网看看相关资料

不知道有没有你要的。

sql数据库的设计论文

数据库完整性(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工具能够支持整个数据库的生命周期,这将使数据库设计人员的工作效率得到很大提高,同时也容易与用户沟通。你可以围绕相关内容发表自己的看法

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语句的优化 优化排序操作排序的成本十分高昂,当在查询语句中使用了引起结果集排序的谓词时,SQL性能必然受到影响。 排序过程分析当待排序数据集不是太大时,服务器在内存(排序区)完成排序操作,如果排序需要更多的内存空间,服务器将进行如下处理:(1) 将数据分成多个小的集合,对每一集合进行排序。(2) 服务器向磁盘申请临时空间,将排好序的中间结果写入临时段,再对另外的集合进行排序。(3) 在所有的集合均排好序后,服务器再将它们进行合并得到最终的结果,如果排序区尺寸太小,合并无法一次完成时,将分多次进行。从上述分析可知,排序是一种十分昂贵的操作,它消耗大量的CPU时间和内存,触发磁盘分页和交换操作,因此只要有可能,我们就应该在SQL语句中尽量避免排序操作。 SQL中引起排序的操作SQL查询语句中引起排序的操作大致有:ORDER BY 和GROUP BY 从句;DISTINCT修饰符;UNION、INTERSECT、MINUS集合操作符;多表连接时的排序合并连接(SORT MERGE JOIN)等。 如何避免排序1)建立恰当的索引对经常进行排序和连接操作的字段建立索引。在建立索引后,当服务器向这些字段发出排序请求时,将直接引用索引而不进行排序操作;当进行等值连接查询操作时,若建立连接的字段未建立索引,服务器进行的是排序合并连接(SORT MERGE JOIN),连接操作的过程如下:对进行连接的两个或多个表分别进行全扫描;对每一个表中的行集分别进行全排序;合并排序结果。如果建立连接的字段已建立索引,服务器进行嵌套循环连接(NESTED LOOP JOINS),该连接方式不需要任何排序,其过程如下:对驱动表进行全表扫描;对返回的每一行利用连接字段值实施索引惟一扫描;利用从索引扫描中返回的ROWID值在从表中定位记录;合并主、从表中的匹配记录。因此,建立索引可避免多数排序操作。2)用UNIION ALL替换UNIONUNION在进行表链接后会筛选掉重复的记录,所以在表链接后会对所产生的结果集进行排序运算,删除重复的记录再返回结果。大部分应用中是不会产生重复记录的,最常见的是过程表与历史表UNION 。因此,采用UNION ALL操作符替代UNION,因为UNION ALL操作只是简单的将两个结果合并后就返回。 优化I/O过多的I/O操作会占用CPU时间、消耗大量内存和占用过多的栓锁,因此有必要对SQL的I/O进行优化。优化I/O的最有效方式就是用索引扫描代替全表扫描。 应用基于函数的索引基于函数的索引(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查询性能的优化作用越明显。 应用物化视图和查询重写物化视图是一个预计算结果集,其中通常包含聚集与多表连接等复杂操作。数据库自动维护物化视图,且随用户的要求进行刷新。查询重写机制就是用数据库中的替代对象(如物化视图)将用户提交的查询重写为完全不同但功能等价的查询。查询重写对用户透明,用户完全按常规编写访问数据库的查询语句,优化程序(CBO)自动决定是否对用户提交的查询进行重写。查询重写是提高查询性能的一种非常有效的方法,尤其是在数据仓库环境中针对汇总、多表连接以及其它高成本的操作方面。下面以一个非常简单的例子来演示物化视图和查询重写在优化SQL查询性能方面的作用。select ,,count(*)from emp,deptwhere by ,查询计划及主要统计数据如下:执行计划:-----------------------------------------……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 ,,count(*)from emp,deptwhere by ,再次执行查询,执行计划及主要统计数据如下:执行计划:-------------------------------------……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。 将频繁访问的小表读入CACHE逻辑I/O总是快于物理I/O。如果数据库中存在被应用程序频繁访问的小表,可将这些表强行读入KEEP池,从而避免物理I/O的发生。 多表连接优化最能体现查询复杂性的就是多表连接,多表连接操作往往要耗费大量的CPU时间和内存,因此多表连接查询性能优化往往是SQL优化的重点与难点。 消除外部连接通过消除外部连接,不仅使得到的查询更易于读取,而且性能也经常可以得到改善。一般的思路是,有以下形式的查询:SELECT …, SOME_TABLE,OUTER_JOINED_TO_TABLEWHERE …=OUTER_JOINED_TO_TABLE(+)可转换为如下形式的查询:SELECT …,(SELECT COLUMN FROM OUTER_ JOINED_TO_TABLE WHERE …)FROM SOME_TABLE; 谓词前推,优化中间结果多表连接的性能低下多数是因为连接操作与过滤操作的次序不合理,大多数用户在编写多表连接查询时,总是先进行连接操作再应用过滤条件,这导致服务器做了太多的无用功。针对这类问题,其优化思路就是尽可能将过滤谓词前推,使不符合条件的记录提前被筛选掉,只对符合条件的少数记录进行连接处理,这样可成倍的提高SQL查询效能。标准连接查询如下:Select ,sum(),sum(),sum()From product a,tele_sale b,online_sale c,store_sale dWhere and And >sysdate-90Group by ;启用内嵌视图,且将条件>sysdate-90前移,优化后代码如下:Select ,,, From product a,(select sum(sal_quant) tele_sale_sum from product,tele_saleWhere >sysdate-90 and =) b,(select sum(sal_quant) online_sale_sumfrom product,tele_saleWhere >sysdate-90 and =) c,(select sum(sal_quant) store_sale_sumfrom product,store_saleWhere >sysdate-90 and =) d,Where and ;5 结束语SQL语言在数据库应用中占有非常重要的地位,其性能的优劣直接影响着整个信息系统的可用性。论文从影响SQL性能的最主要的三个方面入手,分析了如何优化SQL查询的I/O、避免高成本的排序操作和优化多表连接。需要强调的一点是,理解SQL语句所解决的问题比SQL调优本身更重要,因此SQL调优需要系统分析人员、开发人员和数据库管理员密切协作。参考文献[1]Thomas 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()[OL/M],. [4] Oracle9i Data Warehousing Guide release 2() [OL/M],. [5]Alexey Danchenkov,Donald Burleson,Oracle Tuning:The Definitive Reference[OL/M],Rampant Techpress,2006.[6] Oracle9i Database Concepts release 2() [OL/M],. [7] Oracle9i supplied plsql packages and types reference release 2() [OL/M],. http:// technology/

留个邮箱 我发送给你

难啊,数据库完整性连微软自己也没搞明白

sql数据库的实际应用论文

数据库完整性(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、提要:是文章主要内容的摘录,要求短、精、完整。字数少可几十字,多不超过三百字为宜。4、关键词或主题词:关键词是从论文的题名、提要和正文中选取出来的,是对表述论文的中心内容有实质意义的词汇。关键词是用作机系统标引论文内容特征的词语,便于信息系统汇集,以供读者检索。 每篇论文一般选取3-8个词汇作为关键词,另起一行,排在“提要”的左下方。主题词是经过规范化的词,在确定主题词时,要对论文进行主题,依照标引和组配规则转换成主题词表中的规范词语。5、论文正文:(1)引言:引言又称前言、序言和导言,用在论文的开头。 引言一般要概括地写出作者意图,说明选题的目的和意义, 并指出论文写作的范围。引言要短小精悍、紧扣主题。〈2)论文正文:正文是论文的主体,正文应包括论点、论据、 论证过程和结论。主体部分包括以下内容:a.提出-论点;b.分析问题-论据和论证;c.解决问题-论证与步骤;d.结论。6、一篇论文的参考文献是将论文在和写作中可参考或引证的主要文献资料,列于论文的末尾。参考文献应另起一页,标注方式按《GB7714-87文后参考文献著录规则》进行。中文:标题--作者--出版物信息(版地、版者、版期):作者--标题--出版物信息所列参考文献的要求是:(1)所列参考文献应是正式出版物,以便读者考证。(2)所列举的参考文献要标明序号、著作或文章的标题、作者、出版物信息。

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语句的优化 优化排序操作排序的成本十分高昂,当在查询语句中使用了引起结果集排序的谓词时,SQL性能必然受到影响。 排序过程分析当待排序数据集不是太大时,服务器在内存(排序区)完成排序操作,如果排序需要更多的内存空间,服务器将进行如下处理:(1) 将数据分成多个小的集合,对每一集合进行排序。(2) 服务器向磁盘申请临时空间,将排好序的中间结果写入临时段,再对另外的集合进行排序。(3) 在所有的集合均排好序后,服务器再将它们进行合并得到最终的结果,如果排序区尺寸太小,合并无法一次完成时,将分多次进行。从上述分析可知,排序是一种十分昂贵的操作,它消耗大量的CPU时间和内存,触发磁盘分页和交换操作,因此只要有可能,我们就应该在SQL语句中尽量避免排序操作。 SQL中引起排序的操作SQL查询语句中引起排序的操作大致有:ORDER BY 和GROUP BY 从句;DISTINCT修饰符;UNION、INTERSECT、MINUS集合操作符;多表连接时的排序合并连接(SORT MERGE JOIN)等。 如何避免排序1)建立恰当的索引对经常进行排序和连接操作的字段建立索引。在建立索引后,当服务器向这些字段发出排序请求时,将直接引用索引而不进行排序操作;当进行等值连接查询操作时,若建立连接的字段未建立索引,服务器进行的是排序合并连接(SORT MERGE JOIN),连接操作的过程如下:对进行连接的两个或多个表分别进行全扫描;对每一个表中的行集分别进行全排序;合并排序结果。如果建立连接的字段已建立索引,服务器进行嵌套循环连接(NESTED LOOP JOINS),该连接方式不需要任何排序,其过程如下:对驱动表进行全表扫描;对返回的每一行利用连接字段值实施索引惟一扫描;利用从索引扫描中返回的ROWID值在从表中定位记录;合并主、从表中的匹配记录。因此,建立索引可避免多数排序操作。2)用UNIION ALL替换UNIONUNION在进行表链接后会筛选掉重复的记录,所以在表链接后会对所产生的结果集进行排序运算,删除重复的记录再返回结果。大部分应用中是不会产生重复记录的,最常见的是过程表与历史表UNION 。因此,采用UNION ALL操作符替代UNION,因为UNION ALL操作只是简单的将两个结果合并后就返回。 优化I/O过多的I/O操作会占用CPU时间、消耗大量内存和占用过多的栓锁,因此有必要对SQL的I/O进行优化。优化I/O的最有效方式就是用索引扫描代替全表扫描。 应用基于函数的索引基于函数的索引(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查询性能的优化作用越明显。 应用物化视图和查询重写物化视图是一个预计算结果集,其中通常包含聚集与多表连接等复杂操作。数据库自动维护物化视图,且随用户的要求进行刷新。查询重写机制就是用数据库中的替代对象(如物化视图)将用户提交的查询重写为完全不同但功能等价的查询。查询重写对用户透明,用户完全按常规编写访问数据库的查询语句,优化程序(CBO)自动决定是否对用户提交的查询进行重写。查询重写是提高查询性能的一种非常有效的方法,尤其是在数据仓库环境中针对汇总、多表连接以及其它高成本的操作方面。下面以一个非常简单的例子来演示物化视图和查询重写在优化SQL查询性能方面的作用。select ,,count(*)from emp,deptwhere by ,查询计划及主要统计数据如下:执行计划:-----------------------------------------……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 ,,count(*)from emp,deptwhere by ,再次执行查询,执行计划及主要统计数据如下:执行计划:-------------------------------------……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。 将频繁访问的小表读入CACHE逻辑I/O总是快于物理I/O。如果数据库中存在被应用程序频繁访问的小表,可将这些表强行读入KEEP池,从而避免物理I/O的发生。 多表连接优化最能体现查询复杂性的就是多表连接,多表连接操作往往要耗费大量的CPU时间和内存,因此多表连接查询性能优化往往是SQL优化的重点与难点。 消除外部连接通过消除外部连接,不仅使得到的查询更易于读取,而且性能也经常可以得到改善。一般的思路是,有以下形式的查询:SELECT …, SOME_TABLE,OUTER_JOINED_TO_TABLEWHERE …=OUTER_JOINED_TO_TABLE(+)可转换为如下形式的查询:SELECT …,(SELECT COLUMN FROM OUTER_ JOINED_TO_TABLE WHERE …)FROM SOME_TABLE; 谓词前推,优化中间结果多表连接的性能低下多数是因为连接操作与过滤操作的次序不合理,大多数用户在编写多表连接查询时,总是先进行连接操作再应用过滤条件,这导致服务器做了太多的无用功。针对这类问题,其优化思路就是尽可能将过滤谓词前推,使不符合条件的记录提前被筛选掉,只对符合条件的少数记录进行连接处理,这样可成倍的提高SQL查询效能。标准连接查询如下:Select ,sum(),sum(),sum()From product a,tele_sale b,online_sale c,store_sale dWhere and And >sysdate-90Group by ;启用内嵌视图,且将条件>sysdate-90前移,优化后代码如下:Select ,,, From product a,(select sum(sal_quant) tele_sale_sum from product,tele_saleWhere >sysdate-90 and =) b,(select sum(sal_quant) online_sale_sumfrom product,tele_saleWhere >sysdate-90 and =) c,(select sum(sal_quant) store_sale_sumfrom product,store_saleWhere >sysdate-90 and =) d,Where and ;5 结束语SQL语言在数据库应用中占有非常重要的地位,其性能的优劣直接影响着整个信息系统的可用性。论文从影响SQL性能的最主要的三个方面入手,分析了如何优化SQL查询的I/O、避免高成本的排序操作和优化多表连接。需要强调的一点是,理解SQL语句所解决的问题比SQL调优本身更重要,因此SQL调优需要系统分析人员、开发人员和数据库管理员密切协作。参考文献[1]Thomas 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()[OL/M],. [4] Oracle9i Data Warehousing Guide release 2() [OL/M],. [5]Alexey Danchenkov,Donald Burleson,Oracle Tuning:The Definitive Reference[OL/M],Rampant Techpress,2006.[6] Oracle9i Database Concepts release 2() [OL/M],. [7] Oracle9i supplied plsql packages and types reference release 2() [OL/M],. http:// technology/

难啊,数据库完整性连微软自己也没搞明白

相关百科
热门百科