web-dev-qa-db-ja.com

RDBMSとORDBMSの違い

wiki ページでPostgreSQLについて読んでいたときに、それ自体がORDBMSと呼ばれていることがありました。私は、RDBMシステムであるMicrosoft SQLServerについて常に知っていました。誰かがリレーショナルデータベース管理システム(RDBMS)とオブジェクトリレーショナルデータベース管理システム(ORDBMS)の主な違いを理解するのを手伝ってもらえますか?また、どのシナリオでそれらの1つを使用する必要がありますか?

また、私の重要な質問は、Microsoft SQL Serverの世界では、アプリケーション側でオブジェクトリレーショナルマッピングを行うためにEntity Framework(EF)のレイヤーを使用することが多いという事実に関連しています。それで、ORDBMSの世界では、ORMのすべての責任はデータベース自体によってすでに完全に実行されていますか、それとも、ORDBMSの上にEntity FrameworkのようなORMを使用することになるユースケースやシナリオがありますか?人々は本当にORDBMSシステム上でORMを使用していますか?

8
RBT

ほとんどのデータベースプレーヤーはそれをサポートしていないか、それを排他的にサポートしていません。複雑で、広く使用されていません。 「データ」が本質的にOOであっても、データベースは数十年前に存在しており、ORDBMS(またはOODBMS)を取得することはできません。学習曲線にも問題があります。

ORDBMS/OODBMSは、レジストリエディタに表示される仮想レジストリビューのようなものです。コンテンツはツリースタイルオブジェクトです。ただし、内部的には、フラット/階層的またはリレーショナルな方法で格納される場合があります。あなたは本当に気にしません-APIはあなたにレジストリ情報のビューを提供します。

同様に、主要なプレーヤーがデータベースのOOの性質をサポートしていない(そしてサポートしない)場合でも、いくつかの拡張機能を提供する場合があります。または、OOデータ用に独自のフレームワークを作成する必要がある場合があります。俳優と監督がいる映画データベースは、リレーション(テーブル)を使用して表すことができます。アクター、ディレクター、撮影場所もクラス/オブジェクトであり、テーブルとデータベース/ DBデザイナーによって課される参照整合性を使用して簡単に表すことができます。

あなたは、開発者として、データのこのリレーショナルな性質を、クラスとしてMovieを持ち、参照アクター/ディレクター(1:1または1:N)。 EEがこれをどのように/何を促進するかはわかりませんが、この方法でのみマッピングを実行します。

オブジェクトリレーショナルデータベース

  • リレーショナルテクノロジーに加えて、リレーショナルコンテキストでのオブジェクト指向テクノロジー。
  • オブジェクトは、行のテーブルではなく、オブジェクトのテーブルに格納されます。
  • 主要なオブジェクト指向機能のサポート:複合型、継承、集約、メソッド
  • 利点:よく知られたテクノロジーの拡張
  • 短所:両方のテクノロジーを混在させると、スキーマを理解しにくくなる可能性があります
  • パフォーマンスに問題があります
  • オブジェクトリレーショナルシステムには、複雑なオブジェクトの拡張性、カプセル化、継承、OO言語へのより優れたインターフェイスなどの機能が含まれています。
  • ORDBMSを使用すると、開発者は新しいクラスのデータオブジェクトをリレーショナルデータモデルの抽象化に(そしてSQLの上に)埋め込むことができます。

次の図は、データにアクセスする方法を示しています。

enter image description here

1
Ajay

http://www.aspfree.com/c/a/database/introduction-to-rdbms-oodbms-and-ordbms/ から取得:

RDBMS

RDBMSの主な要素は、リレーショナルシステム、リレーショナル整合性の概念、および正規化に関するTedCoddの13のルールに基づいています。リレーショナルデータベースの3つの基本は、すべての情報をテーブルの形式で保持する必要があることです。ここで、すべてのデータはデータ値を使用して記述されます。 2番目の基本は、テーブルの列にある各値が繰り返されないことです。最後の基本は、標準クエリ言語(SQL)の使用です。

RDBMSの利点は、システムがシンプルで柔軟性があり、生産性が高いことです。テーブルが単純なため、データを理解し、他の人と通信するのが簡単です。ユーザーが情報を入力するために事前定義されたキーを使用する必要がないため、RDBMSは柔軟性があります。また、SQLは習得しやすいため、RDBMSの生産性は向上します。これにより、ユーザーは学習する代わりに入力により多くの時間を費やすことができます。さらに重要なことに、RDBMSの最大の利点は、ユーザーがデータを簡単に作成およびアクセスし、必要に応じてデータを拡張できることです。元のデータベースが作成された後、既存のアプリケーションを変更せずに新しいデータカテゴリを追加できます。

リレーショナルデータベース管理システムには制限があります。まず、リレーショナルデータベースには、画像、デジタル、オーディオ/ビデオなどのデータを処理するのに十分なストレージ領域がありません。このシステムは元々、メディア、従来のフィールドデータ、およびテンプレートの統合を処理するために作成されました。リレーショナルデータベースのもう1つの制限は、SQL以外の言語で操作するには不十分なことです。当初の開発後、C++やJavaScriptなどの言語が形成されました。ただし、リレーショナルデータベースはこれらの言語では効率的に機能しません。 3番目の制限は、エンティティ間の関係が値によって定義されるテーブルに情報が含まれている必要があるという要件です。

ORDMS

オブジェクトリレーショナルデータベース(ORDBMS)は、今日一般的な3番目のタイプのデータベースです。 ORDBMSは、「より幅広いクラスのアプリケーションをサポートするために必要な機能を備えたリレーショナルデータベースシステムを拡張しようとし、多くの点で、リレーショナルパラダイムとオブジェクト指向パラダイムの間の橋渡しをする」システムです。

ORDBMSは、オーディオ、ビデオ、画像ファイルなど、リレーショナルデータベースでは処理できない新しいタイプのデータを処理するために作成されました。さらに、その開発は、オブジェクト指向プログラミング言語の使用の増加、およびこれらとDBMSソフトウェア間の大きな不一致の結果でした。

ORDBMSの利点の1つは、組織が大きな変更を加えることなく、既存のシステムを引き続き使用できることです。 2つ目の利点は、ユーザーとプログラマーがオブジェクト指向システムを並行して使用できるようになることです。

ORDBMSの実装には課題があります。 1つは、ストレージとアクセスの方法です。 2つ目はクエリ処理で、3つ目はクエリの最適化です。

3
Ranjana Ghimire