面向对象的数据库[英] Object oriented database

本文是小编为大家收集整理的关于面向对象的数据库的处理/解决方法,可以参考本文帮助大家快速定位并解决问题,中文翻译不准确的可切换到English标签页查看源文。

问题描述

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

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

推荐答案

对象db

  • 高性能
  • 更快,因为无需加入
  • 固有的版本控制机制
  • 操作的导航接口(如图遍历)
  • 对象查询语言声明地检索对象
  • 复杂数据类型
  • 对象身份IE. equals()对象身份独立于价值和更新
  • 促进对象共享
  • 类和层次结构(继承和封装)
  • 支持关系
  • 与ODL这样的持久性语言集成了
  • 支持原子
  • 支持嵌套关系
  • 语义建模

cons

  • 没有数学基础为RDB(请参阅CODD)
  • 对象方向的缺点
  • 对于复杂结构而言,持久性很难,某些数据必须是短暂的

对象缔合数据库(您可能已经看过UDTS!)

  • 支持复杂的数据类型,例如收集,多组等
  • 面向对象的数据建模
  • 扩展的SQL和Rich类型
  • 支持UDT Inhertance
  • 强大的查询语言

不同的应用可能需要不同的方法(OO,关系DB或OODB)

参考

odmg

- 面向数据库系统宣言

面向对象的数据库系统

dbms中的对象关系数据库

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

比较

http:///en.wikipedia.org/wiki.org/wiki/comparison/comparison_of_of_of_database_database_managese_managessssssysection /p>

其他推荐答案

听起来您在谈论 jpa .您只需注释对象,并且根据对象为您设置数据库.最常用的JPA实现是Hibernate,是编写启用数据库Java应用程序的非常快的方法.

如果您想对数据库结构进行更多控制,则可以通过注释来完成.

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

其他推荐答案

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

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

我只有 db4o ,您只是在这里做

database.store(object);

存储您的对象.

本文地址:https://www.itbaoku.cn/post/597317.html

问题描述

I don't know if this is the right title for this question. Anyway, recently I have heard about that you could make life easier when creating database. By in which you use object based database. It will make migration to other type of database also easier e.g. from MySQL to SQLlite or something else.

Anyway the main way I do a webpage with database access now is that I manually write down the Query to fetch what I need from a database. However it can be done in some other way also which does not involve I have to write query. I want to know how this other method work. How to search it in Google.

推荐答案

Object DB

  • High performance
  • Faster as no joins required
  • Inherent versioning mechanism
  • Navigational interface for operations (like graph traversal)
  • Object Query Language retrieve objects declaratively
  • complex data types
  • object identity ie. equals() in which object identity is independent of value and updates
  • facilitates object sharing
  • classes and hierarchies (inheritance and encapsulation)
  • support for relationships
  • integrated with a persistence language like ODL
  • support for atomicity
  • support for nested relationships
  • semantic modelling

Cons

  • No mathematical foundation as RDB (refer Codd)
  • cons of object orientation
  • persistence difficult for complex structures, some data must be transient

Object-Relational databases (You might have seen UDTs!)

  • support for complex data types like collection, multisets etc
  • object oriented data modelling
  • extended SQL and rich types
  • support for UDT inhertance
  • powerful query language

Different approaches (OO, Relational DB or OODB) may be necessary for different applications

References

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

Comparisons

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

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

其他推荐答案

It sounds like you are talking about JPA. You simply annotate your objects, and the database is setup according to the objects for you. The most used JPA implementation is Hibernate, and is very quick way of writing database enabled Java applications.

If you want more control over the database structure, you can do that via the annotations.

For more information on hibernate, check out http://www.hibernate.org/.

其他推荐答案

If you are using an object oriented database, you are not using a relational database like MySQL or SQLite.

Instead, the database directly stores your application objects, and you usually can query these with some query language or API.

I have only experience with db4o, there you simply do

database.store(object);

and your object is stored.