自第一代层次和网状数据库技术、第二代关系数据库技术的蓬勃发展,80年代以来,不同领域的应用提出了许多新的数据管理需求,数据库技术的研究和发展进入了新的一代,其中的一个重要特点是:将面向对象的思想、方法和技术引入数据库。   数据库技术的发展,使它已经成为现代信息技术的重要组成部分,是现代计算机信息系统和计算机应用系统的基础和核心。可以说,没有数据库技术的发展,就没有优秀的数据库产品的推出和应用,社会信息化的进程将是难以实现的。在当今几大数据库(SQL Server、Oracle、DB2、 
Sybase、Informix)中,Oracle占据着强大的市场份额;同时,世界上前10名Web站点用的是Oracle数据库,全世界70%互联网平台用的是Oracle,在UNIX操作平台上,Oracle更是独树一帜。   目前,Oracle的版本是8(简称Oracle8,下同)。Oracle8是Oracle引入面向对象技术的第一个版本。另外,Oracle8还有诸如支持分布式处理、支持网络计算等许多功能。本文侧重点是利用面向对象的知识和观点来认识Oracle8。   一、面向对象数据库技术的发展   自第一代层次和网状数据库技术、第二代关系数据库技术的蓬勃发展,80年代以来,不同领域的应用提出了许多新的数据管理需求,数据库技术的研究和发展进入了新时代,其中的一个重要特点是:将面向对象的思想、方法和技术引入数据库。   在面向对象技术和数据库技术相结合的过程中,基本上是沿着两种途径发展的:一种实现途径是建立纯粹的面向对象数据库管理系统(即OODBMS),这种途径往往是以一种面向对象语言为基础,增加数据库的功能,主要是支持持久对象和实现数据共享。面向对象的数据库不仅在处理多媒体等数据类型时可以做到游刃有余,而且在应用系统开发速度和维护等方面有着极大的优越性。面向对象数据库系统产生于80年代后期,它利用类的设施来描述复杂对象,利用类中封装的方法来模拟对象的复杂行为,利用继承性来实现对象的结构和方法的重用。面向对象数据库系统对一些特定应用领域(例如CAD等),能较好地满足其应用需求。但是,这种纯粹的面向对象数据库系统并不支持SQL语言,在通用性方面失去了优势,因而其应用领域受到了很大的局限。   第二种实现途径是从传统的关系数据库加以扩展,增加面向对象的特性,把面向对象技术与关系数据库相结合,建立对象关系数据库管理系统(ORDBMS)(注意,在这里使用了“对象关系数据库”这个词,因为此实现既非纯粹的面向对象的数据库也非纯粹的关系数据库,它代表两者的结合),这种系统既支持已经被广泛使用的SQL,具有良好的通用性,又具有面向对象特性,支持复杂对象和复杂对象的复杂行为,是对象技术和传统关系数据库技术的最佳融合。对象技术和关系技术珠联璧合的优点,吸引着全球数据库厂商竞相研究开发。如何在现有的关系型数据库产品中加入对象技术,即开发面向对象的关系型数据库成为数据库软件厂商竞争的一个焦点。在这一研究和发展领域的杰出代表即是Oracle8。而实际上在这一方面也一直存在争论:究竟新一代主流数据库技术是面向对象的数据库呢还是具有面向对象的SQL数据库。从目前的发展来看,有以下几点理由将使得面向对象的方法成为主流。
 一、向对象的数据库Oracle8对用户当前的关系数据库是向下兼容的,因此用户可以把当前的关系数据库和应用移植到Oracle8而不用重写。然后如果他们愿意的话再把它们移植为具有Oracle8的面向对象的特点。用于Oracle7上的软件绝大多数也可用于Oracle8版本上。它已经提供了一种支持对象而又不必抛弃现有应用系统的机制。   二、向对象与关系表达的结合在Oracle8中是语义清晰的,比单独的关系或面向对象的表示更有力得多。这使设计紧凑有效的数据库更为容易。   三、纯粹的面向对象的数据库不支持SQL数据库的标准查询。   正是这些令人不得不接受的理由,使得人们将关系数据库逐步转到对象关系数据库,而不是完全摒弃关系数据库。   二、Oracle数据库的发展   Oracle是一个功能极其强大的数据库系统。它一直是计算机技术领先的一个源泉。它起始于70年代末的灵巧的关系数据库技术。那时,关系数据库是有关怎样构造和存放数据的新方法。这种类型数据库的关键是怎样理解数据间的关系,然后怎样构造反映这些关系的信息库。1984年Oracle完成了都说是不可能的事,成功地将关系数据库转移到了桌面计算机上。Oracle5提供了一个完整的客户/服务器体系结构的商用DBMS。利用SQL*NET软件层,与多种操作系统支持的通信协议相配合,为Oracle关系型数据库管理系统提供分布式环境,可实现单点更新,多点查询,这使市场意识到了分布式数据库、客户/服务器结构的可能性,以及减少集中应用的可行性。Oracle的版本6关系数据库公布了革命性的行锁定模式、革新性的PL/SQL语言以及对簇和对等多处理器计算机的支持,提高了事务处理速度。使关系数据库应用进入了一个全新的天地。1992年推出的Oracle7采用了多线索服务器体系结构,能在所有硬件体系结构上为大量用户提供可扩充的高性能。Oracle7采用了自协调的多线索服务器体系结构,根据当前工作负荷,动态调整数据库服务器进程的个数。这都为构造产业化的、高可靠性的、网络工作组的以及企业类的应用提供了技术支持。   1997年6月25日,Oracle公司在全球举行了隆重的Oracle8产品发布会。Oracle8不仅允许用户以处理关系数据的同样方式来处理对象数据,而且为处理对象数据专门设计了新功能,也可同样用来处理关系数据。这种数据的无缝操作体现了Oracle8 的对象技术的精髓渗透到Oracle8 数据库服务器之中,而不是包裹在现有的关系数据库外部薄薄的外壳。因此,Oracle 8是一个紧密集成的对象关系数据库管理系统解决方案,它没有像其他的数据库产品那样只是在现有的关系数据库上附加一个采用对象技术的外壳,或者在关系数据库和客户端应用软件之间提供一个对象服务器网关。对象技术和关系型数据库的很好结合,使得用户现有的Oracle7应用软件无需移植,便可以在Oracle8上使用,这极大地保护了现有客户的投资。如果单从Oracle8数据库产品来看,它是业界一个可靠的、集成的对象型关系数据库产品。
 三、对象型关系数据库Oracle8 对象关系数据库是一个能存贮数据、数据间的关系以及数据的行为(即它与其它数据相互作用的方式)的数据库。 Oracle8是对象关系数据库的一个实现,它的基础是关系数据库,但它又引入了面对对象的技术。   现在有许多面向对象程序设计语言正在使用对象,包括C++和Java。这样的程序设计语言允许用户定义和操纵这些对象。但是它们缺少的是永久性-可以以安全、一致的方式存储检索对象的能力,而这正是象Oracle8这样的对象关系数据库可以发展威力的地方。Oracle8被设计成能够象处理关系型数据那样存储和检索对象数据。Oracle8同时提供了一致性事务控制(consistent transactional control)、安全备份和恢复(secutre backup and recovery)、优秀的查询性能、锁定和同步、以及可缩放性(scalability)等等的优点。将对象和关系型模型和二为一可以使我们同时拥有两个世界--关系型数据库的强大功能和可靠性以及对象的灵活性和可模型化功能。   关系数据库方法是在一个最低级的层次上,用一系列的表列和行处理数据。面向对象的方法是在更高的层次上处理数据的。它处理包裹着数据的对象。在面向对象的数据库中处理客户时,是处理一个称为“客户”的对象。当处理一个序时,引用 一个称为序的对象。因为对象数据库理解对象客户和所有它的关系,它能容易地处理对象客户和所有与它一起工作的对象。   在关系模型中,序实际是许多不同的表的组合,并带有装有支持和维护一个序所需的属性的交表。对象模型中,数据库对相互间的关系具有智能。在关系模型中则没有。当对关系模型作出更改时,通常翻译成一系列的新表,此系列是如果模型还要继续使用的话必须建立的。这些关系必须由一个数据库设计者来重新设计。   四、发展趋势   尽管面向对象技术以及面向对象数据库是近些年来学术界和工业界的热门话题,而纯粹的面向对象数据库的市场只有它的百分之一,将来的市场份额也不容乐观。但可以预测的是,数据库市场将通过第二种途径逐步实现由关系型系统转移到对象关系型系统。现在几乎所有的关系型数据库厂商都已经意识到这一点。目前各大数据库厂商就数据库的未来技术展开了激烈的角逐,竭尽全力赶在技术前沿纷推出具有对象特点的关系数据库产品。Oracle8就是这一竞争的杰出成果,虽然它不能完全符合对象关系数据库理论的所有要求,但已经包含和融入了许多面向对象技术的特征,这不能不说这是面向对象技术在数据库方面的重要结合和应用,不能不说是Oracle的重大进步和发展。   通过现在的实践表明,初步引入了面向对象技术的Oracle8已经产生了预期的效果,可以相信,随着对Oracle8版本不断的丰富、完善和改进,将来它能够赢得更大的市场,领导着数据库技术取得更大进步。