700 likes | 824 Views
湖南工学院计算机系. 数据库原理 Principles of Database 第 8 章 数据库技术的发展. 第 8 章 数据库技术的发展. 8.1 数据库技术的分类 8.2 面向对象数据库系统 8.3 分布式数据库系统 8.4 数据仓库与数据挖掘 * 8.5 其他新型的数据库系统. 8.1 数据库技术的分类. 数据库技术与网络通信技术、人工智能技术、面向对象程序设计技术、并行计算技术等互相渗透,互相结合,成为当前数据库技术发展的主要特征,涌现出各种新型的数据库系统,新一代的数据库技术主要体现在 :. 数据库技术的分类 ( 续 ).
E N D
湖南工学院计算机系 数据库原理 Principles of Database 第8章 数据库技术的发展 数据库原理
第8章 数据库技术的发展 • 8.1 数据库技术的分类 • 8.2 面向对象数据库系统 • 8.3 分布式数据库系统 • 8.4 数据仓库与数据挖掘 • *8.5 其他新型的数据库系统 数据库原理
8.1 数据库技术的分类 数据库技术与网络通信技术、人工智能技术、面向对象程序设计技术、并行计算技术等互相渗透,互相结合,成为当前数据库技术发展的主要特征,涌现出各种新型的数据库系统,新一代的数据库技术主要体现在: 数据库原理
数据库技术的分类(续) (1) 整体系统方面:相对传统数据库而言,在数据模型及其语言、事务处理与执行模型、数据库逻辑组织与物理存储等各个方面,都集成了新的技术、工具和机制。属于这类数据库新技术的有: • l面向对象数据库(Object-Oriented Database); • l主动数据库(Active Database); • l实时数据库(Real-Time Database); • l时态数据库(Temporal Database)。 数据库原理
数据库技术的分类(续) (2) 体系结构方面:不改变数据库基本原理,而是在系统的体系结构方面采用和集成了新的技术。属于这方面的数据库新技术有: • l分布式数据库(Distributed Database); • l并行数据库(Parallel Database); • l内存数据库(Main Memory Database); • l联邦数据库(Federal Database); l数据仓库(Data Warehouse)。 数据库原理
数据库技术的分类(续) (3) 应用方面:以特定应用领域的需要为出发点,在某些方面采用和引入一些非传统数据库技术,加强系统对有关应用的支撑能力。属于这类的数据库新技术有: • l工程数据库(Engineering Database),支持CAD、CAM、CIMS等应用领域; • l空间数据库(Spatial Database),包括地理数据库(Geographic Database),支持地理信息系统(GIS)的应用; • l科学与统计数据库(Scientific and Statistic Database),支持统计数据中的应用。 l超文档数据库(Hyperdocument Database),包括多媒体数据库(Multimedia Database)。 数据库原理
8.2 面向对象数据库系统 面向对象数据库系统(Object Oriented Data Base System,简称OODBS)是数据库技术与面向对象程序设计方法相结合的产物。它既是一个DBMS,又是一个面向对象系统,因而既具有DBMS特性,如持久性、辅助管理、数据共享(并发性)、数据可靠性(事务管理和恢复)、查询处理和模式修改等,又具有面向对象的特征,如类型/类、封装性/数据抽象、继承性、复载/滞后联编、计算机完备性、对象标识、复合对象和可扩充等特性。 数据库原理
一、面向对象数据库系统的研究内容 对于面向对象数据库系统的研究主要体现在: (1)研究以关系数据库和SQL为基础的扩展关系模型。 (2)以面向对象的程序设计语言为基础,研究持久的程序设计语言,支持面向对象模型。 (3)建立新的面向对象数据库系统,支持面向对象数据模型。 数据库原理
二、面向对象数据模型 面向对象数据库系统支持面向对象数据模型(简称OO模型)。即面向对象数据库系统是一个持久的、可共享的对象库的存储和管理者;而一个对象库是由一个OO模型所定义的对象的集合体。 数据库原理
1.面向对象模型的基本概念 数据库原理
面向对象模型的基本概念 (1)对象(Object)与对象标识OID(Object IDentifier) 现实世界的任一实体都被统一地模型化为一个对象,每个对象有一个惟一的标识,称为对象标识(OID)。 数据库原理
面向对象模型的基本概念 • (2)封装(Encapsulation) 每一个对象是其状态与行为的封装,其中状态是该对象一系列属性(Attribute)值的集合,而行为是在对象状态上操作的集合,操作也称为方法(Method)。 数据库原理
面向对象模型的基本概念 (3)类(Class) 共享同样属性和方法集的所有对象构成了一个对象类(简称类),一个对象是某一类的一个实例(instance)。例如,学生是一个类,李枫、张晨、杨敏等是学生类中的对象。在数据库系统中,要注意区分“型”和“值”的概念。在OODB中,类是“型”,对象是某一类的一个“值”。类属性的定义域可以是任何类,即可以是基本类,如整数、字符串、布尔型,也可以是包含属性和方法的一般类。特别地,一个类的某一属性的定义也可是这个类自身。 数据库原理
面向对象模型的基本概念 (4)类层次(结构) 在一个面向对象数据库模式中,可以定义一个类(如C1)的子类(如C2),类C1称为类C2的超类(或父类)。子类(如C2)还可以再定义子类(如C3)。这样,面向对象数据库模式的一组类形成一个有限的层次结构,称为类层次。 数据库原理
面向对象模型的基本概念 (1)消息(Message) 由于对象是封装的,对象与外部的通信一般只能通过的消息传递,即消息从外部传送给对象,存取和调用对象中的属性和方法,在内部执行所要求的操作,操作的结果仍以消息的形式返回。 数据库原理
2.对象结构与标识 (1)对象结构:对象是由一组数据结构和在这组数据结构上的操作程序所封装起来的基本单位,对象之间的联系是通过一组消息来定义的,包括如下内容。 ①属性集合:属性描述对象的状态、组成、和特性,所有属性的集合构成对象数据的数据结构。对象可以嵌套,组成复杂的对象。 ②方法集合:方法描述对象的行为特性,包括方法的接口(方法调用的说明)和方法的实现(对象操作的算法)。 ③消息集合:对象之间操作请示的集合。 数据库原理
对象结构与标识 (2) 对象标识:在面向对象数据库中每个对象有惟一的、不变的标识,对象中的属性、方法会随时间变化,但对象的标识始终不变。对象标识主要有如下几种。 ① 值标识:用值表示的标识。例如关系数据库中元组的码。 ② 名标识:用名字表示的标识。例如变量的名字。 ③内标识:在建立数据模型或程序设计语言中,无须用户给出,而常由系统给出,类似数据库中的DBK。在面向对象数据库中,大多是内标识。 数据库原理
3.类结构与继承 (1)类的层次结构 在面向对象数据模式中,一组类可以形成一个类层次。一个面向对象数据模式可能有多个类层次。在一个类层次中,一个类继承其所有超类的属性、方法和消息。 数据库原理
学生 本科生 研究生 专科生 全日制本科生 成 教本科生 全日制专科生 成 教专科生 类的层次结构 数据库原理
3.类结构与继承(续) (2)继承 在面向对象模式中,继承分为单继承和多重继承。 单继承:一个子类只能继承一个超类的特性。 多重继承:一个子类能够继承多个超类的特性。 数据库原理
师生员工 教职工 学生 教师 职工 在职研究生 硕士 本科生 专科生 类的继承 数据库原理
继承性的特点是: ①继承性是建立数据模式的有力工具,它提供了对现实世界简捷而精确的描述。 ②继承性提供了信息重用的机制。 数据库原理
3.类结构与继承(续) (3)对象的嵌套 在面向对象数据库模式中,对象的属性不仅可以是单值或多值的,还可以是一个对象,这就是对象的嵌套关系。如果对象B是对象A的某个属性,则称A是复合对象,B是A的子对象。 对象的嵌套关系为用户提供了从不同的粒度观察数据库的方法。所谓粒度,就是数据库中数据细节的详细程度,细节越详细粒度越高。 数据库原理
三、面向对象数据库语言 面向对象数据库语言(OODB语言)用于描述面向对象数据库模式,说明并操纵类定义与对象实例。OODB语言主要包括对象定义语言(ODL)和对象操纵语言(OML)对象操纵语言中一个重要子集是对象查询语言(OQL)。 数据库原理
1.面向对象数据库语言的功能 (1)类的定义与操纵 面向对象数据库语言可以操纵类,包括定义、生成、存取、修改与撤销类。其中类的定义包括定义类的属性、操作特征、继承性与约束等。 (2)操作方法的定义 面向对象数据库语言可用于对象操作方法的定义与实现。在操作实现中,语言的命令可用于操作对象的局部数据结构。对象模型中的封装性允许操作方法由不同程序设计语言来实现,并且隐藏不同程序设计语言实现的事实。 (3)对象的操纵 面向对象数据库语言可以用于操纵(即生成、存取、修改与删除)实例对象。 数据库原理
2.面向对象数据库语言的实现 面向对象数据库语言分为类的定义和操纵语言、对象的定义和操作语言、方法的定义和操作语言三类。 数据库原理
类的定义和操纵语言 类的定义和操纵语言包括定义、生成、存取、修改和撤消类的功能。类的定义包括定义类的属性、操作特征、继承性与约束性等。 数据库原理
对象的定义和操纵语言 对象的定义和操纵语言用于描述对象和实例的结构,并实现对对象和实例的生成、存取、修改以及删除等操作。 数据库原理
方法的定义和操纵语言 方法的定义和操纵语言用于定义并实现对象(类)的操作方法。方法的定义和操纵语言可用于描述操作对象的局部数据结构、操作过程和引用条件。由于对象模型具有封装性,因而对象的操作方法允许由不同的程序设计语言来实现。 数据库原理
四、面向对象数据库的模式演进 数据库模式为适应需求的变化而随时间变化称为模式演进。 数据库原理
1.模式的一致性 模式在演进过程中不能出现自身的矛盾与错误,这是模式的一致性。模式的一致性通过一致性约束实现,包括惟一性约束、存在性约束和子类约束。 (1)惟一性约束:命名惟一。在一个模式中类命名必须惟一,同一类中属性名必须惟一,类名与属性名可以相同,但应尽量避免。 (2)存在性约束:显式引用的成分必须存在。被引用的类、属性和操作必须在模式定义中的相应位置中给予定义,操作还必须有其实现程序。 (3)子类约束:子类与超类之间不能出现环状联系,相互联系必须有必要的说明,并应避免由于多继承带来的冲突。 数据库原理
2.模式演进的操作 (1)类集的操作:包括对类的增加、删除和改名。 (2)类成分的改变:包括增加和删除类中的属性和方法,改变类中属性的名称和类型,改变类中操作的名称与功能。 (3)子类与超类联系的改变:包括增加新的超类和删除原有超类。 数据库原理
3.模式演进的实现 采取的方法是采用转换机制来实现一致性检测。所谓转换就是在面向对象数据库中,已有的对象根据新模式的结构进行变换以适应新的模式。根据转换发生的时间,有两种不同的转换方式。 (1)即转换方式:一旦模型变化立即执行所有变换,这种方式转换及时,但系统为执行转换,将发生停顿。 (2) 延迟转换方式:模式变化后先不转换,延迟到低层数据库或该对象存取时执行转换。这种方法可以避免系统停顿,但会影响运行效率。 数据库原理
五、对象-关系数据库 一个面向对象数据库系统必须满足两个条件: • 支持核心的面向对象数据模型; • 支持传统数据库系统所有的数据库特征。 数据库原理
1.面向对象数据库系统的特点 对象-关系数据库系统除了具有原来关系数据库的各种特点外,还应该具有以下特点: (1)有扩充的数据类型 (2)能支持复杂对象 (3)支持继承的概念 (4)提供通用的规则系统 数据库原理
2.实现对象-关系数据库的方法 (1)在现有关系数据库的DBMS基础上扩展,一般有两种途径。 (2)将现有关系数据库的DBMS与某种对象-关系数据库产品相连接,使现有关系数据库的DBMS。 (3)将现有与某种对象-关系数据库产品相连接,使现有面向对象型的DBMS具备对象-关系数据库的功能。 (4)扩充现有面向对象型的DBMS使之成为对象-关系数据库。 数据库原理
8.3 分布式数据库系统 分布式数据库是由一组数据组成的,这组数据分布在计算机网络的不同计算机上,网络中的每个结点具有独立处理的能力(称为场地自治),可以执行局部应用。同时,每个结点也能通过网络通信子系统执行全局应用。 数据库原理
一、分布式数据库系统的特点与目标 分布式数据库系统是在集中式数据库系统技术的基础上发展起来的,但不是简单地把集中式数据库分散地实现,它是具有自己的性质和特征的系统。 (1)数据独立性 在分布式数据库系统中,除了数据的逻辑独立性与物理独立性外,还有数据分布独立性亦称分布透明性。 (2)集中与自治相结合的控制结构 在分布式数据库系统中,数据共享的控制机构具有两个层次:集中和自治。 (3)适当增加数据冗余度 (4)全局的一致性、可串行性和可恢复性 数据库原理
分布式数据库系统的特点与目标(续) 分布式数据库系统的目标,主要包括技术和组织两方面。 (1)适应部门分布的组织结构,降低费用 (2)提高系统的可靠性和可用性 (3)充分利用数据库资源,提高现有集中式数据库的利用率 (4)逐步扩展处理能力和系统规模 数据库原理
二、分布式数据库系统的体系结构 分布式数据库系统的体系结构是在原来集中式数据库系统的基础上增加了分布式处理功能,比集中式数据库系统增加了四级模式和映像 数据库原理
全局外模式 全局外模式 映像1 全局概念模式 分布式数据库部分 映像2 全 局 DBMS 分片模式 映像3 分布模式 映像4 局部概念模式 局部概念模式 局 部 DBMS 集中式数据库部分 局部内模式 局部内模式 局部数据库 局部数据库 数据库原理
1.分布式数据库系统的模式结构 (1)局部外模式:全局应用的用户视图,是全局概念模式的子集。 (2)全局概念模式:定义分布式数据库系统的整体逻辑结构,为便于向其他模式映像,一般采取关系模式,其内容包括一组全局关系的定义。 (3)分片模式:全局关系可以划分为若干不相交的部分,每个部分就是一个片段。分片模式定义片段以及全局关系到片段的映像。一个全局关系可以定义多个片段,每个片段只能来源于一个全局关系。 (4)分布模式:一个片段可以物理地分配在网络的不同结点上,分片模式定义片段的存放结点。如果一个片段存放在多个结点,就是冗余的分布式数据库,否则是非冗余的分布式数据库。 数据库原理
2.分布透明性 (1)分布透明性:分布透明性的最高层次。用户或应用程序只考虑对全局关系的操作而不必考虑关系的分片,当分布模式改变时,通过全局模式到分布模式的映像(映像2),使得全局模式不变,从而应用程序不变,这就是分布透明性。 (2)位置透明性:是分布透明性的下一层。用户或应用程序不必了解片段的具体存储地点(场地),当场地改变时,通过分片模式到分布模式的映像(映像3),使得应用程序不变。并且即使在冗余存储的情况下,用户也不必考虑如何保持副本的数据的一致性,这就是位置透明性。 (3)数据模式透明性:用户或应用程序不必考虑场地使用的是哪种数据模式和哪种数据库语言,这些转换是通过分布模式与局部概念模式之间的映像(映像4)来实现的。 数据库原理
8.4 数据仓库与数据挖掘 数据库原理
一、数据仓库的概念 在支持管理的决策生成过程中,一个面向主题的、集成的、时变的、非易失的数据集合。这个定义中的数据是: • 面向主题的。因为仓库是围绕大的企业主题(如顾客、产品、销售量)而组织的。 • 集成的。来自于不同数据源的面向应用的数据集成在数据仓库中。 • 时变的。数据仓库的数据只在某些时间点或霎时间区间上是精确的、有效的。 • 非易失的。数据仓库的数据不能被实时修改,只能由系统定期地进行刷新。刷新时将新数据补充进数据仓库,而不是用新数据代替旧数据。 数据库原理
数据仓库的优点 数据仓库的成功实现能为一个企业带来的主要益处有: l提高公司决策能力:数据仓库集成多个系统的数据,给决策者提供公司较全面的数据,让决策者完成更多更有效的分析。 l竞争优势:由于决策者能方便地存取许多过去不能存取的或很难存取的数据,做出更正确的决策,因而能为企业带来巨大的竞争优势。 l潜在的高投资回报:为了确保成功实现数据仓库,企业必须投入大量的资金,但据IDC(国际数据公司)1996年的研究,对数据仓库3年的投资利润可达40%。 数据库原理
开发和管理数据仓库的问题 ① 低估数据装载工作 ② 源系统隐藏的问题 ③ 的数据源捕捉不到的数据 ④ 终端用户的需求不断增长 ⑤ 数据差异被忽略 ⑥ 对资源过高需求 ⑦ 数据的所有权问题 ⑧高维护性 ⑨集成的复杂性 数据库原理
二、数据仓库的结构 (1)数据源 数据源一般是OLTP系统生成和管理的数据(又称操作数据),数据仓库中的源数据来自于: • 企业中心数据库系统的数据,据估计企业的操作数据的大多数在这些系统中。 • 企业各部门维护的数据库或文件系统中(像VSAM、RMS和关系DBMS)部门数据。 • 在工作站和私有服务器的私有数据。 • 外部系统(像Internet、信息服务商的数据库或企业的供应商或顾客的数据库)的数据。 数据库原理
数据仓库的结构(续) (2)装载管理器 又叫前端部件,完成所有与数据抽取和装入数据仓库有关的操作。有许多商品化的数据装载工具,可根据需要选择和裁剪。 (3)数据仓库管理器 完成管理仓库中数据的有关操作,包括: l分析数据,以确保数据一致性。 l从暂存转换、合并源数据到数据仓库的基表中。 l创建数据仓库的基表上的索引和视图。 l若需要,非规范化数据。 l若需要,产生聚集。 备份和归档数据。 数据库原理
数据仓库的结构(续) (4)查询管理器 又叫后端部件,完成所有与用户查询的管理有关的操作。这一部分通常由终端用户的存取工具、数据仓库监控工具、数据库的实用程序和用户建立的程序组成。它完成的操作包括解释执行查询和对查询进行调度。 (5)详细数据 在仓库的这一区域中存储所有数据库模式中的所有详细数据,通常这些数据不能联机存取。 数据库原理