面向对象数据库

时间:2011-03-20 11:53:53

标签: java database jsp object-oriented-database

我不知道这是否是这个问题的正确标题。 无论如何,最近我听说你可以在创建数据库时让生活更轻松。通过其中您使用基于对象的数据库。这将使迁移到其他类型的数据库也更容易,例如从MySQL到SQLlite或其他。

无论如何,我现在使用数据库访问的网页的主要方式是我手动写下查询以从数据库中获取我需要的内容。然而,它可以以其他方式完成,也不涉及我必须编写查询。我想知道其他方法是如何工作的。如何在Google中搜索。

3 个答案:

答案 0 :(得分:3)

对象数据库

  • 高性能
  • 更快,因为不需要加入
  • 固有版本控制机制
  • 操作的导航界面(如图遍历)
  • 对象查询语言以声明方式检索对象
  • 复杂数据类型
  • 对象标识即。 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 :(得分:2)

听起来你在谈论JPA。您只需注释您的对象,并根据您的对象设置数据库。最常用的JPA实现是Hibernate,它是编写支持数据库的Java应用程序的快速方法。

如果您想要更多地控制数据库结构,可以通过注释来实现。

有关休眠的更多信息,请查看http://www.hibernate.org/

答案 2 :(得分:1)

如果您使用的是面向对象的数据库,则使用MySQL或SQLite等关系数据库

相反,数据库直接存储您的应用程序对象,您通常可以使用某种查询语言或API查询这些对象。

我只有db4o的经验,你只需要做

database.store(object);

并存储您的对象。