数据库技术与面向对象程序设计方法相结合形成了面向对象数据库系统(Object Oriented Database System, OODBS),它是支持将数据当作对象来模拟和创造的一种数据库管理系统。通常认为,对象数据库必须满足两项标准:它必须是一个数据库管理系统,并且必须是面向对象的系统,例如在尽可能的范围内它必须与当前的面向对象的程序语言相兼容。第一个标准转换为五个特征:持续性、二级存储管理、同步性、防御性和一个特定询问工具。第二个标准转换为八个特性:复杂的对象、对象一致性、封装、类型、继承性、迟约束、可延长性和计算的
完全性。
传统的层次、网状和关系数据库系统在许多传统的商业数据库应用中取得了极大的成功,然而在设计和实现更为复杂的数据库应用时,传统数据库系统就暴露了一些缺陷。在设计与实现工程设计和制造数据库、科学实验数据库、电信数据库、地理信息系统数据库以及多媒体数据库的时候,新的应用要求被提出了。如长事务的处理、图像或大文本项等新数据类型的存储、以及非标准的特殊应用操作,传统的数据库系统往往不能满足这些复杂数据库应用的要求。
面向对象程序设计方法已经被广泛地应用于软件工程、知识库、人工智能和计算机系统等领域。面向对象程序设计方法和数据库技术的结合,不但能让设计者定义复杂对象的结构,还能让设计者定义作用于这些复杂对象的操作,从而能够有效地支持新一代的数据库应用。
1990年7月,美国高级DBMS功能委员会发表了 “第三代数据库系统宣言",提出指导开发第三代数据库系统的3条基本原则:
(1) 第二代数据库系统必须支持数据管理、对象管理和知识管理。
(2) 第二代数据库系统必须保持或继承第二代数据库系统的技术。
(3) 第二代数据库系统必须对其他系统开放。
从这次宣言中可知,第二代数据库必须支持面向对象模型。面向对象数据库系统正是以面向对象模型为基础的,它必将成为数据库技术发展的一大趋势。
面向对象数据库产品的研制和开发上存在着两大派别,即:对象关系数据库和纯粹的面向对象数据库。前者认为关系数据库具有坚实而成熟的理论基础,主张对现有的关系数据库系统进行扩充和改进,使之升级为对象关系数据库系统。具有代表性的对象关系数据库系统产品有:DB2、Oracle、SQL Server等。纯粹的面向对象数据库派则主张进行彻底的数据库革命,即采用全新的数据模型和模式,抛开现有的数据库系统,从底层做起,使之成为真正的、纯粹的面向对象数据库系统。其代表性的产品有ObjectStoie. db4o、Versant Object Database及IRIS等。
无论是对象关系数据库还是纯粹的面向对象数据库,面向对象的概念和方法是其不可缺少的组成部分。究竟哪一个更适合于存储和访问复杂的数据,具有更优越的性能,在理论界和工业界还有争论,有待于在实际应用中加以比较和校验。
对象数据库有以下几大优势:
(1) 更快的开发速度,直接使用程序开发语言实现,不需要再编写烦琐的操作SQL的语句,大大节约了开发成本。
(2) 更快的运行速度,采用导航式的搜索模式,对数据的获取可以更高效。对象数据库保持着世界上最大的数据库和被记录到的最高摄取率.
(3) 强大的数据管理支持能力,适用于复杂数据的管理。
(4) 支持分布式数据节点管理,适用于建立统一的大型数据环境。
在这里我们主要对db4o进行一下简单的介绍。db4o是一个开源的纯面向对象数据库引擎, 对于Java与.NET开发者来说都是一个简单易用的对象持久化工具。同时,db4o已经被第三方验证为具有优秀性能的面向对象数据库。db4o的一个突出的优点是无需DBA的管理,占用资源很小,很适合嵌入式应用以及Cache应用。所以自从db4o发布以来便迅速吸引了大批用户将db4o用于各种各样的嵌入式系统,包括流动软件、医疗设备和实时控制系统。
db4o的目标是提供一个功能强大的,适合嵌入的数据库引擎,其主要特性如下:
(1) 开源模式’
(2) 原生数据库。
(3) 高性能。
(4) 易嵌入。
(5) 零管理。
(6) 支持多种平台。