时间:2022-11-02 14:30:01 | 来源:信息时代
时间:2022-11-02 14:30:01 来源:信息时代
面向对象数据库系统 : 为了管理复杂数据,通过面向对象技术和数据库技术结合而产生的新一代数据库管理系统。它满足两个准则: 首先它是一个数据库管理系统,具备存储管理、查询处理、事务处理等基本功能; 其次是一个面向对象系统,可以看成是由一种面向对象程序设计语言创建的对象的永久存储,支持面向对象计算模型。
对象数据管理小组(object data management group,ODMG)是著名的对象管理小组(object management group,OMG)成员之一,它成立于1991年,并于1993年发布第一版对象数据标准ODMG1.0。1999年发布的第三版ODMG3.0已经被广泛认可为一个比较成熟的关于面向对象数据库系统的标准。它主要规范和引导面向对象数据库市场,以解决由于缺少标准而造成各种面向对象数据库产品间缺乏可移植性的问题,保护用户和厂商双方利益。ODMG标准把面向对象数据库系统定义为数据库与面向对象语言的结合,它主要由以下四个部分组成:
(1)对象模型:它从OMG对象模型继承演化而来,主要定义了对象的特性、对象间的关系(继承)等。
(2) 对象描述语言: 它包括对象定义语言(object definition language,ODL)和对象交互格式(object interchange format,OIF)。对象定义语言主要定义对象数据类型。而对象交互格式主要用于以文件形式存储对象数据类型及其实例,实现面向对象数据库可移植性。
(3)对象查询语言: ODMG定义了非过程型的对象查询语言(object query language,OQL),用于查询数据库对象。ODMG遵循SQL标准,但在其上又增加了对象的功能。但是ODMG的OQL不包括SQL的UPDATE等数据操纵语句,对象操纵语言(object manipulation language,OML)功能由语言绑定完成。
(4) 对象语言绑定: ODMG3.0绑定了C++,Smalltalk和Java三种语言。语言绑定主要是实现ODL和ODMG缺乏的OML。同时利用这些语言的灵活性可以方便对ODMG实现扩展。
在关系数据库系统中,视图是一种非常有用的机制,视图简化了用户对数据库概念模式的了解,使用户对数据库的扩充或重构都不敏感,而且对隐藏的数据可以自动提供安全保护。面向对象数据库将数据和操作封闭成对象,对象具有自己独自唯一的标识符,不能进行分割和重组,以至于对象视图难以实现。面向对象数据库20世纪90年代初期曾一度挑战关系数据库,但由于面向对象数据库柔软性差、成熟度低、复杂难用,尽管开发出许多商用化面向对象数据库产品,但最终没有被市场广泛接受。
针对面向对象数据库的问题,国际著名数据库专家Stonebraker教授在20世纪90年代提出了对象关系数据库,它被称为关系数据库和对象数据库的结合。为了说明对象关系数据库的地位和作用,他给出了矩阵图1。
图1 对象关系数据库系统地位与作用