オブジェクト関係データベース オブジェクト関係データベースの概要

Weblio 辞書 > 辞書・百科事典 > 百科事典 > オブジェクト関係データベースの解説 > オブジェクト関係データベースの概要 

オブジェクト関係データベース

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2019/11/21 03:15 UTC 版)

ナビゲーションに移動 検索に移動

関係モデルに基づくRDBMSもしくはSQL-DBMSでは、SQLなどのデータベース言語標準により事前に規定された限られたデータ型の集合に属するデータについては効果的に扱うことができるが、オブジェクト指向の考え方を採り入れたORDBMSでは、ソフトウェア開発者が自分たちでデータ型とメソッドを自由に定義してデータベースを開発してDBMSに統合させることができる。ORDBMS技術の目標は、ソフトウェア開発者に対して問題領域以下の階層について考えずに済む水準にまでデータベース設計抽象化の水準を上げることである。

ORDBMSの実装としては、IllustraInformix Dynamic ServerPostgreSQLIBM DB2Oracle Database などがある。

RDBMSとの比較

RDBMS (関係データベース管理システム) では、次のようなSQL文を記述できる (MySQLでの例) 。

CREATE TABLE Customers  (
   Id          CHAR(12)    NOT NULL PRIMARY KEY,
   Surname     VARCHAR(32) NOT NULL,
   FirstName   VARCHAR(32) NOT NULL,
   DateOfBirth DATE        NOT NULL
)
SELECT InitCap(Surname) || ', ' || InitCap(FirstName)
  FROM Customers
 WHERE Month(DateOfBirth) = Month(getdate())
   AND Day(DateOfBirth) = Day(getdate())

現在のほとんどのRDBMSでは、ユーザ定義関数を定義することができる。ユーザ定義関数を使って上記の問い合わせを記述し直すと次のようになるであろう。

SELECT Formal(Id)
  FROM Customers
 WHERE Birthday(Id) = Today()

ORDBMS (オブジェクト関係データベース管理システム) でも、このような記述をすることができる。BirthDay() のようなユーザ定義のデータ型と式を定義することができる。すなわち次のように記述できるであろう。

CREATE TABLE Customers (
  Id          Cust_Id    NOT NULL PRIMARY KEY,
  Name        PersonName NOT NULL,
  DateOfBirth DATE       NOT NULL
)
SELECT Formal( C.Name )
  FROM Customers C
 WHERE BirthDay ( C.DateOfBirth ) = TODAY;

ORDBMSのもう一つの特長は、データベースがデータ間の関連を利用することができ、関連するデータを容易に辿ることができることである。 住所録アプリケーションにおいては、住所録に載せる一人一人に対して複数の住所を記録するために、もう一つテーブルを追加することになるであろう。従来のRDBMSを使うと、人物と住所のデータを検索するために結合が必要になる。 従来のRDBMSを使った場合の検索問い合わせは次のようになる。

 SELECT InitCap(C.Surname) || ', ' || InitCap(C.FirstName), A.city
   FROM Customers C, Addresses A
  WHERE A.Cust_Id = C.Id -- 結合
    AND A.city = 'New York'

ORDBMSでは、上記と同じ検索問い合わせを非常に簡潔に記述することができる。

SELECT Formal( C.Name )
  FROM Customers C
 WHERE C.address.city = 'New York' -- 関連はORDBMSにより「認識」される

歴史

ORDBMS (オブジェクト関係データベース管理システム) は、1990年代始めから開始された研究から発展してきた。 この研究は、従来の関係モデルに基づいた関係データベースの概念を拡張してオブジェクト (オブジェクト指向) の概念を追加するものであった。 この研究のORDBMSの考えは、アーキテクチャの中核部分に述語計算に基づく宣言的なデータベース言語 (問い合わせ言語) を引き継いでいた。 おそらく最も特筆すべき研究プロジェクトはマイケル・ストーンブレーカーが主導した Postgres (カリフォルニア大学バークレー校) であろう。この研究はIllustraPostgreSQLの源流となっている。

1990年代半ばに、初期の商用製品が現れた。 こうした商用製品には次のものが含まれる。

  • Illustra [1] (Illustra Information Systems、後にInformixにより買収され、さらにそのInformixはIBMに買収された)
  • Omniscience (Omniscience Corporation、後に Oracle Corporation により買収されオリジナルの Oracle Lite となった)
  • UniSQL (UniSQL, Inc.、後にKCOMSにより買収された)

こうした製品は「オブジェクト関係データベース管理システム」(ORDBMS) と呼ばれるようになった[2]。 また同じく1990年代半ばには、ウクライナのソフトウェア開発者 Ruslan Zasukhin が Valentina の最初のバージョンを C++データベースSDK として開発しリリースした。

初期の ORDBMS を開発する努力から生み出された概念の多くは、データベース言語標準 SQL:1999 に大規模に追加された。 実際には、SQL:1999 のオブジェクト指向機能を何らかの水準で備えるどのような製品も、ORDBMS製品であるということはできるかもしれない。 例えば、IBM DB2Oracle DatabaseMicrosoft SQL Server は、それぞれ、ORDBMS技術に準拠していると主張しているが、ORDBMS技術準拠の達成水準は製品によりさまざまである。




  1. ^ Stonebraker, Michael with Moore, Dorothy. Object-Relational DBMSs: The Next Great Wave. Morgan Kaufmann Publishers, 1996. ISBN 1-55860-397-2.
  2. ^ このとき一部の人々は、ORDBMS という用語を造語したのは、Illustra の主開発者のマイケル・ストーンブレーカーであったか、それとも UniSQL の主開発者のウォン・キムであったかをめぐって、論争した


「オブジェクト関係データベース」の続きの解説一覧



英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「オブジェクト関係データベース」の関連用語

オブジェクト関係データベースのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



オブジェクト関係データベースのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
ウィキペディアウィキペディア
All text is available under the terms of the GNU Free Documentation License.
この記事は、ウィキペディアのオブジェクト関係データベース (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。 Weblio辞書に掲載されているウィキペディアの記事も、全てGNU Free Documentation Licenseの元に提供されております。

©2024 GRAS Group, Inc.RSS