一 数据管理技术随着应用进步而迅速发展
应用的发展始终是数据管理技术进步的动力。或者说,应用发展与技术进步是互相推动、互相促进的。回顾数据管理领域的发展历史,正说明了这一点。
在五十年代后期到六十年代中期,数据管理功能主要由文件系统实现,只提供较为简单的数据存取功能,各个文件之间相互独立、互相不发生联系,系统对数据文件提供打开文件、关闭文件、从文件中读/写一个记录等操作。
但随着应用的发展,要求存储和管理有结构的数据,即不但管理数据本身,还管理数据间的联系,以便提供按照数据间的联系进行导航式的查询,从而大量的查询应用需求可以由系统(而不必通过应用程序)直接予以满足。于是在六十年代后期产生了数据库系统。
数据库系统管理的数据是有结构的,提供强有力的数据查询功能,并提供良好的数据共享性。当时,数据库系统大都采用层次数据模型或网状数据模型。随着数据管理技术的发展,在七十年代初,提出了关系数据理论,建立了关系数据方法,继而诞生了关系数据库系统。
关系数据库系统管理的数据,其结构较为简单,数据本身以二维表形式进行存储;表之间的数据联系通过一个表的码与另一个表的外码的连接来体现。关系数据库系统提供了强大的查询功能,提供了十分方便、易用的非过程化的查询语言(已形成关系数据库语言国际标准SQL),从而获得了极为广泛的应用,大大促进了商务数据处理应用的飞速发展。
随着像CAD、CASE、图像处理、GIS等新的应用领域的发展,以及传统应用领域中应用的深化(例如:需处理多媒体信息),要求数据管理软件管理复杂对象,模拟复杂对象的复杂行为(对数据施加较为复杂的操作)。于是,在八十年代中后期产生了面向对象数据库系统,把面向对象技术与数据库技术结合起来,利用类的设施来描述复杂对象,利用类中封装的方法来模拟对象的复杂行为,利用继承性来实现对象的结构和方法的重用。
面向对象数据库系统对一些特定应用领域(例如CAD等),较好地满足了其应用需求。但是,这种纯粹的面向对象数据库系统,并不支持SQL,在通用性方面失去了优势,其应用领域受到很大的局限。在面向对象技术与数据库技术相结合的过程中,基本上是沿着两种途径发展的:一种是建立纯粹的面向对象数据库管理系统(即OODBMS),这种途径往往是以一种面向对象语言为基础,增加数据库的功能,主要是支持持久对象和实现数据共享。
另一种途径是从传统的关系数据库加以扩展,增加面向对象特性,把面向对象技术与关系数据库相结合,建立对象-关系数据库管理系统(即ORDBMS),ORDBMS既支持已被广泛使用的SQL,具有良好的通用性,又具有面向对象特性,支持复杂对象和复杂对象的复杂行为。
正在制定的新的SQL国际标准(现称为SQL3)体现了ORDBMS的特征。ORDBMS适应了某些新应用领域的需要和传统应用领域深化发展的需要,因而近几年来,ORDBMS获得了快速的发展。
二.应用需求分类和数据管理软件
应用需求是数据库管理系统和其它数据管理软件发展的推动力。
不同的应用领域需要管理的数据类型、数据复杂程度不同;对数据所需进行的查询的复杂程度不同;对数据的其它操作处理,以及数据安全性、并发控制、故障恢复等的要求也不同。
没有一种万能的数据管理软件能够满足所有的应用需求,能够有效地为各个不同的应用领域服务。因此,受应用需求的驱动,多种多样的数据管理软件被研制出来,推向市场。
下面,我们以数据的复杂程度和查询要求的复杂程度为基本区分原则,将应用需求进行分类,并对适合于各类应用需求的数据管理软件进行讨论。
1.简单数据,简单查询———文件系统
我们以正文处理系统为例,描述这一类应用的需求。文字处理是办公室工作中必不可少的一项内容。常见的正文处理系统有Word、Framemaker、Word Perfect、vi等。它们的工作方式非常简单:使用者用名字打开文件,文件内容被拷贝到虚存中。在编辑正文时,更新虚存对象,对象被定期地保存到硬盘中。在结束正文处理时关闭文件,这时,虚存中的拷贝被存回到文件系统中。 上面描述的这种正文处理系统代表了一类可称为简单数据简单查询(或无查询要求)的应用需求。它的数据结构非常简单,仅仅是字符的序列;它的查询要求更为简单,仅仅是读文件和写文件。因此,对于此类应用,操作系统厂商提供的文件系统就足以满足其功能要求,并具有较高的性能。