欢迎光临散文网 会员登陆 & 注册

什么是面向对象的数据库?

2022-10-15 09:47 作者:晓林电脑服务  | 我要投稿

面向对象的数据库是一种数据库管理系统。不同的数据库管理系统提供额外的功能。面向对象的数据库将数据库功能添加到对象编程语言中,创建更易于管理的代码库。

晓林电脑服务公司通过示例深入概述了面向对象的数据库。

数据备份|数据存储|双机热备|异地备份|容灾备份|数据恢复|NAS网络服务器存储 www.xiaolin.cc

对象数据库定义

对象数据库由面向对象的数据库管理系统( OODBMS )管理。该数据库将面向对象的编程概念与关系数据库原则相结合。

  • 对象是基本的构建块和类的实例,其中类型是内置的或用户定义的。

  • 类为对象提供模式或蓝图,定义行为。

  • 方法决定了一个类的行为。

  • 指针有助于访问对象数据库的元素并建立对象之间的关系。

数据备份|数据存储|双机热备|异地备份|容灾备份|数据恢复|NAS网络服务器存储 www.xiaolin.cc

OODBMS 中对象的主要特征是用户构造类型的可能性。在项目或应用程序中创建的对象按原样保存到数据库中。

面向对象的数据库直接将数据作为完整的对象来处理。所有信息都在一个即时可用的对象包中,而不是多个表。

相比之下,关系数据库的基本构建块,例如PostgreSQL 或 MySQL,是具有基于表数据之间逻辑连接的操作的表。

数据备份|数据存储|双机热备|异地备份|容灾备份|数据恢复|NAS网络服务器存储 www.xiaolin.cc


这些特性使对象数据库适用于具有复杂数据的项目,这些项目需要面向对象的编程方法。面向对象的管理系统提供支持的功能,以迎合以复杂对象为中心的面向对象编程。这种方法将数据的属性和行为统一到一个实体中。

面向对象的编程概念

面向对象的数据库与面向对象的编程概念密切相关。面向对象编程的四个主要思想是:

  • 多态性

  • 遗产

  • 封装

  • 抽象

这四个属性描述了面向对象管理系统的关键特征。

多态性

多态性是对象具有多种形式的能力。这种能力允许相同的程序代码处理不同的数据类型。汽车和自行车都可以打破,但机制不同。在这个例子中,动作中断是一个多态性。定义的动作是多态的——结果会根据执行的车辆而变化。

遗产

继承在相关类之间创建层次关系,同时使部分代码可重用。定义新类型会继承所有现有的类字段和方法,并进一步扩展它们。现有类是类,而类扩展父类。

例如,名为Vehicle的父类将具有子类Car和Bike。两个子类都从父类继承信息,并根据车辆类型使用新信息扩展父类。

封装

封装是将数据和机制分组到单个对象中以提供访问保护的能力。通过这个过程,对象如何工作的信息和细节被隐藏,从而导致数据和功能安全。类通过方法相互交互,而不需要知道特定方法是如何工作的。

数据备份|数据存储|双机热备|异地备份|容灾备份|数据恢复|NAS网络服务器存储 www.xiaolin.cc


例如,汽车具有描述性特征和动作。您可以更改汽车的颜色,但型号或品牌是无法更改的属性示例。一个类将所有汽车信息封装到一个实体中,其中一些元素是可修改的,而有些则不是。

抽象

抽象是仅表示所需功能的基本数据特征的过程。该过程选择重要信息,同时隐藏不必要的信息。抽象有助于降低建模数据的复杂性并允许可重用性。

例如,计算机有不同的方式连接到网络。网络浏览器需要互联网连接。但是,连接类型无关紧要。与 Internet 建立的连接代表一个抽象,而各种类型的连接代表该抽象的不同实现。

面向对象的数据库示例

对象数据库有不同类型的实现。大多数包含以下功能:

