0

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

无论如何,我现在做一个具有数据库访问权限的网页的主要方式是我手动写下查询以从数据库中获取我需要的内容。但是,它也可以通过其他方式完成,这也不涉及我必须编写查询。我想知道这种其他方法是如何工作的。如何在谷歌中搜索它。

4

3 回答 3

4

对象数据库

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

缺点

  • 没有 RDB 的数学基础(参考 Codd)
  • 面向对象的缺点
  • 复杂结构难以持久化,一些数据必须是瞬态的

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

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

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

参考

OODMS 宣言

ODMG

面向对象的数据库系统宣言

面向对象的数据库系统

DBMS 中的对象关系数据库

对象关系数据库系统的完整性标准

比较

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

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

于 2011-04-16T15:49:22.773 回答
2

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

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

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

于 2011-03-20T11:56:48.713 回答
1

如果您使用的是面向对象的数据库,那么您就不会使用 MySQL 或 SQLite 之类的关系数据库。

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

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

database.store(object);

并且您的对象被存储。

于 2011-03-20T13:40:29.727 回答