使用面向对象数据库的最佳方案是什么?

时间:2009-05-06 11:46:31

标签: database oop

我们计划使用OO数据库来存储配置对象。 选项包括:

  1. 创建300多个关系表。
  2. 创建一个包含少量表的通用结构。我们认为这样会 使对象关系映射更复杂,以构建和维护。
  3. 使用OO数据库。我们现在正在测试它。
  4. 您怎么看?

2 个答案:

答案 0 :(得分:1)

对象数据库

  • 高性能
  • 更快,因为不需要加入
  • 固有版本控制机制
  • 操作的导航界面(如图遍历)
  • 对象查询语言以声明方式检索对象
  • 复杂数据类型
  • 对象标识即。 equals(),其中对象标识独立于值并更新
  • 促进对象共享
  • 类和层次结构(继承和封装)
  • 支持关系
  • 与ODL等持久性语言集成
  • 支持原子性
  • 支持嵌套关系
  • 语义建模

缺点

  • 没有数学基础作为RDB(参考Codd)
  • 面向对象的缺点
  • 复杂结构的持久性很难,有些数据必须是暂时的

对象关系型数据库(您可能已经看过UDT!)

  • 支持复杂数据类型,如集合,多集等
  • 面向对象的数据建模
  • 扩展SQL和丰富类型
  • 支持UDT inhertance
  • 强大的查询语言

不同的应用程序可能需要不同的方法(OO,关系数据库或OODB)

参考文献

OODMS manifesto

ODMG

The Object-Oriented Database System Manifesto

Object Oriented Database Systems

Object Relational Databases in DBMS

Completeness Criteria for Object-Relational Database Systems

<强>比较

http://en.wikipedia.org/wiki/Comparison_of_object_database_management_systems

http://en.wikipedia.org/wiki/Comparison_of_object-relational_database_management_systems

答案 1 :(得分:0)

主要阅读(或单个用户);简单的关系;约束对象图深度;约束管理不要求;和放松的对象身份用例有利于oo db。