数据库的新技术.ppt
《数据库的新技术.ppt》由会员分享,可在线阅读,更多相关《数据库的新技术.ppt(47页珍藏版)》请在三一办公上搜索。
1、第9章 数据库的新技术,9.1 分布式数据库系统,9.2 对象关系数据库系统,9.3 并行数据库系统,9.4 多媒体数据库,9.5 数据仓库和数据挖掘,9.1 分布式数据库系统,分布式数据库系统使用计算机网络将地理上分散,而管理和控制又需要不同程度集中的多个逻辑单位连接起来,共同组成一个数据库系统。它由分布式数据库(DDB)和分布式数据库管理系统(DDBMS)组成。数据由数据库管理系统统一管理,是物理上分散逻辑上独立的数据库系统。物理分散性体现在数据在网络中是跨节点物理存储的,逻辑独立性体现在从用户角度看是一个数据库。如图9.1所示是一个涉及3个节点的分布式数据库系统。,图9.1 3个节点的分
2、布式数据库系统,9.1 分布式数据库系统,在这个系统中,每个本地数据库(DB1,DB2,DB3)及相关计算机组成分布式数据库的一个节点。然后通过网络又把它们连接起来。通过本地服务器1的终端可以对本节点联机的数据库(DB1)执行某些操作,或者通过网络对另一个数据库(DB2)执行某些操作,或者对两个及两个以上的节点数据库执行某些操作。前两种是局部应用,最后一种是全局应用。例如,一个涉及3个校区的图书管理的分布式数据库系统,每个校区有一个图书数据库DBi(i=1,2,3),每个校区图书数据库存放的是存放在该校区的图书信息,学生在校区借还图书操作的是该校区图书数据库,这是局部应用。但是学生在全校范围内
3、查询需要的图书,通过查询全校的逻辑图书数据库就可实现,这是全局应用,如图9.2所示。,图9.2 图书管理的分布式数据库,9.1 分布式数据库系统,全校的逻辑图书数据库(DB)中图书表ts是虚表,图书信息实际存放在各校区数据库图书表ts1、ts2和ts3中。在校区1查询数据库方面的书。SELECT书号,书名,作者,价格FROM ts1WHERE书名=数据库 在全校查询数据库方面的书。SELECT书号,书名,作者,价格FROM tsWHERE书名=数据库分布式数据库系统从结构上可分为同构分布式数据库和异构分布式数据库。前者所有数据库的数据模型都是一致的,从用户角度看,就好像是一个单一的数据库系统一
4、样。节点之间互相了解并协作处理用户的需求,每个节点都按照权限的不同交出部分自治权限以改变模式或软件。后者是至少有一个数据库是非同种类别,不同的节点可以是不同的模式和软件系统。组成异构分布式数据库系统的不同节点间可能并不互相了解,在系统处理事务方面可能只能提供非常有限的帮助。,9.2 对象关系数据库系统,9.2.1 面向对象数据模型面向对象数据库系统(OODB)支持OO模型。一个OO模型是用面向对象观点来描述现实世界实体(对象)的逻辑组织、对象间限制、联系等的模型。1对象(Object)对象是由一组数据结构和对此进行操作的程序代码封装后的基本单位,对象通常与实体对应,一个对象包括以下几个部分。属
5、性集合:属性描述对象的状态、组成和特性。对象的某一属性可以是单值或值的集合,也可以是一个对象,即对象可以嵌套。这种嵌套可以继承,从而组成各种复杂对象。方法集合:方法描述了对象的行为特性。方法的定义包括两部分,一是方法的接口,二是方法的实现。方法的接口用以说明方法的名称、参数和结果返回值的类型。方法的实现是一段程序编码,用以实现方法的功能,即对象操作的算法。面向对象数据库中的每个对象都有一个唯一的不变的标识称为对象标识(OID)。对象标识具有永久持久性,即一个对象一经产生,系统就会赋予一个在全系统中唯一的对象标识符,直到它被删除。OID是由系统统一分配的,系统全局唯一的,用户不能对OID进行修改
6、。,9.2.1 面向对象数据模型,2封装(Encapsulation)每个对象是其状态与行为的封装,其中状态是该对象一系列属性值的集合,而行为是在对象状态上操作的集合,操作也称为方法。对象封装之后查询属性值必须通过调用方法,不能像关系数据库系统那样(用SQL)进行即席的(随机的)、按内容的查询,这就不够方便灵活,失去了关系数据库的重要优点,因此在OODB中必须在对象封装方面做必要的修改或妥协。3类(Class)共享同样属性和方法集的所有对象构成了一个对象类(简称类),一个对象是某一类的一个实例(Instance)。例如,“汽车”就是一个类,它包含了汽车的共同特征(如型号、发动机排量、外观尺寸、
7、颜色等),而对于“桑塔纳3000”则是汽车这个类的一个具体实例。日常生活中会涉及各种类,如房子、蔬菜、学校等。类属性的定义域可以是任何类,即可以是基本类,如整数、字符串、布尔型,也可以是包含属性和方法的一般类。特别地,一个类的某一属性的定义也可是这个类自身。超类是子类的抽象(Generalization)或概括,子类是超类的特殊化(Specialization)或具体化。例如,卡车属于汽车,但卡车又有其特有的特征(如载重量),可以定义一个卡车子类,它继承汽车类,同时它增加如载重量属性。这时,汽车是卡车的超类。在超类修改后,子类将继承任何超类所做的修改。在一个面向对象数据库模式中,对象的某一属性
8、可以是单值的或值的集合。进一步地,一个对象的属性也可以是一个对象,这样对象之间产生一个嵌套层次结构。对象嵌套概念的是面向对象数据库系统中又一个重要概念。,9.2.1 面向对象数据模型,4继承(Inheritance)在OO模型中常用的有两种继承,单继承与多重继承。若一个子类只能继承一个超类的属性和方法,这种继承称为单继承;若一个子类能继承多个超类的特性,这种继承称为多重继承。例如,在学校的“在职研究生”,他们既是教员又是学生,在职研究生继承了教职员工和学生两个超类的所有属性和方法。,9.2.2 对象关系数据库,对象关系数据库(ORDBS)保持了关系数据库系统的非过程化数据存取方式和数据独立性,
9、继承了关系数据库系统已有的技术,支持原有的数据管理,又能支持OO模型和对象管理。SQL3是1999年发布的SQL标准,也称为SQL99。其显著的特点之一是提供了面向对象的扩展,增加了SQL/Object Language Binding。SQL3的扩展使人们可以同时处理关系模型中的表和对象模型中的类与对象。SQL3最重要的扩展是面向对象的数据类型,包括行类型ROW TYPE和抽象数据类型(Abstract Data Type)。1对象关系数据库系统中扩展的对象类型及其定义为了支持OO数据模型,SQL3扩展了面向对象的类型系统。在ORDBMS中,类型(TYPE)具有类(CLASS)的特征,可以看
10、成类。(1)行对象与行类型一行类型(ROW TYPE)可以使用如下语句定义:CREATE ROW TYPE();创建行类型表,把类型实例化:CREATE TABLE OF,9.2.2 对象关系数据库,例如:CREATE ROW TYPE student_Type(snoNUMBER,snameVARCHAR2(60),addrVARCHAR2(100);CREATE TABLE st1 OF student_Tpye(XHPRIMARY KEY);(2)列对象与对象类型ORDBMS中列对象的概念,可以创建一个对象类型,表的属性可以是该对象类型。语句如下:CREATE ROW TYPE AS O
11、BJECT();,9.2.2 对象关系数据库,例如:CREATE TYPE addr_Type AS OBJECT(cityVARCHAR2(50)streetVARCHAR2(50);CREATE TYPE name_TypeAS OBJECT(first_nameVARCHAR2(30)last_nameVARCHAR2(30);CREATE TABLE st2(snoNUMBER,snamename_Type,addraddr_Type);,9.2.2 对象关系数据库,语法上这和传统的建表语句类似。SQL3扩展的是:允许表中的属性列是对象类型。(3)抽象数据类型(Abastract Da
12、ta Type,ADT)SQL3允许用户创建指定的带有自身行为说明和内部结构的用户定义类型称为抽象数据类型。定义ADT的一般形式为:CREATE TYPE(所有属性名及其类型说明,定义该类型定义该类型的其他函数(方法);2参照类型(Reference Type)SQL3提供了一种特殊的类型:参照类型,也称为引用类型,简称REF类型。因为类型之间可能具有相互参照的联系,因此引入了一个REF类型的概念:REF类型名REF类型总是和某个特定的类型相联系。它的值是OID。OID是系统生成的,不能修改。,9.2.2 对象关系数据库,例如:CREATE ROW TYPE student_Type(snoN
13、UMBER,snameVARCHAR2(60),addrVARCHAR2(100);CREATE ROW TYPE class_Type(nameVARCHAR2(60),teacherVARCHAR2(60);CREATE TABLE student OF student_Type;CREATE TABLE class OF class_Type;,9.2.2 对象关系数据库,Student的元组与class的元组存在相互参照关系:某学生在某班。可以使用REF类型描述这种参照关系:CREATE ROW TYPE sc_Type(studentREF(student_Type),classRE
14、F(class_Type););CREATE TABLE sc OF sc_Type;这样,某一元组的student属性值是某个学生的OID,class属性值是这个学生在班上的OID,从而描述了学生和班级相互的参照关系。3继承性ORDBMS应该支持继承性,一般是单继承性。例如:CREATE TYPE student4_TypeUNDER student_Type AS(englishINTEGER,computerINTEGER)FINAL;,9.2.2 对象关系数据库,定义行类型student_Type的子类student4_Type,它继承了它父类的属性,同时又定义子类自己的属性engli
15、sh和computer。FINAL表示该类型是类型层次的叶节点,NOT FINAL表示该类型不是类型层次的叶节点。4子表和超表SQL3支持子表和超表的概念。超表、子表、子表的子表也构成一个表层次结构。表层次和类型层次的概念十分相似。如果一个基表是用类型来定义的,那么它可以有子表或/和超表。这些表就构成了一个表层次。子表可以继承父表的属性、约束条件、触发器等,子表可以定义自己的新属性。可以使用SQL的SELECT,INSERT,DELETE,UPDATE语句对这些表进行操作。对某个表的查询其实是对该表和它所有子表中对象集合的查询。INSERT:向子表插入一行时一般情况下会在该子表的超表上也插入一
16、行。DELETE:从表删除一行时一般情况下会在该表的超表和子表上也删除相应的一行。可以使用ONLY“关闭”对子表的检索。办法是在FROM子句中使用ONLY将检索的对象限制为指定表中的对象,而不是该表和它的子表中的对象。,9.3 并行数据库系统,并行数据库系统是并行计算机技术和数据库技术相结合的产物,能支持并行处理体系结构,获得比串行系统下高得多的性能。解决了传统数据库中诸如磁盘“I/O”瓶颈问题,大大提高了数据库的并行执行力度、数据库的执行速度等。并行数据库系统的体系结构包括下列几种。1全共享结构全共享结构并行数据库系统如图9.3所示,图中P表示处理机,M表示存储器,圆柱体表示磁盘。在这种并行
17、处理结构中,每个处理机共享系统中的主存储器和磁盘资源。所有的处理机和磁盘访问一个公共的主存储器,通常通过总线或互联网进行访问。多处理机之间的通信和数据交换通过共享的主存储器直接进行。这种结构又称为对称多处理机SMP结构,其优点是通信效率极高,缺点是这种结构的规模不能超过32个或64个处理机,随着处理机数目的增加,其网络拥塞程度也相应的增加,必然使总线或通信网络成为瓶颈。,9.3 并行数据库系统,图9.3 全共享结构并行数据库系统,9.3 并行数据库系统,2共享磁盘结构(Shared-Disk,SD)SD结构并行数据库系统如图9.4所示,各个处理机拥有自己局部的主存储器,但共享系统中的磁盘存储器
18、,即所有处理机都可以通过网络访问所有的磁盘。采用这一结构的数据库系统有IBM的IMS/VS Data Sharing、Dec的VAX DBMS等产品。其优点在于消除了存储器总线瓶颈问题,同时还具有一定的容错性。缺点在于与磁盘间的连接又成为了瓶颈。3无共享结构(Shared-Nothing,SN)在SN结构中,多处理机之间没有任何共享资源。每个处理机都有自己独立的局部存储器和独立的磁盘存储器。处理机之间的通信一般通过高速网络实现,其结构如图9.5所示。这种结构实际上就是被称做大规模并行处理结构的MPP系统。典型的并行计算机系统包括nCUBE系统、Tandem系统、Teradata系统等。其优点在
19、于网络只是承担节点间的数据交换,通信负载大大减轻,可以支持大量处理机。缺点在于通信代价和对非本地磁盘访问的代价远远高于全共享结构和共享磁盘结构。,9.3 并行数据库系统,图9.4 SD结构并行数据库系统,9.3 并行数据库系统,图9.5 无共享结构并行数据库系统,9.3 并行数据库系统,4分层并行结构这是一种融合了上述三种结构特点的并行结构,如图9.6所示。在分层结构中有许多由高速互联网连接的超级节点。它们之间不共享磁盘或存储器,因此最上层是一个无共享的体系结构。每个超级节点包含少量的处理机、共享内存,实际上是一个全共享结构。或者,每个超级节点也可以共享磁盘,共享一组磁盘系统的每个超级节点又可
20、以是一个共享主存储器的系统。这种结构中存在两种层次的并行性,因而称为分层并行结构。它是一种更加通用的结构。其优点是这种结构的灵活性大,可以按照用户的需要进行配置。随着多处理机服务器的普遍使用和网络技术的进一步发展,分层并行结构具有明显的优势。,图9.6 分层并行结构数据库系统,9.4 多媒体数据库,1字符数值字符数值型数据记录的是事物非常简单的属性(如人的性别)、数值属性(如人数)或高度抽象的属性(如事物的所属类别)。这种数据具有简单、规范的特点,因而易于管理。传统数据库主要是针对这种数据的,在多媒体数据库中仍然需要管理这一类数据。2文本数据文本是最常见的媒体格式,各种书籍、文献、档案等无不是
21、由文本媒体数据为主构成的。,9.4 多媒体数据库,3声音数据根据对音频媒体的划分可以知道,语音、音乐和其他声响具有显著不同的特性,因而目前的处理方法可以分为相应的三种:处理包含语音的音频和不包含语音的音频,第三种又把音乐单独划分出来。换句话说,第一种是利用自动语音识别技术,后两种是利用更一般性的音频分析,以适合更广泛的音频媒体,如音乐和声音效果,当然也包含数字化语音信号。在音频数据库领域,许多研究是有关语音方面的,因为语音是音频中一种重要的信息载体。非语音的音频数据检索和混合系统方面的研究工作也开始引起重视。这项研究涉及多学科,包括语音识别、信息检索、音频分析、信号处理、心理声学、机器学习等。
22、4图形数据图形数据的管理已经有一些成功的应用范例,如地理信息系统、工业图纸管理系统、建筑CAD数据库等。图形数据可以分解为点、线、弧等基本图形元素。描述图形数据的关键是要有可以描述层次结构的数据模型。对图形数据来说最大的问题是如何对数据进行表示,对图形数据的检索也是如此。一般来说,由于图形是用符号或特定的数据结构表示的,更接近于计算机的形式,还是易于管理的。但管理方法和检索使用需要有明确的应用背景。,9.4 多媒体数据库,5图像数据图像数据在应用中出现的频率很高,也很有实用价值。图像数据库较早就有研究,已提出许多方法,包括属性描述法、特征提取、分割、纹理识别、颜色检索等。特定于某一类应用的图像
23、检索系统已经取得成功的经验,如指纹数据库、头像数据库等,但在多媒体数据库中将更强调对通用图像数据的管理和查询。6视频数据动态视频数据要比上述信息类型复杂得多,在管理上也存在新的问题。特别是由于引入了时间属性,对视频的管理还要在时间空间上进行。检索和查询的内容可以包括镜头、场景、内容等许多方面,这在传统数据库中是从来没有过的。对于基于时间的媒体来说,为了真实地再现就必须做到实时,而且需要考虑视频和动画与其他媒体的合成和同步。例如,给一段视频加上一段字幕,字幕必须在适当的时候叠加到视频的适当位置上。再如给一段视频配音,声音与图像必须配合得恰到好处,合成和同步不仅是多媒体数据库管理的问题,还涉及通信
24、、媒体表现、数据压缩等诸多方面。,9.4.1 多媒体数据库体系结构,1联邦型结构针对各种媒体单独建立数据库,每种媒体的数据库都有自己独立的数据库管理系统。虽然它们是相互独立的,但可以通过相互通信来进行协调和执行相应的操作。用户既可以对单一的媒体数据进行访问,也可以对多个媒体数据进行访问以达到对多媒体数据进行存取的目的。这种结构如图9.7所示。在这种数据库体系结构中,对多媒体的管理是分开进行的,可以利用现有的研究成果直接进行封装,每种媒体数据库的设计也不必考虑与其他数据库的匹配和协调。但是由于这种多媒体数据库对多媒体的联合操作实际上是交给用户去完成的,给用户带来灵活性的同时,也为用户增加了负担。
25、该体系结构对多种媒体的联合操作、合成处理和概念查询等都比较难于实现。如果各种媒体数据库设计时都没有按照标准化的原则进行,它们之间的通信和使用都会产生影响。,9.4.1 多媒体数据库体系结构,图9.7 联邦型多媒体数据库结构,9.4.1 多媒体数据库体系结构,2集中统一型结构只存在一个单一的多媒体数据库和单一的多媒体数据库管理系统。各种媒体被统一的建模,对各种媒体的管理与操纵被集中到一个数据库管理系统中,各种用户的需求被统一到一个多媒体用户接口上,多媒体的查询检索结果可以统一地表现。由于这种多媒体管理系统是统一设计和研制的,所以在理论上能够充分地做到对多媒体数据进行有效的管理和使用。但实际上这种
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 新技术
链接地址:https://www.31ppt.com/p-5270382.html