1、6.1 DBMS 简介DBMS是一种负责数据库的定义、建立、操作、管理和维护的软件系统,其职能是有效地实现数据库三级模式之间的转换。DBMS是数据库系统的核心,是介于用户和OS之间的系统软件,它实现对共享数据的有效组织、管理和各种操作。DBMS建立在OS之上,需要OS的支持。DBMS是用户操纵、管理DB的工具。用户应用程序DBMSOSDB6.1 DBMS 简介1.DBMS1.DBMS的特点与功能的特点与功能DBMSDBMS具备如下特点具备如下特点( (目标目标) ):(1)完备高效DBMS应提供完备的数据库管理功能,具有高的系统效率和高的用户生产率。应提供支持高效存取的数据结构,以实现对于大量
2、数据的持久存储,具有较高的数据独立性。(2)界面友好DBMS的用户接口应面向应用、面向用户。需提供方便的编程接口,以建立应用程序访问数据库的通道;使用户可通过多种方式、易用的语言对数据库进行复杂操作。6.1 DBMS 简介(3)事务管理DBMS支持多个用户进程同时对数据进行存取操作,引入了“事务”的概念来实现对多个用户数据库访问的管理。事务是数据库恢复及并发控制的基本单位,通过事务管理可有效地支持多用户操作,支持数据库的安全性和完整性。事务管理是DBMS的基本功能之一。(4)结构清晰DBMS是一个复杂的软件系统,向上与应用程序通信,向下与操作系统及其他软、硬件资源交互。因此,结构清晰、层次分明
3、的DBMS有利于支持外层开发环境的构造,也便于自身的设计、开发和维护,同时有利于数据库系统的扩展。_x0013_6.1 DBMS 简介(5)规范开放开放的DBMS首先应符合标准和规范;其次,具备可伸缩性以及互操作性。DBMS不仅为建立以其为核心的软件开发环境或应用系统提供支持,也为DBMS自身的再开发创造条件。DBMS的功能:(1)数据定义数据定义包括定义构成数据库结构的外模式、模式和内模式,定义各个外模式与模式之间的映射,定义模式与内模式之间的映射,定义有关的约束条件。(2)数据操纵数据操纵包括对数据库数据的查询、插入、修改和删除等基本操作。 (3)数据组织、存储和管理确定以何种文件结构和存
4、取方式物理地组织这些数据,如何实现数据之间的联系,以便提高存储空间利用率以及提高随机查找、顺序查找、增删改等操作的时间效率。6.1 DBMS 简介(4)数据库运行管理对数据库的运行进行管理是DBMS运行时的核心工作,包括对数据库进行并发控制、安全性检查、完整性约束条件的检查和执行、数据库的内部维护等。所有访问数据库的操作都要在这些控制程序的统一管理下进行,以保证数据的安全性、完整性、一致性以及多用户对数据库的并发使用。(5)数据库的建立与维护建立数据库包括数据库初始数据的输入与数据转换等。维护数据库包括数据库的转储与恢复、数据库的重组织与重构造、性能的监视与分析等。 (6)数据通信接口DBMS
5、需要提供与其他软件系统进行通信的功能。6.1 DBMS 简介2.DBMS2.DBMS的组成的组成为提供上述6个方面的功能,DBMS的核心通常由以下4部分组成:(1) 数据定义语言及其翻译处理程序DBMS一般都提供数据定义语言DDL供用户定义数据库的外模式、模式、内模式、各级模式之间的映射、有关的约束条件等。(2) 数据操纵语言及其编译(或解释)程序DBMS提供了数据操纵语言DML实现对数据库的查询检索、插入、修改、删除等基本操作。DML分为宿主型和主动型两种。宿主型不能独立使用,必须嵌入到主语言中。自主型是交互式命令语言,语法简单,可以独立使用。 (3) 数据库运行控制程序 (4) 实用程序
6、6.1 DBMS 简介(3) 数据库运行控制程序 DBMS提供了一些负责数据库运行过程中的控制与管理的系统运行控制程序,包括系统初启程序、文件读写与维护等。它们在数据库运行过程中监视对数据库的所有操作,控制管理数据库资源,处理多用户的并发操作等。(4) 实用程序 DBMS通常还提供一些服务性程序,包括数据初始装入程序、数据转储程序、数据库恢复程序、性能检测程序、数据库再组织程序、数据转换程序、通信程序等。数据库用户可利用这些实用程序完成数据库的建立与维护,以及数据通信与格式的转换。6.1 DBMS 简介3.DBMS3.DBMS运行环境运行环境 随着网络技术逐渐成熟和实用化,DBMS的运行环境也
7、由单机到网络,集中到分布,封闭到开放。(1)分布v数据分布:数据物理地分布在网络的不同节点上,各节点的数据是一个统一的整体,由系统的用户共享。v功能分布:在网络环境下,数据管理功能分散在客户端和服务器端完成。v处理分布:由多台计算机合成、协调地完成某一任务。6.1 DBMS 简介(2)开放v开放的硬件平台:能在各种硬件平台上运行。v开放的支撑软件:可在多种操作系统环境下运行。v开放的网络支持:支持各种重要的网络协议。v异质数据库的互连、互操作:解决异质数据库的通信和存取。v开放的用户界面:即提供给用户统一的语言界面和可移植的应用开发工具。6.1 DBMS 简介简介4. 用户访问数据库的工作过程
8、整个数据库系统的工作过程大致归纳为以下三个阶段:(1)数据库管理员建立并维护数据库。DBA利用模式、内模式DDL等语言,描述数据库的总体逻辑结构,安置数据在库中的存放方式和位置,并通过各种维护管理程序去建立、更新或删除有关数据,维护管理和控制系统运行及日常工作。(2)用户编写应用程序。用户利用外模式DDL语言定义自己的外模式,用DML语言编写所需操作命令,并将其嵌入到主语言的程序中。(3)应用程序在DBMS支持下运行。当模式、内模式、外模式和用户源程序翻译为目标代码后,即可启动目标程序执行,完成数据库操作。6.1 DBMS 简介简介 系统缓冲区概念模式内模式DBMS OS 外部记录存储记录数据
9、库 应用程序A 外模式日志应用程序A状态工作区 应用程序A向DBMS发出读一个记录的命令。程序给出记录类型名及欲读记录的码值。 DBMS分析命令,并调用A对应的子模式,检查A的存取权限,决定是否执行A的命令。 决定执行A的命令后,DBMS调用模式,根据子模式与模式变换的定义,确定所涉及的模式记录类型;通过模式与内模式的变换找到这些记录类型的内模式名。 DBMS调用内模式,确定所读入的物理记录。 DBMS向OS发读该物理记录的命令。 OS执行读命令并把数据从外存读到内存的系统缓冲区。 DBMS按模式、子模式定义,导出用户程序需要的记录形式,并送到应用程序A的工作区。 DBMS向应用程序A送命令执
10、行情况的状态信息。 记载日志 DBMS把对数据库更新操作的全部情况都记载下来,以便数据库的恢复。 应用程序检查状态信息,若成功,对工作区中的数据正常处理;若失败,决定下一步如何执行。6.2 关系关系DBMS1.关系DBMS的发展阶段1970年IBM的Codd的论文大型共享数据库数据的关系模型奠定了关系数据库技术的理论基础。v第一阶段:关系数据库理论研究和原型开发的时代。20世纪70年代以来,经过大量高层次的研究和开发取得了一系列重要成果。奠定了关系模型的理论基础,给出了大家一致接受的关系模型的规范说明。研究了关系数据语言。研制了大量的关系DBMS的原型。6.2 关系关系DBMSv第二阶段:关系
11、DBMS的实用阶段。从20世纪70年代后期开始,从理论上攻克了诸如查询优化、并发控制、完整性机制和故障恢复等一系列重大技术问题,从而使数据库走向实用化、商业化。v第三阶段:关系DBMS的成熟与发展阶段。从20世纪80年代以来,微机在性价比上的提高,使计算机进入各个领域。大量的信息系统的建立,要求计算机应用领域从集中到分布,由单机到网络,由信息管理、辅助决策到企业级的联机事务处理。这一时期以客户/服务器的体系结构出现为标志。6.2 关系关系DBMS 关系DBMS经历了30多年的发展和演变,已经取得了辉煌的成就,发展成了一门内容丰富的学科,形成了总量达数百亿美元的一个软件产业。关系数据库已经发展成
12、为软件产业中一个规模巨大、增长迅速的市场。 目前,市场上具有代表性的关系DBMS产品包括Oracle、DB2、SQL Server等。尽管由于互联网应用的兴起,可扩展的标记语言(XML)格式的数据大量出现,需要新的数据模型与新技术支持,但关系技术仍然是主流,关系DBMS仍是当今最流行的数据库软件。无论是多媒体的内容管理、XML数据支持,还是复杂对象支持等大多都是在关系系统内核技术基础上进行的扩展。6.2 关系关系DBMS2.应用对关系DBMS的要求 数据的扩展、计算机硬件平台的升级和数据库应用的延伸,推动着数据库技术与系统的发展,数据库要管理的数据的复杂度和数据量都在迅速增长,计算机硬件平台的
13、发展仍然遵守着摩尔定律,数据库应用迅速向速度、广度扩展。尤其是互联网的出现,极大地改变了数据库的应用环境,向数据库领域提出了前所未有的技术挑战。应用对关系DBMS的要求有:(1)具有高可靠性、高性能 数据库是企业信息系统的核心和基础,其可靠性和性能是企业领导人非常关心的问题。一旦宕机会给企业造成巨大的经济损失,甚至会引起法律纠纷。(2)高可伸缩性和高安全性 从企业信息系统发展的角度看,一个系统的可扩展能力是非常重要的。数据的安全性是另一个重要的课题。6.2 关系关系DBMS(3)互联访问 互联访问是指数据库系统要支持互联网环境下的应用,支持信息系统之间的互操作,实现异构数据库间的数据交换和共享
14、,要处理以XML类型的数据为代表的网上数据,甚至要考虑无线通信发展带来的革命性变化。(4)协同服务 面向行业应用领域要求,在DBMS核心基础上,开发丰富的数据库套件及应用构件,通过制造业信息化、电子政务等领域应用套件捆绑,形成以DBMS为核心的面向行业的应用软件产品家族。满足应用需求、协同发展数据库套件与应用构件,已成为当今数据库技术与产品发展的新趋势。规划中的Oracle11i的主要扩展方面据称主要也是各种面向应用套件的支持。(5)开放平台 许多国建愈来愈重视免费的开放源码的Linux操作系统,因此能够运行在Linux上的数据库管理系统已成为关系DBMS的方向之一。IBM和Oracle的关系
15、DBMS都可以在Linux上运行。6.2 关系关系DBMS3. 关系DBMS的发展趋势(1)产品系列化 一方面,Web和数据仓库等应用的兴起,数据的绝对量在以惊人的速度迅速膨胀;另一方面,移动服务和嵌入式应用快速增长。针对市场的不同需求,数据库正在朝系列化方向发展。例如SQL Server:企业版、标准版、开发版、个人版。(2)支持互联网应用 数据库系统是网络时代的重要基础设施之一。支持Internet应用已经成为数据库系统的重要方面。此外,互联网提供大量以XML数据为特征的半结构化数据,支持这种类型数据的存储、共享、管理、检索也是各数据库厂商的发展方向。(3)智能化、集成化 数据丰富知识缺乏
16、的现实直接导致了数据挖掘等技术的出现,促使数据库向智能化方向发展。关系DBMS的发展阶段及相关技术支持 第一阶段第二阶段第三阶段对关系模型的支持表结构支持支持支持关系操作不完善支持支持完整性无不完善支持运行环境单机单用户有 有 有多用户无有有网络单机联网无有有分布DB无有有C/S 环境无无有开放网络异质DB无无有 系统构成RDBMS核心有有有扩充部分OS功能 无 无有集成、扩充工具无有有对应用的支持信息管理与决策不完善支持支持联机事务处理(OLTP)无支持支持联机分析处理(OLAP) 无无支持6.3 关系DBS的查询优化1.查询处理与查询优化查询处理与查询优化(1)查询处理中的优化问题数据查询
17、是数据库系统中最基本、最常用和最复杂的操作。对于同一个查询要求,通常可以对应多个不同形式但相互等价的关系代数表达式。相同的查询要求和结果存在着不同的执行策略,不同的策略会导致不同的系统开销。从查询的多个执行策略中进行合理选择的过程就是“查询处理过程中的优化”,简称为查询优化。6.3 关系DBS的查询优化(2)查询优化的基本途径查询优化的基本途径可以分为用户手动处理和机器自动处理两种。对于非关系数据库系统,由于用户通常使用低层次的语义表达查询要求,任何的查询策略的选取只能由用户自己去完成。关系数据库查询优化是由机器自动处理。以关系数据理论为基础,建立起由系统通过机器自动完成查询优化的有效机制。关
18、系数据库查询语言可以设计成非过程化的,即用户只需要表述做什么,而不需要关心如何做,查询处理和查询优化的过程由系统自动完成。6.3 关系DBS的查询优化(3)查询优化器查询优化的总目标是选择有效的策略,求得给定关系表达式的值。由关系数据库管理系统自动生成若干候选查询计划并从中选取较优的查询计划的程序成为查询优化器。由系统自动优化的主要原因: 优化器可以从数据字典中获取许多统计信息,并根据这些信息选择有效地执行计划,而用户程序则难以获得这些信息。 如果数据库的物理统计信息改变了,那么系统可以自动对查询进行重新优化以选择相适应的执行计划,而在非关系系统中必须重写程序。6.3 关系DBS的查询优化 优
19、化器可以考虑数百种不同的执行计划,而程序员一般只能考虑有限的几种可能性。 优化器中包括了很多复杂的优化技术,这些优化技术往往只有最好的程序员才能掌握。系统的自动优化相当于使所有人都拥有这些优化技术。(4)查询优化技术的分类 规则优化查询仅仅涉及查询语句本身,根据某些启发式规则如“先选择、投影,后连接”等就可以完成优化,称之为规则优化。这类优化的特点是对查询的关系代数表达式进行等价变化,以减少执行开销,所以也称为代数优化。6.3 关系DBS的查询优化 物理优化优化与数据的物理组织和访问路径有关,例如已经组织了基于查询的专门索引或者排序文件的情况下,就需要对如何选择实现策略进行必要的考虑,诸如此类
20、的问题就是物理优化。v 代价估算优化对于多个候选策略逐个进行执行代价估算,从中选择代价最小的作为执行策略,就称为代价估算优化。规则优化要对查询的关系代数表达式进行等价变换,物理优化涉及数据文件的组织方式,代价估算优化开销较大,它们都适合于一定的场合。实际中的查询优化通常是将几种技术结合使用。6.3 关系DBS的查询优化(5)关系查询处理过程 在层次数据库和网状数据库中,采用的是导航式操作,即查询语句既要包含查询的条件与结果,还要描述实现此查询的过程。在关系数据库当中,由于关系表达式具有高度的语义层次,故使相应的查询语句重在表达查询条件和查询结果,而将查询的具体实施过程及查询策略选择交给DBMS
21、承担。对用户而言,关系数据查询具有非过程性的显著特征。6.3 关系DBS的查询优化(6)查询优化的必要性在单机数据库中:总代价 = I/O代价 + CPU代价 在多用户环境下:总代价 = I/O代价 + CPU代价 + 内存代价在网络环境下: 总代价 = I/O代价 + CPU代价 + 内存代价+ 网络代价 查询的执行开销与多个因素有关:软件环境、硬件环境、数据量、方法。难以精确分析,故仅进行定性说明。例:Student表有l000个学生记录,每人平均选10门课程, SC表共有1000*10=l0000个选课记录。要求: 查学生“王林”所选课程的成绩在85分以上的课程号。SELECT CnoF
22、ROM S,SCWHERE S.Sno=SC.Sno AND Sname=王林 AND Grade 85 ;等价的关系代数表示:等价的关系代数表示: Cno( F1 F2 F3 ( SSC ) ) Cno( F2 F3 ( S SC ) ) Cno( F2 (S) F3 (SC) ) 条件 F1 条件 F2 条件 F3分析:哪种效率高? Cno(F1F2F3(SSC) Cno(F2F3(SSC) Cno(F2(S) F3(SC) v 先在两表上做 ,产生1000*10000=107个连接记录,再在其上进行先后操作。其基本运算的次数为:3*107。v 先在两个表上做 ,产生1000*10=104
23、个连接记录,再在其上进行先后操作。其基本运算的次数为:107+2*104。v 先分别在两个表上做,再做 ,产生1*10=10个连接记录,再在其上进行 。其基本运算的次数为:104+103+2*101。n连接时间复杂度为: O(107) O(104) O(101) 2. 查询优化的一般策略v1) 选择运算应尽可能先做。v2) 在执行连接前对关系适当地预处理。 其方法有:索引连接方法、排序合并连接方法。snocnograde200101001902001010028720010100372210101001852101010026222010100470snosname200101王萧虎20010
24、2李云钢210101郭敏星210102高 灵220101王 睿排序合并法:O(n+m) 2. 查询优化的一般策略3) 把投影运算和选择运算同时进行。 例: Sno( Grade90(SC)4) 把投影同其前或其后的双目运算结合起来。 例: Sno(S1-S2) 、 S1 Sno (S2)5) 把某些选择同在它前面要执行的笛卡尔积结合起来成为一个连接运算。 例: R. A S. C(RS)= R S AC 6) 找出公共子表达式。6.3 关系DBS的查询优化3. 3. 关系代数表达式的等价规则关系代数表达式的等价规则关系代数表达式的等价:两个关系表达式El和E2是等价的,可记为E1E2。常用的等
25、价变换规则:(连接、笛卡尔积的结合、交换律)3)投影的串接定律 A1,A2An (B1,B2.Bn (E) A1,A2An (E)4)选择的串接定律 F1( F2 (E) F1 F2 (E) 5)选择与投影的交换律(两种形式) (1)若F只涉及A1,A2An 属性: A1,A2An ( F (E) F ( A1,A2An (E)子集3. 关系代数关系代数等价规则等价规则 (2)若F中还涉及 其他属性B1,. Bn: A1,A2An ( F (E) A1,A2An ( F (A1,A2 An,B1 , Bn(E) 6)选择与笛卡儿积的交换律 F (E1XE2) F1 ( E1) X F2 ( E
26、2)F1只涉及E1中属性 F中涉及的其他属性3. 关系代数关系代数等价规则等价规则 7)选择与并的交换设E=E1E2,E1,E2有相同的属性名,则 F (E1 E2) F ( E1) F ( E2)8)选择与差运算的交换设E1,E2有相同的属性名,则 F (E1-E2) F ( E1) - F ( E2)3. 关系代数关系代数等价规则等价规则 是E1中属性9)投影与笛卡儿积的交换律 A1,A2An,B1,Bn (E1XE2) A1,A2An (E1) X B1,B2 Bn(E2)该式使得投影在笛卡尔积之前先做,以减少连接数量。10)投影与并的交换设E1和E2有相同的属性名,则A1,A2,An(
27、E1E2) A1,A2,An(E1)A1,A2,An(E2) 3. 关系代数关系代数等价规则等价规则11.选择对自然连接的分配律:若F中涉及属性都是El中属性,则: (1) F(El E2) F(El) E2 若F=F1F2,并且F1只涉及E1中、F2只涉及E2中的属性,则: (2) F(E1 E2) F1(El) F2(E2)12. 选择与连接操作的结合:设A1,An是E1的属性,B1,Bm 是E2的属性,F为形如:E1.AiE2.Bj所组成的合取式则: F(ElE2) El E2 F例:cno( F1F2 F3(StudentSC) /式 = cno( F2F3( F1(StudentSC
28、) /用规则4得到 = cno( F2F3(Student SC) /用规则12得式 = cno( F2(Student) F3(SC) /再用规则11得式4. 关系代数表达式的优化算法v算法:关系表达式的优化。算法:关系表达式的优化。 输入:一个关系表达式的语法树。 输出:计算该表达式的程序。 (1)用规则4把形如: F1F2. (E) 变为: F1(F2.(E) 再利用规则58 把每一个选择运算尽可能移到树的叶端。 (2)对每个投影用规则3、5、9、l0,尽量把它移向树的叶端 (3)利用规则35把选择和投影的串接合并成单个选择、单个投影或一个选择后跟一个投影。使多个选择或投影能同时执行,或
29、在一次扫描中全部完成, (4)使用规则12 使选择运算与笛卡尔积结合成连接运算。 (5)对语法树中的内节点进行分组。 (6)找出查询树中的公共子树。 (7)输出由分组结果得到的优化语法树。 例SRA F五种基本运算表示6.3 关系DBS的查询优化v生成、选择查询计划。用到查询优化的一般策略n5.查询优化的一般步骤:n将查询表示成关系代数语法树。n根据变换规则将其转换成标准优化形式。n选择低层的操作算法。 对语法树中的每一操作需要根据存取路径、数据的分布、聚簇等信息来选择具体的执行算法。6.4 关系DBMS产品及其选择产品名称产品名称开发公司开发公司简介简介MS-SQL ServerMicros
30、oft是Windows平台上最为流行的中型关系型数据库管理系统,采用客户/服务器体系结构,图形化用户界面,支持Web技术,支持多种数据库文件的导入。是一个可扩展的、高性能的数据库管理系统。以其内置的数据复制功能、强大的管理工具、与Internet的紧密集成和开放的系统结构,提供了一个出众的数据库平台。即将推出版本 SQL Server 2008。AccessMicrosoft基于Windows平台的桌面式的小型关系型数据库管理系统,单文件型数据库,是Office软件包的一个组成部分,有可视化开发环境。目前比较流行的开发工具都支持Access数据库。最新版本2003。Visual FoxproM
31、icrosoft基于Windows平台的兼备应用程序开发和数据库管理功能的小型关系型数据库管理系统,其数据库可以升迁为Oracle和MS-SQL Server,可以开发桌面、客户/服务器体系结构和Web的数据库应用程序,新版支持.NET框架。最新版本VFP 8.0。OracleOracle在数据库领域一直处于领先地位,是世界上使用最广泛的大型关系型数据库管理系统,其1999年推出的Oracle8i是世界上第一个互联网数据库产品,最新产品Oracle 11G。DB2IBMDB2 UDB(通用数据库)是为UNIX、OS/2、Windows NT提供的关系型数据库解决方案,能够在各种系统中运用,最新
32、版本 DB2 9.0。SybaseSybase是一个以“客户/服务器数据库体系结构”为开发目标的面向联机事务处理的大型关系型数据库管理系统。最新版本 Sybase 12。6.4 关系DBMS产品及其选择1.SQL Server SQL Server是微软推出的适用于大型网络环境的数据产品,一经推出就得到了广大用户的积极响应并迅速占领了NT环境下的数据库领域,成为数据库市场上的一个重要产品。 SQL Server 2000是一种典型的具有客户/服务器体系架构的关系数据库管理系统,它使用Transact-SQL语句在服务器和客户机之间传送请求和回应,具有可靠性、可伸缩性、可管理性、可用性等特点。它
33、支持大规模联机事务处理(OLTP)、数据仓库、数据挖掘和电子商务等应用。它的出现极大地推动了数据库的应用和普及,无论是在功能上,还是在安全性、可维护性和易操作性上都较以前版本有了很大提高。6.4 关系DBMS产品及其选择A.SQL Server 20000的功能特点(1)网络性能好SQL Server 2000与其他产品共同提供了可靠安全的Internet和Intranet系统的数据存储功能,其数据库引擎提供完整的可扩展标记语言(XML)支持。此外,提供了English Query和Microsoft检索服务等功能,在Web应用程序中实现了友好的用户查询功能和强大的数据检索功能。(2)可伸缩性
34、和可用性SQL Server 2000数据库引擎可以在Windows 2000的各个版本等操作系统上运行。同时当以默认设置运行时,SQL Server 2000还具有动态自调整功能,可以有效地运行在便携式电脑和台式机中,用户无须承担管理任务。其企业版支持联合服务器、索引视图和大型内存支持等功能,使其可以升级到Web站点所需的最高性能级别。6.4 关系DBMS产品及其选择(3)提供较完善的数据库功能SQL Server 2000关系数据库引擎支持当今苛刻的数据处理环境所需的功能,如分布式查询、动态行级锁定、充分的完整性保护、分布式事务、复制等功能,为用户提供安全的企业级数据库功能。(4)支持数据
35、仓库SQL Server 2000包含多个可用于生成有效地支持决策、支持处理需求的数据仓库的组件。这些组件包括:数据仓库框架,数据转换服务,联机分析处理支持,数据挖掘支持,English Query,Meta Data Services。(5)易于安装和使用SQL Server 2000中包含了一系列管理和开发工具,这些工具可以在多个站点上安装、部署、管理和使用SQL Server 数据库。6.4 关系DBMS产品及其选择B.SQL Server 的基本服务SQL Server 2000提供了四种基本的服务类型,即SQL Server 服务、代理服务(SQL Server Agent)、分布式
36、事务处理协调器(Distributed Transaction Coordinator,DTC)以及全文检索服务(Microsoft Search)。(1) SQL Server 服务SQL Server 服务是SQL Server 2000的核心服务。它直接管理和维护数据库,负责处理所有来自客户端的Transact-SQL语句并管理服务器上构成数据库的所有文件,同时还负责处理存储过程,并将执行结果返回给客户端。其他服务都依赖于此服务。6.4 关系DBMS产品及其选择(2) 代理服务对那些需要定期进行的管理工作,SQL Server 2000提供了一种称为代理的功能。这个代理能够根据系统管理员
37、预先设定好的计划自动执行相应的功能,同时它还能对系统管理员设定好的错误等特定事件自动报警,而且代理服务还能通过电子邮件等方式把系统存在的各种问题发送给指定的用户。这种服务能很好地帮助管理员对系统进行监视和管理。(3)分布式事务处理协调器分布式事务处理协调器是一个事务管理器。在它的支持下,客户可以在一个事务中访问不同服务器上的数据库。在这种情况下,客户的事务可以提交给分布式事务处理协调器,DTC再把用户的请求提交给所涉及的服务器,DTC能够保证一个事务中的所有操作在所有服务器上全部成功,或者在某个服务器上不成功时,确保所有服务器上的操作均被撤销。6.4 关系DBMS产品及其选择(4)全文检索服务
38、一直以来,从数据库列或文件系统中检索特定文本数据曾经是很麻烦且开销很大的过程,通常需要借助第三方工具。SQL Server 2000提供了全文检索服务,能够对字符数据进行检索。6.4 关系DBMS产品及其选择2.其他DBMS产品(1)DB2DB2是IBM公司推出的一个大型关系DBMS产品,可运行于多种软件平台,在UNIX平台的大型机领域具有决定性优势,支持百万规模级的数据库和大量并发用户,性能、速度及价格均相对高端。最新版DB2中,扩充了以下功能:集成了分区和集群技术,因此DB2具有高灵活性。多位集群数据表功能减少了DBA的索引工作量。内置的计划内和计划外可用性功能,确保业务应用在需要的时候都
39、可正常使用。增加了自管理和资源调整的数据库技术。具有高性能的查询重写和优化技术以及性能配置功能。6.4 关系DBMS产品及其选择(2)国产DBMS-达梦DM4达梦数据库是我国第一个具有自主产权的国产DBMS产品。该数据库管理软件通过国家级技术鉴定,产品在众多行业尤其是网站、电子支付、电子政务等Internet领域以及消防、军事领域得到应用。DM4的特性:DM4-SQL符合SQL标准DM4支持多库、多模式较强的事务处理能力和查询优化能力支持数据字典、日志、备份和恢复DM4服务器具有可配置的多工作线程处理能力DM4服务器支持SQL92标准的所有数据类型支持存储过程、触发器的定义、存储和使用提供了开
40、放式互联接口6.4 关系DBMS产品及其选择3.关系DBMS产品的选择关系DBMS分为4个层次:(1)在小型机、大型机上运行的大型关系DBMS:DB2、Oracle(2)在微型机上运行的大型的关系DBMS:SQL Server(3)在微型机上运行的主流的小型关系DBMS:Access(4)一些非主流的关系DBMS:My SQL、PostgreSQL关系DBMS选择的考虑因素:(1)数据库应用的规模、类型和用户的数量(2)速度指标(3)软件、硬件平台性价比(4)开发者的经验和习惯:操作系统、关系数据库的开发经验(5)安全性第六章 数据库管理系统 小结:小结: 1. DBMS的定义、特点及功能 2. 关系DBS的查询优化 目标、一般策略 关系代数等价变换规则及优化算法 优化的步骤 本章练习: 应用举例: