面向对象与数据库技术的结合

引言

八十年代是数据库尤其是关系数据库广泛应用的黄金时期。但是随着数据库应用的不断深入,对图形、图象、超文本等复杂数据类型的处理成为新的课题。因此,近十年来,把其他技术渗透到数据库系统中的研究和实践得到充足的发展。在这一发展中,最引人注目、成果最丰富的可谓是面向对象方法和数据库技术的结合。经历了十多年的风风雨雨,面向对象数据库系统不仅理论上已经取得了一批重要成果,而且在原型系统和产品实践上也已探索出一些实用的方法。本文就面向对象和数据库技术结合方法的主要流派和发展情况进行综述,并通过实例从不同侧面分析它们的结构和技术特点。

数据库与面向对象技术的结合方法面向对象数据库概念从提出之日起就是一个颇有争议的话题。它的争议不是在两者是否需要结合的问题上,而是在两者如何结合上。追溯面向对象数据库技术发展历程,可以大致归纳为如下几种解决思想。

1.对象一关系数据库

传统的关系型数据库(RDB)是建立在关系代数基础上的,一个用户记录是由若干个具有特定数据类型的字段组成的。这些数据类型被限制在有关字符、数字等简单类型上。随着信息处理的多样化,有关图象、图形、声音、页面、档案、地理信息以及影象等信息的处理成为必需。究其原因,是传统的RDB的数据类型是不开放的,用户只能使用系统规定的数据类型而无法扩充和定义。为此,一种称为对象一关系数据库(0RDB)方法被提出,旨在扩充关系型数据库使之支持抽象数据类型(ADT)的定义和使用。

SQL语言是传统的RDB系统的操作语言,无论是在标准化还是成熟性方面都是无可挑剔的。但是,新的ADT的引入已经超出传统的sQL所及的范围。幸运的是,ADT的引入是完全基于面向对象思想的。一个ADT把数据和操作封装在一起,因此只要扩充SQL语言使之能够调用ADT的操作方法,就可以象内部原有的数据类型一样被用户使用。

2.面向对象数据库

目前,在对面向对象数据库概念的理解上有两个层次。其一是广义的理解,即把使用面向对象技术的数据库系统都称谓面向对象数据库系统。另一种是狭义的理解,即以一种革命化的新方法在数据模型、查询语言及系统结构等方面,全面引进面向对象概念和技术。本小节讨论的是面向对象数据库系统的狭义概念,简称为00DB。1989年,在由Atkinson等发表的“面向对象数据库系统宣言”中,详细阐述了OODB系统的13条必备特征、8条可选特征和其他特征【5】。这是首次比较全面的对00DB系统的性质进行阐述,对后来的发展起了重要的作用。简言之,OODB系统必须解决两个基本问题:

(1)支持核心的面向对象数据模型和诸如封装性、继承性、多态性等性质。

(2)扩充传统数据库的语义、语法,使00DB与面向对象数据模型融合,成为独立于应用程序的新型数据服务手段。

3.演绎面向对象数据库

传统的演绎数据库(DDB)是基于关系模式的,通过演绎推理达到对关系数据库中数据的挖掘和利用【3】。它面临处理复杂数据的新的挑战。面向对象技术已经成为解决复杂数据类型的一种有效方法,但是,00DB系统的发展表明它的形式语义、模式演化等问题仍未取得期望的结果。演绎面向对象数据库(D00DB)旨在把两者有机结合起来,为面向对象数据库的实现提供一种新的途径。它要解决的两个主要问题是:

(1)复杂对象模型及相应逻辑语言。它是从DDB出发,增加对复杂数据类型的支持。为此,必须解决复杂对

33 万方数据

相关文档
最新文档