特征描述查询语言用于从数据库中查找对象和检索数据的语言。透明的持久性能够使用面向对象的编程语言进行数据操作。酸交易ACID事务保证所有事务都是完整的,没有发生冲突的更改。数据库缓存创建数据库的部分副本。允许从程序存储器而不是磁盘访问数据库。恢复应用程序或系统故障时的灾难恢复。

宝石/S

GemStone/S是一个基于 Smalltalk 的对象数据库系统——一种受 Java 影响的面向对象的编程语言。用 Smalltalk 编写应用程序的开发人员很容易适应这个数据库。GemStone/S 与现有的 Smalltalk 应用程序无缝集成,提高了速度和生产力。

Gemstone/S 最适合高可用性项目。根据项目大小,有多种许可选项。数据库服务器可用于各种平台,包括 Linux、Windows、macOS、Solaris、AIX 以及 Raspberry Pi。

对象数据库

ObjectDB是用于 Java 编程语言的NoSQL对象数据库与其他 NoSQL 数据库相比,ObjectDB 符合 ACID。ObjectDB 不提供 API,需要使用两个内置 Java 数据库 API 之一:

  • JPA与基于 Java 语法的JPA 查询语言(JPQL)。

  • JDO与基于 SQL 语法的JDO 查询语言(JDQL)。

ObjectDB 包括 Java 中的所有基本数据类型、用户定义的类和标准 Java 集合。每个对象都有一个唯一的 ID。元素的数量仅受最大数据库大小 (128 TB) 的限制。ObjectDB 可跨平台使用,并且基准性能非常出色。

对象数据库++

ObjectDatabase++是为服务器端应用程序设计的实时可嵌入对象数据库。所需的外部维护很少。

ObjectDatabase++ 支持:

  • 具有多线程服务器应用程序的多进程。

  • 完全的交易控制。

  • 实时恢复。

  • C++ 相关语言、VB.NET 以及 C#。

对象数据库是基于 C++ 的。主要功能之一是在不影响数据库完整性的情况下从系统崩溃中进行高级自动恢复。

客观性/数据库

Objectivity/DB利用对象的力量并满足大数据中的复杂要求。对象数据库通过支持多种语言非常灵活:

  • C++

  • C#

  • Python

  • 爪哇

架构更改是动态发生的,无需停机,允许对任何数据类型进行实时查询。Objective/DB 可用于多种平台,包括 macOS、Linux、Windows 或 Unix。

对象存储

ObjectStore与 C++ 或 Java 集成并提供内存持久性以提高应用程序逻辑的性能。对象数据库符合 ACID。响应能力允许开发人员跨平台构建分布式应用程序,无论是在本地还是在云中。

主要特点是云可扩展性,它允许从任何地方访问数据库。ObjectStore 无缝地简化了数据创建和交换过程。

范思哲

Versant提供来自 C++、Java 和 .NET 的主要透明对象持久性。但是,也支持 Smalltalk 和 Python。Versant 根据所使用的语言支持不同的 API。标准 SQL 查询也可用,使 Versant 成为 NoSQL 数据库。

对象数据库是一个多用户客户端-服务器数据库。Versant 在用于具有大量数据和并发用户的在线交易系统时表现最佳。

面向对象数据库的优缺点

每种数据库建模技术都有优点和缺点。在选择使用面向对象的数据库之前,除了应用程序意图之外,您还必须了解可用的语言。

好处

主要优点是:

  • 与MySQL数据类型相比,复杂数据和更广泛的数据类型。

  • 易于快速保存和检索数据。

  • 与面向对象的编程语言无缝集成。

  • 更容易对高级现实世界问题进行建模。

  • 可使用自定义数据类型进行扩展。

缺点

一些缺点包括:

  • 不像关系数据库那样被广泛采用。

  • 没有通用数据模型。缺乏理论基础和标准。

  • 不支持视图。

  • 高复杂性会导致性能问题。

  • 不存在足够的安全机制和对对象的访问权限。

结论

对象数据库提供了一种现代的数据库建模方法,反映了面向对象编程中使用的方法。


什么是面向对象的数据库?的评论 (共 条)

分享到微博请遵守国家法律