



版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第第1111章章 WebWeb数据库概述数据库概述 1第12章 面向对象数据库 12.1 12.1 面向对象数据库概述面向对象数据库概述12.2 12.2 面向对象数据模型面向对象数据模型12.3 12.3 面向对象数据库管理系统面向对象数据库管理系统12.4 12.4 对象对象- -关系数据库关系数据库第第1111章章 WebWeb数据库概述数据库概述 212.1 面向对象数据库概述12.1.1 12.1.1 面向对象数据库的产生背景面向对象数据库的产生背景12.1.2 12.1.2 面向对象数据库设计思想面向对象数据库设计思想12.1.3 12.1.3 面向对象数据库的应用和功能面向对象数
2、据库的应用和功能12.1.4 12.1.4 面向对象数据库的发展前景面向对象数据库的发展前景第第1111章章 WebWeb数据库概述数据库概述 312.1.1 面向对象数据库的产生背景 关系数据库有许多优点,但它存在以下局限性:数据关系数据库有许多优点,但它存在以下局限性:数据模型强调数据的高度结构化,面向机器而不是面向用户;模型强调数据的高度结构化,面向机器而不是面向用户;数据类型简单、固定;结构与行为分离,语义表达能力差;数据类型简单、固定;结构与行为分离,语义表达能力差;将复杂对象分解为多个基本关系来管理,查询实现复杂等将复杂对象分解为多个基本关系来管理,查询实现复杂等等。等。 随着计算
3、机应用领域的拓广,关系数据库系统已不能随着计算机应用领域的拓广,关系数据库系统已不能满足新的应用领域如计算机辅助设计满足新的应用领域如计算机辅助设计/ /制造(制造(CAD/CAMCAD/CAM)、)、计算机辅助软件工程(计算机辅助软件工程(CASECASE)、地理信息系统()、地理信息系统(GISGIS)、)、办公自动化系统(办公自动化系统(OASOAS)等的需要,这些应用领域面临的)等的需要,这些应用领域面临的共同问题是大型工程复杂数据的管理问题。新一代应用系共同问题是大型工程复杂数据的管理问题。新一代应用系统提出了以下要求统提出了以下要求: :第第1111章章 WebWeb数据库概述数据
4、库概述 412.1.1 面向对象数据库的产生背景 (1 1)支持复杂的数据类型。新一代应用领域的数据往往)支持复杂的数据类型。新一代应用领域的数据往往是几十种或上百种元素组成的对象,具有许多传统数据库是几十种或上百种元素组成的对象,具有许多传统数据库中没有的数据类型,如变长数据、非结构化字符串、图形、中没有的数据类型,如变长数据、非结构化字符串、图形、图象、声音、动画信息等,这些信息在传统数据库中一般图象、声音、动画信息等,这些信息在传统数据库中一般难以描述、操纵和检索。难以描述、操纵和检索。 (2 2)支持复杂的数据结构。工程设计往往是采用分层的)支持复杂的数据结构。工程设计往往是采用分层的
5、设计方法(自顶向下或自底向上),分层设计不仅要求有设计方法(自顶向下或自底向上),分层设计不仅要求有层次结构,而且对于不同的设计对象,层次数目也不一样。层次结构,而且对于不同的设计对象,层次数目也不一样。 (3 3)对象实例和类的演进。工程设计是一个渐进的过程,)对象实例和类的演进。工程设计是一个渐进的过程,特别是在大规模应用中,类是随着环境、需求、研究人员特别是在大规模应用中,类是随着环境、需求、研究人员研究的深入而发生变化的,这些变化称为模式演进。研究的深入而发生变化的,这些变化称为模式演进。 第第1111章章 WebWeb数据库概述数据库概述 512.1.1 面向对象数据库的产生背景 (
6、4 4)支持工程事务管理。工程事务的特点表现为长时)支持工程事务管理。工程事务的特点表现为长时间、协作性和试探性。传统数据库的并发控制策略无法间、协作性和试探性。传统数据库的并发控制策略无法满足这类事务的要求。满足这类事务的要求。 (5 5)一个复杂对象有许多子对象组成,而这些子对象)一个复杂对象有许多子对象组成,而这些子对象又有多个版本,这就需要用版本配置来组合成一个合理又有多个版本,这就需要用版本配置来组合成一个合理的复杂对象。持久性对象也同样存在版本的管理问题。的复杂对象。持久性对象也同样存在版本的管理问题。 (6 6)航式查询和关联查询访问。复杂应用中的对象)航式查询和关联查询访问。复
7、杂应用中的对象- -关系是大型的树状结构,需要系统提供在对象图中的高关系是大型的树状结构,需要系统提供在对象图中的高效导航能力,特别是多媒体对象实时性强,要求更高的效导航能力,特别是多媒体对象实时性强,要求更高的交互性能。另一方面,大型应用通过关联查询来访问对交互性能。另一方面,大型应用通过关联查询来访问对象也是必须的。象也是必须的。 第第1111章章 WebWeb数据库概述数据库概述 612.1.1 面向对象数据库的产生背景 (7 7)支持分布式系统中独立于平台的大型对象的存储。)支持分布式系统中独立于平台的大型对象的存储。新一代应用领域表现为数据密集,如图形图象等多媒体新一代应用领域表现为
8、数据密集,如图形图象等多媒体对象需要占用大量的存储空间,所以系统提供有效的存对象需要占用大量的存储空间,所以系统提供有效的存储和控制手段是十分必要的。储和控制手段是十分必要的。 (8 8)对约束、触发、规则等方面的支持。新一代应用)对约束、触发、规则等方面的支持。新一代应用系统的特点是对象的结构和操作非常复杂,有着丰富的系统的特点是对象的结构和操作非常复杂,有着丰富的语义信息。为了保证数据库的完整性和一致性,引入约语义信息。为了保证数据库的完整性和一致性,引入约束机制是非常必要的。束机制是非常必要的。 因此,把先进的面向对象机制和方法与数据库技术相因此,把先进的面向对象机制和方法与数据库技术相
9、结合而形成新一代的面向对象数据库系统是面向对象技结合而形成新一代的面向对象数据库系统是面向对象技术和数据库技术发展的必然产物。术和数据库技术发展的必然产物。 第第1111章章 WebWeb数据库概述数据库概述 712.1.2 面向对象数据库设计思想 面向对象数据库的基本设计思想是一方面把面向对象语面向对象数据库的基本设计思想是一方面把面向对象语言向数据库方向扩展,使应用程序能存取并处理对象,另一言向数据库方向扩展,使应用程序能存取并处理对象,另一方面扩展数据库系统,使其具有面向对象的特征,提供一种方面扩展数据库系统,使其具有面向对象的特征,提供一种综合的语义数据建模概念集,以便对现实世界中复杂
10、应用的综合的语义数据建模概念集,以便对现实世界中复杂应用的实体和联系建模。具体的策略或方案有以下几种:实体和联系建模。具体的策略或方案有以下几种: (1 1)建立全新的数据库模型和数据语言。不借助现有任)建立全新的数据库模型和数据语言。不借助现有任何系统,开发一个全新的面向对象的数据库语言和数据库管何系统,开发一个全新的面向对象的数据库语言和数据库管理系统。理系统。 第第1111章章 WebWeb数据库概述数据库概述 812.1.2 面向对象数据库设计思想 (2 2)用对象能力扩充数据库)用对象能力扩充数据库SQLSQL语言。在语言。在SQLSQL语言中加入面语言中加入面向对象机制的方法多为关
11、系数据库厂商所采用,目前流行的向对象机制的方法多为关系数据库厂商所采用,目前流行的关系数据库系统如关系数据库系统如OracleOracle、SysbaseSysbase、InformixInformix等都按这种方等都按这种方式进行了扩充,使其具有一定的面向对象功能。式进行了扩充,使其具有一定的面向对象功能。 (3 3)用数据库能力扩充面向对象程序设计语言()用数据库能力扩充面向对象程序设计语言(OOPLOOPL)。)。OOPLOOPL本身就具有抽象数据类型、继承、封装等特征,扩展仅本身就具有抽象数据类型、继承、封装等特征,扩展仅需加入数据库特征,如持久性、事务管理、查询等。需加入数据库特征,
12、如持久性、事务管理、查询等。 (4 4)提供一个可扩充的面向对象的数据库管理系统类库。)提供一个可扩充的面向对象的数据库管理系统类库。这些类库包含若干系统类,用于提供事务控制、对象簇聚的这些类库包含若干系统类,用于提供事务控制、对象簇聚的方法等。方法等。 第第1111章章 WebWeb数据库概述数据库概述 912.1.2 面向对象数据库设计思想 (5 5)把面向对象语言结构嵌入到传统的宿主语言中。)把面向对象语言结构嵌入到传统的宿主语言中。这类似于把这类似于把SQLSQL语言嵌入到语言嵌入到C C、FORTRANFORTRAN等语言中,用这种等语言中,用这种方法实现的典型产品是方法实现的典型产
13、品是O2 O2 。 (6 6)为特定的应用领域提供一个底层的面向对象数据)为特定的应用领域提供一个底层的面向对象数据库管理。这种方案无法提供一个通用的数据库环境,所库管理。这种方案无法提供一个通用的数据库环境,所以只能针对特定应用领域。以只能针对特定应用领域。 第第1111章章 WebWeb数据库概述数据库概述 1012.1.3 面向对象数据库的应用和功能 1. 1.面向对象数据库的应用面向对象数据库的应用 。面向对象数据库的应用。面向对象数据库的应用主要集中在以下几个方面主要集中在以下几个方面 : (1 1)计算机辅助设计)计算机辅助设计/ /制造(制造(CAD/CAMCAD/CAM) (2
14、 2)计算机集成制造系统()计算机集成制造系统(CIMSCIMS) (3 3)计算机辅助软件工程()计算机辅助软件工程(CASECASE) (4 4)地理信息系统()地理信息系统(GISGIS) (5 5)办公自动化系统()办公自动化系统(OASOAS) (6 6)超大规模集成电路设计()超大规模集成电路设计(VLSI DesignVLSI Design) 第第1111章章 WebWeb数据库概述数据库概述 1112.1.3 面向对象数据库的应用和功能 2. 2.面向对象数据库的功能面向对象数据库的功能 : :(1 1)复杂的信息建模能力)复杂的信息建模能力 (2 2)语义模式的设计)语义模式
15、的设计 (3 3)丰富的约束管理)丰富的约束管理 (4 4)动态模式演进)动态模式演进 (5 5)大规模数据管理)大规模数据管理 (6 6)对象的版本管理)对象的版本管理 (7 7)可伸缩性事务管理)可伸缩性事务管理 (8 8)计算完整的数据库编程语言)计算完整的数据库编程语言 第第1111章章 WebWeb数据库概述数据库概述 1212.1.4 面向对象数据库的发展前景 十多年中,面向对象数据库领域得到了很大的发展,已十多年中,面向对象数据库领域得到了很大的发展,已有许多实用的面向对象数据库系统面世。面向对象的方法尤有许多实用的面向对象数据库系统面世。面向对象的方法尤其适合于表示结构化的知识
16、的特点,预示着面向对象数据库其适合于表示结构化的知识的特点,预示着面向对象数据库向智能型数据库即知识库的方向发展。智能型数据库的许多向智能型数据库即知识库的方向发展。智能型数据库的许多领域已开始使用面向对象数据模型技术,并产生了巨大的效领域已开始使用面向对象数据模型技术,并产生了巨大的效果。果。 但是,目前面向对象数据库系统还存在一些问题,如缺但是,目前面向对象数据库系统还存在一些问题,如缺乏坚实的形式化理论支持,没有一个切实可行的标准,缺乏乏坚实的形式化理论支持,没有一个切实可行的标准,缺乏数据库的许多功能,产品之间的兼容性和可移植性较差;不数据库的许多功能,产品之间的兼容性和可移植性较差;
17、不能与关系数据库系统兼容,没有提供使关系数据库和面向对能与关系数据库系统兼容,没有提供使关系数据库和面向对象数据库相互转换的象数据库相互转换的“通道通道”;缺乏关系数据库系统成功使;缺乏关系数据库系统成功使用的一些功能特点,如非过程化查询语言、视图、授权等等。用的一些功能特点,如非过程化查询语言、视图、授权等等。第第1111章章 WebWeb数据库概述数据库概述 1312.1.4 面向对象数据库的发展前景 为了解决以上这些问题,面向对象数据库还需更深为了解决以上这些问题,面向对象数据库还需更深一步的研究。以下是几个研究方向:一步的研究。以下是几个研究方向: 1.1.标准化和形式化。对面向对象的
18、数据模型和相应标准化和形式化。对面向对象的数据模型和相应的程序接口语言进行标准化是必要的。在面向对象的数的程序接口语言进行标准化是必要的。在面向对象的数据库建立之前,强调对面向对象核心概念的某些方面进据库建立之前,强调对面向对象核心概念的某些方面进行形式化也是必要的。行形式化也是必要的。 2.2.性能改进性能改进 。从一代数据库技术向另一代转变,程。从一代数据库技术向另一代转变,程序员的工作变得相对容易的同时,数据库系统的性能成序员的工作变得相对容易的同时,数据库系统的性能成为要考虑的主要问题。因此需要投入相当多的研究和开为要考虑的主要问题。因此需要投入相当多的研究和开发力量,改善新一代数据库
19、的性能,使其达到一种可接发力量,改善新一代数据库的性能,使其达到一种可接受的水平。受的水平。 第第1111章章 WebWeb数据库概述数据库概述 1412.1.4 面向对象数据库的发展前景 3. 3.数据库的异质混合。管理异质数据库混合是面向数据库的异质混合。管理异质数据库混合是面向对象数据库系统付诸实现的过程。对象数据库系统付诸实现的过程。 4.4.数据库工具数据库工具 。面向对象数据模型的丰富语义是它。面向对象数据模型的丰富语义是它的优势所在。一方面,它使用户很容易建立他们的应用的优势所在。一方面,它使用户很容易建立他们的应用系统,但另一方面,具有类等级和类复合等级的面向对系统,但另一方面
20、,具有类等级和类复合等级的面向对象数据库模式的复杂性使数据库的逻辑设计和物理设计象数据库模式的复杂性使数据库的逻辑设计和物理设计问题变得相当复杂。所以,为面向对象数据库的逻辑设问题变得相当复杂。所以,为面向对象数据库的逻辑设计和物理设计提供有效的设计工具比关系数据库更为迫计和物理设计提供有效的设计工具比关系数据库更为迫切。切。 第第1111章章 WebWeb数据库概述数据库概述 1512.1.4 面向对象数据库的发展前景 5. 5.附加的数据库特征附加的数据库特征 。在视图、演绎能力、语义模。在视图、演绎能力、语义模型、长事务处理模型等数据库特征方面进行附加。型、长事务处理模型等数据库特征方面
21、进行附加。 6.6.可扩充的结构可扩充的结构 。(。(1 1)支持不同的数据模型。在)支持不同的数据模型。在面向对象数据库中,对面向对象数据模型做小的改变可面向对象数据库中,对面向对象数据模型做小的改变可能会引起数据库系统结构产生重大变化。能会引起数据库系统结构产生重大变化。 (2 2)支持语)支持语义扩充。由于版本的语义在设备之间存在着不同程度的义扩充。由于版本的语义在设备之间存在着不同程度的差异,所以一种比较有价值的方法是对版本提供一个分差异,所以一种比较有价值的方法是对版本提供一个分层结构,在低层支持一个通用的低级版本语义的基本机层结构,在低层支持一个通用的低级版本语义的基本机制,将高层
22、作成可扩充的适合各种特定设备的版本语义。制,将高层作成可扩充的适合各种特定设备的版本语义。 第第1111章章 WebWeb数据库概述数据库概述 1612.2 面向对象数据模型12.2.1 12.2.1 对象对象12.2.2 12.2.2 类类12.2.3 12.2.3 类层次类层次12.2.4 12.2.4 继承继承12.2.5 12.2.5 多重继承性多重继承性12.2.6 12.2.6 对象标识对象标识12.2.7 12.2.7 对象包含对象包含第第1111章章 WebWeb数据库概述数据库概述 1712.2.1 对象 对象(对象(ObjectObject)是现实世界中的一个实体在计算机系
23、)是现实世界中的一个实体在计算机系统中的抽象表示。一切概念上的实体都可以称作对象,如统中的抽象表示。一切概念上的实体都可以称作对象,如一个数字、一个人、一本书、一所学校。一个数字、一个人、一本书、一所学校。对象是包含属性对象是包含属性和方法的封装结构。和方法的封装结构。一个对象包括以下几个部分:一个对象包括以下几个部分: (1 1)实例变量集合。实例变量也称属性。所有实例变)实例变量集合。实例变量也称属性。所有实例变量的集合构成对象数据的数据结构,每个实例变量的值本量的集合构成对象数据的数据结构,每个实例变量的值本身也是一个对象。身也是一个对象。 (2 2)消息集合。消息指的是不考虑特定实现细
24、节情况)消息集合。消息指的是不考虑特定实现细节情况下对象间请求的传递,每个消息都能由该对象接收和响应,下对象间请求的传递,每个消息都能由该对象接收和响应,是对象对外提供的界面。是对象对外提供的界面。 (3 3)方法集合。方法是指加在对象上的操作。每个方)方法集合。方法是指加在对象上的操作。每个方法都是实现一个消息的程序编码,它返回一个值作为对消法都是实现一个消息的程序编码,它返回一个值作为对消息的响应。息的响应。 第第1111章章 WebWeb数据库概述数据库概述 1812.2.2 类 类(类(ClassClass)是具有相同特征(相同数据结构和相同)是具有相同特征(相同数据结构和相同操作)的
25、对象的集合。每一个对象成为它所在类的一个操作)的对象的集合。每一个对象成为它所在类的一个实例。一个类中的所有对象共享一个公共的定义,尽管实例。一个类中的所有对象共享一个公共的定义,尽管它们对变量所赋予的值不同。它们对变量所赋予的值不同。 类与对象是相对的,可以把类本身也看作一个对象,类与对象是相对的,可以把类本身也看作一个对象,称为类对象,它包含如下内容:称为类对象,它包含如下内容: (1 1)一个集合变量,它的值是该类的所有实例对象)一个集合变量,它的值是该类的所有实例对象所组成的集合。所组成的集合。 (2 2)消息)消息newnew,表示建立这个类的一个新实例。,表示建立这个类的一个新实例
26、。 (3 3)实现消息)实现消息newnew的方法及其程序代码。的方法及其程序代码。 第第1111章章 WebWeb数据库概述数据库概述 1912.2.3 类层次 在面向对象模型中,一个类可以是另一个类的子类,在面向对象模型中,一个类可以是另一个类的子类,或反之,一个类可以是另一个类的父类(又称超类)。这或反之,一个类可以是另一个类的父类(又称超类)。这样,面向对象模型的一组类可以形成一个有限的层次结构,样,面向对象模型的一组类可以形成一个有限的层次结构,称为类层次。在一个类层次中,一个类继承其所有超类称为类层次。在一个类层次中,一个类继承其所有超类(包括超类的超类)的全部实例变量、方法和消息
27、。(包括超类的超类)的全部实例变量、方法和消息。 在类层次结构中,从上而下是一个特殊化的过程,子在类层次结构中,从上而下是一个特殊化的过程,子类是超类的特例。反之,自下而上是一个普遍化、抽象化类是超类的特例。反之,自下而上是一个普遍化、抽象化的过程,超类是子类的概括,子类与超类之间的关系是的过程,超类是子类的概括,子类与超类之间的关系是IS-AIS-A关系。关系。第第1111章章 WebWeb数据库概述数据库概述 2012.2.3 类层次 图图12.1是一个企业职工数据库的类层次结构的例子:是一个企业职工数据库的类层次结构的例子:图图12.1 12.1 类层次结构图类层次结构图职工职工工人工人
28、管理人员管理人员清洁工清洁工焊工焊工钳工钳工第第1111章章 WebWeb数据库概述数据库概述 2112.2.4 继承 继承(继承(InheritanceInheritance)是面向对象系统中最重要的概念,)是面向对象系统中最重要的概念,是自动地共享类、子类和对象中的实例变量和方法的机制。是自动地共享类、子类和对象中的实例变量和方法的机制。上层对象具有的变量和方法,下层对象可以继承,从而使得上层对象具有的变量和方法,下层对象可以继承,从而使得具有不同结构但有层次联系的对象可以共享它们共同部分上具有不同结构但有层次联系的对象可以共享它们共同部分上的方法。的方法。 在面向对象系统中,对象是封装的
29、,如果没有继承机制,在面向对象系统中,对象是封装的,如果没有继承机制,类中的实例变量和方法就可能出现大量重复。类中的实例变量和方法就可能出现大量重复。 例如,工人类和管理人员类同为职工类的子类,都有姓例如,工人类和管理人员类同为职工类的子类,都有姓名、性别、年龄等属性,因而可以将工人和管理人员共有的名、性别、年龄等属性,因而可以将工人和管理人员共有的属性和方法在职工类中定义,工人特有的属性和方法在工人属性和方法在职工类中定义,工人特有的属性和方法在工人类中定义,管理人员特有的属性和方法在管理人员类中定义。类中定义,管理人员特有的属性和方法在管理人员类中定义。第第1111章章 WebWeb数据库
30、概述数据库概述 2212.2.5 多重继承性 在多数情况下,类的树形层次结构可以满足实际应在多数情况下,类的树形层次结构可以满足实际应用需要,在这些树形结构中,一个类的所有超类都在层用需要,在这些树形结构中,一个类的所有超类都在层次结构中互为祖先或后代,即任何两个超类之间都是祖次结构中互为祖先或后代,即任何两个超类之间都是祖先和后代的关系。但也有一些应用场合,仅有树形层次先和后代的关系。但也有一些应用场合,仅有树形层次结构是不够的。结构是不够的。 多重继承性可以解决此类问题。它是指一个类具有多重继承性可以解决此类问题。它是指一个类具有从多个超类中继承变量、方法和消息的能力。在多重继从多个超类中
31、继承变量、方法和消息的能力。在多重继承情况下,类承情况下,类子类的关系可用一个有向无环图(子类的关系可用一个有向无环图(DAGDAG)来表示,其中一个类可有多于一个的超类。来表示,其中一个类可有多于一个的超类。 第第1111章章 WebWeb数据库概述数据库概述 2312.2.6 对象标识 面向对象模型提供了一种机制,使得系统中任何对面向对象模型提供了一种机制,使得系统中任何对象都是唯一的,每个对象实例都被赋予一个唯一的标识象都是唯一的,每个对象实例都被赋予一个唯一的标识符,作为对象的标识。在对象创建时由系统自动生成的,符,作为对象的标识。在对象创建时由系统自动生成的,在概念上独立于对象的状态
32、和行为。对象标识一旦生成在概念上独立于对象的状态和行为。对象标识一旦生成是不能改变的,即使对象的状态发生了变化而对象标识是不能改变的,即使对象的状态发生了变化而对象标识不变,还是被看作同一对象。用户可以查看、查询对象不变,还是被看作同一对象。用户可以查看、查询对象标识,但不能改变它的值。标识,但不能改变它的值。 对象标识的概念是一个比在程序设计语言或不是基对象标识的概念是一个比在程序设计语言或不是基于面向对象的数据模型中所用到的标识概念更强的概念。于面向对象的数据模型中所用到的标识概念更强的概念。 内置标识是数据模型或程序设计语言中内置的一种内置标识是数据模型或程序设计语言中内置的一种标识方法
33、,不需要用户提供标识符。面向对象模型使用标识方法,不需要用户提供标识符。面向对象模型使用这种标识,每个对象在创建时由系统自动赋予一个标识这种标识,每个对象在创建时由系统自动赋予一个标识符。符。 第第1111章章 WebWeb数据库概述数据库概述 2412.2.7 对象包含 对象的变量的值也是一个对象,这就在对象之间产对象的变量的值也是一个对象,这就在对象之间产生一个嵌套层次结构。假设生一个嵌套层次结构。假设Object1Object1和和Object2Object2是两个对是两个对象,如果象,如果Object2Object2是是Object1Object1的某个变量的值,则称的某个变量的值,则
34、称Object2Object2属于属于Object1Object1,或,或Object1Object1包含包含Object2Object2,也称,也称Object2Object2是是Object1Object1的子对象。的子对象。 包含其他对象的对象称为复杂对象或复合对象。可包含其他对象的对象称为复杂对象或复合对象。可以存在多层包含,图以存在多层包含,图12.212.2所示的情形就产生了对象间的所示的情形就产生了对象间的包含层次。包含层次。台式计算机台式计算机图图12.2 12.2 台式计算机结构的包含层次台式计算机结构的包含层次显示器显示器键盘键盘电源电源硬盘硬盘机箱机箱主机主机鼠标鼠标光驱
35、光驱软驱软驱第第1111章章 WebWeb数据库概述数据库概述 2512.2.7 对象包含 包含是面向对象模型的一个重要概念,它允许不同包含是面向对象模型的一个重要概念,它允许不同的用户从不同的角度来观察数据。如一个显示器制造商的用户从不同的角度来观察数据。如一个显示器制造商可以只专注于显示器对象,而不用去关心主机类的对象。可以只专注于显示器对象,而不用去关心主机类的对象。 在某些应用中,一个对象可能要包含在多个对象中,在某些应用中,一个对象可能要包含在多个对象中,这时包含关系要用一个有向无环图(这时包含关系要用一个有向无环图(DAGDAG)而不是用层次)而不是用层次来表示。来表示。 第第11
36、11章章 WebWeb数据库概述数据库概述 2612.3 面向对象数据库管理系统12.3.1 12.3.1 类管理类管理12.3.2 12.3.2 对象管理对象管理12.3.3 12.3.3 对象控制对象控制第第1111章章 WebWeb数据库概述数据库概述 2712.3.1 类管理 类管理主要负责对类的定义、类的操作进行管理,类管理主要负责对类的定义、类的操作进行管理,具体包括:具体包括: (1 1)类定义。包括定义类的属性集、类的方法、类)类定义。包括定义类的属性集、类的方法、类的继承性以及完整性约束条件等,通过类定义可以建立的继承性以及完整性约束条件等,通过类定义可以建立一个类层次结构。
37、一个类层次结构。 (2 2)类层次结构的查询。包括对类的数据结构、类)类层次结构的查询。包括对类的数据结构、类的方法、类间关系的查询等。的方法、类间关系的查询等。 (3 3)类模型演进。面向对象数据库模式是类的集合,)类模型演进。面向对象数据库模式是类的集合,类模式为适应需求的变化而随时间不断变化称为类模式类模式为适应需求的变化而随时间不断变化称为类模式演进,它包括创建新类、删除或修改已有的类属性和方演进,它包括创建新类、删除或修改已有的类属性和方法等。法等。 第第1111章章 WebWeb数据库概述数据库概述 2812.3.1 类管理 OODB OODB应用环境对应用环境对OODBOODB类
38、模式演进提出了许多新的要求类模式演进提出了许多新的要求(如需要频繁地改变(如需要频繁地改变OODBOODB数据库模式且类模式的演进是数据库模式且类模式的演进是动态的等),使得动态的等),使得OODBOODB模式的修改比关系模式的修改更模式的修改比关系模式的修改更加复杂。类模式演进的主要内容有:加复杂。类模式演进的主要内容有: (1 1)类中内容变化,如增、删、修改类中的属性和方)类中内容变化,如增、删、修改类中的属性和方法等;法等; (2 2)类间关系的变化,如类间继承关系的改变等;)类间关系的变化,如类间继承关系的改变等; (3 3)类结构重组,如在类层次结构中增加、删除类等。)类结构重组,
39、如在类层次结构中增加、删除类等。 (4 4)类管理中的其他功能。如类的权限建立与删除、)类管理中的其他功能。如类的权限建立与删除、显示、打印等。显示、打印等。 第第1111章章 WebWeb数据库概述数据库概述 2912.3.2 对象管理 对象管理主要完成对类中对象的操纵管理,主要内容对象管理主要完成对类中对象的操纵管理,主要内容有:有: (1 1)对象的查询。即在类层次结构中,通过查询路径)对象的查询。即在类层次结构中,通过查询路径查找所需对象。查询路径由类、属性、继承路径等部分查找所需对象。查询路径由类、属性、继承路径等部分组成,一个查询可用一个路径表达式。组成,一个查询可用一个路径表达式
40、。 (2 2)对象的增加、删除和修改操作。)对象的增加、删除和修改操作。 (3 3)索引与簇集。为提高对象的查询效率,按类中属)索引与簇集。为提高对象的查询效率,按类中属性及路径建立索引以及对类及路径建立簇集。性及路径建立索引以及对类及路径建立簇集。 第第1111章章 WebWeb数据库概述数据库概述 3012.3.3 对象控制 对象控制所采用的基本方法与传统数据库系统有相对象控制所采用的基本方法与传统数据库系统有相似之处,但似之处,但OODBMSOODBMS为实现新的功能使具体处理变得更为为实现新的功能使具体处理变得更为复杂。对象控制包括以下内容:复杂。对象控制包括以下内容: (1 1)通过
41、方法与消息实现完整性约束条件的表示及检)通过方法与消息实现完整性约束条件的表示及检验。验。 (2 2)引入授权机制等实现安全性功能。)引入授权机制等实现安全性功能。 (3 3)并发控制与事务处理的具体实现更为复杂,事务)并发控制与事务处理的具体实现更为复杂,事务处理还需要增加长事务及嵌套事务处理的功能。处理还需要增加长事务及嵌套事务处理的功能。 (4 4)故障恢复。)故障恢复。 第第1111章章 WebWeb数据库概述数据库概述 3112.4 对象-关系数据库12.4.1 12.4.1 对象对象- -关系数据库系统的定义关系数据库系统的定义12.4.2 12.4.2 对象对象- -关系数据库系
42、统的特点关系数据库系统的特点12.4.3 12.4.3 对象对象- -关系数据库系统的实现方法关系数据库系统的实现方法第第1111章章 WebWeb数据库概述数据库概述 3212.4.1 对象-关系数据库系统的定义 在传统的关系数据模型基础上,提供元组、数组、在传统的关系数据模型基础上,提供元组、数组、集合一类丰富的数据类型以及处理新的数据类型操作的集合一类丰富的数据类型以及处理新的数据类型操作的能力,并且具有继承性和对象标识等面向对象特点,这能力,并且具有继承性和对象标识等面向对象特点,这样形成的数据模型,称为对象样形成的数据模型,称为对象- -关系数据模型。基于对象关系数据模型。基于对象-
43、 -关系数据模型的数据库系统称为对象关系数据模型的数据库系统称为对象- -关系数据库系统,关系数据库系统,简称简称ORDBSORDBS。 ORDBSORDBS为那些希望使用具有面向对象特征的关系数据为那些希望使用具有面向对象特征的关系数据库用户提供了一条捷径。在对象库用户提供了一条捷径。在对象- -关系模型中,关系模型中,ERER模型的模型的许多概念,如实体标识、多值属性、泛化许多概念,如实体标识、多值属性、泛化/ /细化等,无需细化等,无需经过变换转化可直接引用。经过变换转化可直接引用。 第第1111章章 WebWeb数据库概述数据库概述 3312.4.2 对象-关系数据库系统的特点 对象对
44、象- -关系数据库系统兼有关系数据库和面向对象数据关系数据库系统兼有关系数据库和面向对象数据库两方面的特征,它除了具有原来关系数据库的特点外,还库两方面的特征,它除了具有原来关系数据库的特点外,还具有以下特点:具有以下特点: (1 1)允许用户扩充基本数据类型,即允许用户根据应用)允许用户扩充基本数据类型,即允许用户根据应用需求自己定义数据类型、函数和操作符,而且一经定义,这需求自己定义数据类型、函数和操作符,而且一经定义,这些新的数据类型、函数和操作符将放在数据库管理系统核心些新的数据类型、函数和操作符将放在数据库管理系统核心中供所有用户公用。中供所有用户公用。 (2 2)能在)能在SQLS
45、QL中支持复杂对象,即由多种基本类型或用中支持复杂对象,即由多种基本类型或用户定义类型构成的对象。户定义类型构成的对象。ORDBSORDBS通过对通过对SQLSQL语言的语言的 SELECTSELECT句句型使用方式稍加修改就能处理带有复合类型、嵌套和引用类型使用方式稍加修改就能处理带有复合类型、嵌套和引用类型的型的ORDBORDB查询。查询。 第第1111章章 WebWeb数据库概述数据库概述 3412.4.2 对象-关系数据库系统的特点 (3 3)能够支持子类对超类的各种特性的继承,支持)能够支持子类对超类的各种特性的继承,支持数据继承和函数继承,支持多重继承,支持函数重载。数据继承和函数
46、继承,支持多重继承,支持函数重载。如在如在ORDBSORDBS中支持类型一级的继承性,也可实现表级继承中支持类型一级的继承性,也可实现表级继承性。性。 (4 4)能够提供功能强大的通用规则系统,而且规则)能够提供功能强大的通用规则系统,而且规则系统与其他的对象系统与其他的对象关系能力是集成为一体的。例如,关系能力是集成为一体的。例如,规则中的事件和动作可以是任意的规则中的事件和动作可以是任意的SQLSQL语句,可以使用用语句,可以使用用户自定义的函数,规则能够被继承等。户自定义的函数,规则能够被继承等。第第1111章章 WebWeb数据库概述数据库概述 3512.4.3 对象-关系数据库系统的
47、实现方法 实现对象实现对象- -关系数据库系统的方法主要有以下关系数据库系统的方法主要有以下5 5种:种:(1 1)从头开发)从头开发ORDBMSORDBMS。这种方法费时费力,不太现实。这种方法费时费力,不太现实。(2 2)从现有的关系型)从现有的关系型DBMSDBMS基础上进行扩展。扩展方法有两基础上进行扩展。扩展方法有两种:种: 对关系型对关系型DBMSDBMS核心进行扩充,逐渐增加面向对象特性。核心进行扩充,逐渐增加面向对象特性。这是一种比较安全的方法,新系统的性能往往比较好。这是一种比较安全的方法,新系统的性能往往比较好。 不修改现有的关系型不修改现有的关系型DBMSDBMS核心,而是在现有关系型核心,而是在现有关系型DBMSDBMS外面加一个包装层,由包装层提供对象外面加一个包装层,由包装层提供对象- -关系型应用编程接关系型应用编程接口,并负责将用户提交的对象口,并负责将用户提交的对象- -关系
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 如何加强对创业扶持政策的定期评估试题及答案
- 电动汽车市场转型的技术考试题及答案
- 新能源汽车对汽车产业链带来的变革试题及答案
- 营销期中考试试卷及答案
- 英语三级实考试卷及答案
- 英语初一下册试卷及答案
- 小学英语听力试题及答案
- 慢病公卫试题及答案
- 未来汽车的绿色技术与动力系统试题及答案
- 旋律构建能力考察试题答案
- 2025-2030中国非调质钢市场供需状况与未来发展战略规划研究研究报告
- 2025年浙江省宁波市一模科学试卷
- 《Python数据可视化》全套教学课件
- 河北省2025年普通高中学业水平选择性考试·调研卷I语文+答案
- 泰语高级测试题及答案
- 聚焦财税场景的AIBM生态服务行业白皮书
- 2024年绵阳市商业银行招聘考试真题
- GB/T 35267.4-2025清洗消毒器第4部分:内镜清洗消毒器
- 规范佩戴红领巾
- TCAWAORG 032-2024 家庭医生远程与互联网健康服务规范
- 2025年春季学期 形势与政策讲稿第五讲-从教育大国迈向教育强国
评论
0/150
提交评论