1第9章数据库新技术9.1学习要点数据库新技术一章介绍了数据库技术的发展动态,学完这章后应该了解面向对象数据库、分布式数据库、多媒体数据库、数据库、嵌入式数据库和数据挖掘的概念和特点,并对各种数据库的结构有一定的了解。数据库新技术嵌入式数据库分布式数据库体系结构设计查询并发控制客户机/服务器体系结构面向对象数据库ODMG标准SQL3多媒体数据库数据模型组织结构、理解SQL3中的元组对象和抽象数据类型;2、解释分布式数据库设计过程中涉及的数据复制、数据分片等技术;3、评价执行一个分布式查询的简单策略,并选择一个使数据传送量最小的策略;4、描述实现分布式并发控制的技术与方法;5、描述客户机/服务器模型中软件的三个层次;6、初步了解多媒体数据库的基本概念;7、初步了解嵌入式数据库的基本概念;8、初步了解数据库的基本概念;9、初步了解数据挖掘的基本概念。9.2习题讲解1ODMG2.0标准的组成有哪几部分?SQL3标准的组成有哪几部分?2答:ODMG2.0标准包括对象模型(objectmodel)、对象定义语言(objectdefinitionlanguage,简称ODL)、对象查询语言(objectquerylanguage,简称OQL)以及面向对象编程语言的绑定(binding)。SQL3标准包括以下几个部分:(1)SQL/框架、SQL/基础、SQL/绑定、SQL/对象;(2)新部分寻址时序,SQL的事务方面;(3)SQL/CLI(调用层接口);(4)SQL/PSM(永久存储模块)。2什么是分布式数据库?与集中式数据库相比有哪些特点?答:一般认为分布式数据库是分布在计算机网络的不同地点上,逻辑上是属于同一个系统的数据库集合,网络中的每个结点具有独立处理能力,可以执行局部应用,也能通过网络通信子系统执行全局应用。分布式数据库是数据库的一种新的类型,与集中式数据库相比有许多重要特点:(1).自治性(2).不同透明度层次的分布式管理(3).优化和效率(4).可靠性和可用性(5).可扩充性3什么是数据分片?数据分片有哪几种?数据分片的原则是什么?答:数据分片是指将分布式数据库的全局关系划分成相应的逻辑片段。其目的是便于分布式数据库系统按照用户的需要较好地组织数据的分布和合理地控制数据的冗余度,以提高整个系统的数据访问的局部性,以减少数据访问的代价,从而提高系统的效率和可靠性。数据分片分为二类,一类是基于关系本身的划分,称为独立划分,有水平分片、垂直分片、混合分片;另一类是基于关联的划分,即一个关系的划分是基于另一关系而被划分,称为相关划分,有导出分片数据分片应遵守三个原则:完备性。全局关系的所有数据必须映射到各个片段中。可重构性。全局关系的所有片段必须能够重构该全局关系。不相交性。不相交性不允许片段相交。它不是必须的,不相交性主要针对水平分片。4什么是数据分配?数据分配有哪几种?数据分配的一般准则是什么?答:数据分配是指全局关系划分后得到的一组逻辑片段,如何分布在网络的各个场地上。数据分配大致有四种:集中式、分割式、全复制式和混合式。数据分配的一般准则包括三方面:处理局部性。提高局部处理能力,减少远程访问次数。数据的可用性和可靠性。提高只读应用的可靠性和整个系统的可用性,充分发挥DDB的优点。工作负载分布的均匀性。使各场地的负载均匀,提高系统的并行处理能力,但可能会与处理的局部性发生矛盾。35什么是分布式查询?答:分布式数据库系统的分布式查询是指以整个信息系统为查询对象的查询过程。在分布式查询中,用户将整个分布式信息系统看作一个整体,并以这个整体为查询对象发出查询请求。在完全不用考虑分布系统的分布状况情况下,用户可以直接得到全局的查询结果。对于用户来说,分布式查询技术所提供的功能应具备下列三个特点:①正确性:分布式查询系统必须保证返回给用户的是用户要求的正确的查询结果。整个分布式查询系统正确性依赖于正确的查询分解、正确的局部查询和正确的查询结果汇总。②透明性:分布式查询系统必须提供查询的透明性。就是说,用户不必了解分布系统的节点分布状况,甚至不用知道系统是分布的,就可以提出正确的查询要求并由系统透明地返回查询结果。③优化性:这是分布式查询的最重要的课题之一。6试简述客户机/服务器模型中软件的三个层次。答:在一个典型的客户机/服务器中,通常将软件模块分解成以下三个层次:(1).服务器软件负责站点上的局部数据管理,很像集中式的DBMS软件。(2).客户机软件负责大部分的分布功能,负责访问数据分布信息,并且处理要求访问多个站点的所有请求。客户机软件也处理所有的用户接口。(3).通讯软件提供通讯原语,客户机用户在所需的各站点间传送命令和数据。7什么是数据挖掘?为什么需要数据挖掘?答:数据挖掘(datamining)是指从大量的数据中根据模式或者规则来挖掘、发现新的信息。它建立在数据库,尤其是数据仓库基础之上,面向非专业用户,定位于桌面,支持即兴的随机查询。数据挖掘技术能自动分析数据,对它们进行归纳性推理和联想,寻找数据间内在的某些关联,从中发掘出潜在的、对信息预测和决策行为起着十分重要作用的模式,从而建立新的业务模型,以达到帮助决策者制定市场策略、作出正确决策的目的。因为通过数据挖掘,可以发现重要的数据模式,对商务决策、知识库、科学和医学研究做出巨大贡献。数据和信息之间的鸿沟要求系统地开发数据挖掘工具,将“数据坟墓”转换成“知识金块”。数据挖掘通过预测未来趋势及行为,做出基于知识的决策。数据挖掘的目标是从数据库中发现隐含的、有意义的知识,8关联规则是什么?答:关联规则(associationrule)是形如XY的蕴涵式,其中XI,YI,并且X∩Y=ø。描述关联规则属性的四个参数:可信度(confidence):X出现的前提下,Y出现的概率,即P(Y|X);支持度(support):X、Y同时出现的概率,即P(X∪Y);期望可信度(expectedconfidence):Y出现的概率;作用度(lift):可信度对期望可信度的比值,描述X的出现对Y的出现有多大作用的影响。因为Y在所有事务中出现的概率是期望可信度;而Y在有X出现的事务中出现的概率是可信度,通过可信度对期望可信度的比值反映了在加入“X出现”的这个条件后,4Y的出现概率发生了多大变化四个参数中,最常用的是可信度和支持度。关联规则有一定的商业价值。9.3自测题一、单项选择题1.SQL3中用关键字()定义元组类型。A.TUPLETYPEB.CREATETUPLETYPEC.ROWTYPED.CREATEROWTYPE2.分布式数据库系统的体系结构中,定义对全局关系的划分以及全局与划分之间的映像,这是分布式数据库系统的()。A.局部概念模式B.局部内模式C.分片模式D.分布模式3.ORDBS的含义是()。A.面向对象的数据库系统B.数据库管理系统C.对象关系数据库系统D.对象关系数据库4.C/S系统的客户机的功能是实现()。A.前端处理和事务处理B.事务处理和用户界面C.前端处理和用户界面D.事务处理和数据访问控制5.简单地说,分布式数据库的数据()。A.逻辑上分散,物理上统一B.物理上分散,逻辑上统一C.逻辑上和物理上都统一D.逻辑上和物理上都分散6.分布式数据库系统中,数据分配的策略是集中式、分割式、()。A.分布式和关联式B.分布式和混合式C.全复制式和混合式D.全复制式和关联式7.客户/服务器体系结构的关键在于()。A.计算的分布B.功能的分布C.CPU的分布D.数据的分布8.在客户/服务器体系结构的DBS中,数据库功能分为前端和后端两部分,下列功能属于后端的是()。A.数据输入B.报表输出C.用户界面D.存取结构9.对象关系数据库是从传统的RDB技术引入()。A.网络技术演变而来的B.虚拟技术演变而来的C.对象共享技术演变而来的D.面向对象技术演变而来的10.ODMG国际组织一直致力于把()。A.BASIC语言扩大成能处理OODBB.C++语言扩大成能处理OODBC.Delphi语言扩大成能处理OODBD.FoxPro语言扩大成能处理OODB二、填空题1.描述SQL3中的对象可以用两种形式:和。2.在定义数据分片时,不允许全局关系的某个数据不属于任何一个片段,这个性质称为数据分片的性;而所采用的划分方法必须保证能够由各个片段重建全局关系,这个性质称为数据分片的性。3.20世纪90年代,分布式数据库逐渐向模式发展。三、问答题51.在OO技术与DB技术相结合的过程中,采取了哪两条不同的途径?2.试列举ORDB与OODB的主要区别。四、应用题1.设有如下两个全局关系:学生关系S(Snum,Sname,Ssex,Dept)选修关系SC(Snum,Cnum,Score)试用SQL语句实现按照学生性别对SC进行水平分片。9.4自测题参考答案一、单项选择题1.D2.C3.C4.C5.B6.C7.B8.D9.D10.B二、填空题1.行对象抽象数据类型(可以交换位置)2.完备可重构3.客户机/服务器(或C/S)三、问答题1.一条途径是在传统关系模型基础上,扩充SQL语言使之能处理复合数据类型、嵌套递归等结构。这种模型称为对象关系模型,用户容易接受,易于推广;另一条途径是在OOPL基础上进行扩充,使之能操作持久数据,处理数据库,形成OODBS。2.ORDB与OODB的主要区别见表9.1。表9.1OODBS与ORDBS的区别OODBSORDBS从OOPL出发,引入持久数据的概念,能操纵DB从SQL出发,引入复合类型、继承性、引用类型等概念有导航式查询,也有非过程性查询结构化查询,非过程性查询符合面向对象语言符合第四代语言显式联系隐式联系唯一的对象标识符有主码概念,也有对象标识概念对象处于中心位置关系处于中心位置四、应用题1.SC1:SELECTSnum,Cnum,ScoreFROMSCWHERESnumIN(SELECTSnumFROMSWHERESsex=’男’);SC2:SELECTSnum,Cnum,ScoreFROMSCWHERESnumIN(SELECTSnumFROMSWHERESsex=’女’)6