从过去几年开始,数据管理和应用环境变得越来越复杂。这些可以由面向对象的数据库管理系统 (ODBMS) 处理。该系统兼具面向对象和数据库管理系统的特点。
除了导致系统完整性、支持即席查询语言以及二级存储管理系统的 ACID 属性等数据库概念之外,还实施了面向对象的功能,例如封装、多态性和继承。访问数据库中的对象是以透明的方式完成的,这样与持久对象的交互与与内存对象的交互没有区别。 ODBMS 的产品包括 Design Inc. 的“Object Store”和 Objectivity Inc. 的“Objectivity/DB”。
ODBMS 的应用:
- 用于风险管理的金融应用程序,因为这些应用程序产生数据的实时视图。
- 用于电信应用,因为它们可以自动监控、识别和跟踪基于数百个实时参数的通信网络。
- 用于处理 X 射线、MRI 扫描等的医疗应用。
- 用于计算机辅助设计和计算机辅助制造。
- 用于使用视频、音频和需要数据管理功能的高质量图形的多媒体应用程序。
- 处理设计计算机辅助软件工程的相互关联的数据。
ODBMS 的黄金法则:
要成为 ODBMS 的数据库必须满足两个条件。第一个标准是它必须是一个 DBMS,第二个标准是它必须具有面向对象的特性。定义 ODBMS 特性的第一个尝试是“面向对象的数据库系统宣言”。它还包括 13 个强制性特性和一些可选特性。这13条规则基本上分为两组。第一组包含 8 条规则,定义它是面向对象的,第二组包含 5 条规则,定义它是 DBMS。
这些解释如下。
- 系统必须支持复杂对象——
通过向简单对象添加构造函数,可以从简单对象构建复杂对象。简单对象就像整数、浮点数和布尔值。复杂对象构造函数包括集合、列表和数组元组。系统必须具有的最少构造函数是集合、元组和列表。 - 支持对象标识 –
一个对象必须有一个独立于它的值的存在。这用于比较 OID 和对象的状态。在这种情况下,每个对象都有一个唯一的、不收费的 OID,独立于其当前状态和行为。 - 对象必须被封装——
此功能确保对象必须仅显示公共方面,而其他细节(如实现)必须隐藏。 - 支持类型或类 –
这条规则基本上是用户用来选择系统是否支持类或类型的概念。类用于存储和操作类似类型的数据。但是 Type 用于在编译时检查属性值分配中的类型错误。 - 支持继承——
对象必须继承父类的属性。因此,增加了现有代码的可重用性。 - 避免过早结合——
此功能可帮助用户将相同名称的对象添加到不同的类。面向对象的概念根据对象所属的类来决定在运行时使用哪种实现。这也称为后期绑定。 - 计算完备——
一个计算完整的函数使用数据库系统的DML,即它允许用户添加任何类型的语言操作。 - 可扩展系统 –
它能够定义新的数据类型,而无需区分系统定义的类型和用户定义的类型。 - 支持持久性 –
面向对象系统将所有对象保存在内存中,计算机关闭后,所有对象空间都将丢失。持久性是程序员的能力,使进程的执行幸存下来,再次重用它。 - 支持非常数据库——
由于数据库管理中的对象非常复杂且庞大,因此需要借助缓冲区和访问路径选择技术来优化二级存储设备的管理。 - 支持并发用户 –
由于多个用户的管理同时与系统交互,因此系统必须提供与当前数据库系统提供的相同级别的服务。 - 必须支持恢复 –
该系统能够从任何类型的硬件和软件故障中自我恢复。系统必须提供对自动备份和恢复工具的支持。 - 临时查询工具 –
由于 RDBMS 支持 SQL,ODBMS 支持对象查询语言,即 SQL。
ODBMS 还支持一些附加功能,如下所示:
- 支持多重继承。
- 支持类型检查和类型接口。
- 支持分布式 ODBMS。
- 支持版本控制。