database - 开源 C++ 面向对象数据库

标签 database oop

<分区>

是否有适用于 C++ 的开源面向对象数据库可用?

我看过像这里发布的那些面向对象的关系映射 (ORM) 库: https://stackoverflow.com/questions/74141/good-orm-for-c-solutions

这些也很有趣: Object-oriented-like structures in relational databases http://en.wikipedia.org/wiki/List_of_object-relational_mapping_software#C.2B.2B

到目前为止,我的经历很痛苦。这些解决方案似乎并不成熟,我什至难以编译其中的一些,而且文档和支持也很少。

我想在某种程度上我试图避免学习 SQL(我不是数据库开发人员)。另一方面,我的直觉是 ORM 是一种体系结构“解决方法”,因为它们在本质上不支持对象的数据库系统之上创建了一个层。

我理想的数据库库将允许以下内容:

  1. 允许根据类名指定对象层次结构树,可能是在 XML 中,也可能只是在 C++ 中。
  2. 允许指定那些类的哪些字段应该是持久的。
  3. 提供 API 来创建、更新、删除和检索对象的层次结构。
  4. 理想情况下,为内存中的树本身提供一个 API,包括对树节点的并发访问。

我曾在具有此类自定义数据库和 API 的嵌入式系统上工作。

我几乎要创建自己的并将其开源。

只是想知道是否有现成的东西我可以使用。

我看到了这个: http://en.wikipedia.org/wiki/Comparison_of_object_database_management_systems

我正在尝试弄清楚这是否可行:

http://www.fastdb.org/fastdb.html

提前致谢。

最佳答案

我不打算提出任何建议,因为我不知道有什么高质量的 FOSS OO 数据库。然而,我会提出以下意见:

  • OO 数据库并不是避免使用 SQL 的方法 - 您两者都需要。坦率地说,如果您不太了解 SQL,您作为专业程序员的生活可能会很不愉快。

  • OO 数据库已经成熟 - 它们已经存在了 20 多年。 15 年前,我个人第一次在金融行业的一个大型项目中使用了它。

  • OO 数据库最适用于关系数据库失败的地方 - 我已经将它们用于复杂的金融工具建模、输油管道优化和电信工作。

  • ORM 数据库吸收了 OO 和关系模型的不良部分,并使它们变得更糟。

  • 我最喜欢的商业 OODB 是 ObjectStore,但我已经有一段时间没有使用它了。

希望这对您有所帮助。

关于database - 开源 C++ 面向对象数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1022108/

相关文章:

SQL Server 2000 - 查询表的外键关系

java - H2语句后的代码不执行

mysql - 职位发布的首选数据库设计

ruby - ruby 中的过程和数据抽象

c++ - 持有对象指针的类的析构函数

javascript - 在 JavaScript 中按类型实例化对象

windows - edb 数据库中的事务日志文件

sql-server - Visual Studio 2008 无法连接到 SQL Server 2008

java - 处理解释器的多参数操作码

python - 关于如何在 python 中使用属性功能的真实示例?