2011-03-20 102 views
0

我不知道這是否是這個問題的正確標題。 無論如何,最近我聽說過在創建數據庫時可以讓生活更輕鬆。通過其中您使用基於對象的數據庫。它將使遷移到其他類型的數據庫變得更容易,例如,從MySQL到SQLlite或其他。面向對象數據庫

無論如何,我現在做一個帶有數據庫訪問的網頁的主要方式是我手動記下查詢以從數據庫中獲取我需要的內容。但它可以用其他方式完成,這也不涉及我必須寫查詢。我想知道這種其他方法是如何工作的。如何在Google中進行搜索。

回答

2

聽起來好像你正在談論JPA。您只需註釋您的對象,並根據您的對象設置數據庫。最常用的JPA實現是Hibernate,並且是編寫數據庫啓用的Java應用程序的快速方法。

如果您想要更多地控制數據庫結構,可以通過註釋來完成。請參考http://www.hibernate.org/

1

如果您使用的是面向對象的數據庫,您使用的是像MySQL或SQLite這樣的關係數據庫,而不是而不是

相反,數據庫直接存儲您的應用程序對象,並且您通常可以使用某種查詢語言或API查詢這些對象。

我只有經驗db4o,有你根本

database.store(object); 

和你的對象存儲。

3

對象DB

  • 高性能
  • 更快,因爲沒有聯接需要
  • 固有的版本控制機制
  • 的操作(如遍歷中)
  • 對象查詢語言檢索對象的導航界面聲明式地
  • 複雜數據類型s
  • 對象身份即。equals()方法中,對象身份是獨立的價值和更新
  • 功能有助於對象共享
  • 類和層次結構(繼承和封裝),用於與持久性語言如ODL
  • 支持集成關係
  • 支持對於嵌套關係原子
  • 支持
  • 語義建模

缺點

  • 沒有數學基礎爲RDB(參照科德)面向對象
  • 持久難以對於複雜結構的
  • 缺點,一些數據必須是瞬時

對象關係數據庫(您可能已經看到了UDT!)

    對於複雜的數據類型,例如採集
  • 支持,多集等
  • 面向對象的數據建模
  • 擴展SQL和豐富的類型UDT inhertance
  • 強大的查詢語言
  • 支持

不同的方法(OO ,關係DB或OODB)對於不同的應用可能是必需的

參考文獻

OODMS manifesto

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