RDBMSとOODBMSの主な違いは、RDBMSがリレーショナルモデルに基づくデータベース管理システムであるのに対し、OODBMSはデータをオブジェクトとして作成しモデル化することをサポートするデータベース管理システムであることである。
RDBMSはデータベース管理システムの一種であり、データを関連するテーブルの形で保存する。
RDBMSは、データを関連するテーブルの形で保存するデータベース管理システムの一種であり、データベーステーブル間の明確な関係を確立する。
プログラマーは構造化問い合わせ言語(Structured Query Language, SQL)を使ってRDBMSのデータを管理することができる。
一方、OODBMSは、オブジェクト指向プログラミングと同様に、データをオブジェクトの形で表現するデータベース管理システムです。
データベースとプログラミング言語の間に、より一貫性を持たせることができます。
RDBMSとは
DBMSとは、データベースを作成・管理するためのソフトウェアまたはコンピュータプログラムです。
1960年に導入された。
RDBMS は 1970 年代に導入された先進的な DBMS です。
リレーショナルモデルに基づいている。
データをより効率的に保存、管理することができる。
RDBMSのテーブルは様々な制約を使って互いに関連づけられます。
テーブルはエンティティとも呼ばれます。
行は1つの項目を表し、列は属性を表します。
図1:リレーショナルデータベースの一般的な構造
RDBMSを利用するメリットは複数ある。
正規化とは、データの異常を取り除き、データベースの一貫性を保つことであるが、RDBMSではこれを実行することができる。
データの冗長性を減らすことができる。
さらに、データの原子性、分離性、耐久性などの性質を維持したまま、遷移を行うことができる。
さらに、複数のユーザーが同時にデータにアクセスし、作業することができます。
もう一つの重要な点は、RDBMSは不正なアクセスからデータを保護することである。
異なるアクセス権限を持つユーザーアカウントを作成し、データを保護することが可能です。
OODBMSとは
OODBMSは、データベースの機能とオブジェクト指向プログラミング言語の機能とを組み合わせたデータベース管理システムです。
プログラマーは、OODBMSにおいて、継承、ポリモーフィズム、カプセル化などのオブジェクト指向の概念と、原子性、一貫性、分離、耐久性などのデータベース機能を利用することができます。
これらのデータベースは、システムの拡張性、コードの再利用性、保守性などの利点を提供する。
OODBMSは、Python、JavaScript、Perl、Ruby、Java、C#、Visual Basic、C++などのオブジェクト指向プログラミング言語と相性が良い。
これらは、オブジェクト指向プログラミング言語と同じモデルを使用しています。
Webベースの技術の発展に伴い、ほとんどのビジネス組織は、複雑なデータを表現するためにOODBMSを使用しています。
データをオブジェクトとして表現するため、コンピュータ支援設計(CAD)やマルチメディア技術を利用する組織にとって有益です。
RDBMSとOODBMSの違い
定義
RDBMSとは、E.F.Coddが提唱した関係モデルに基づくデータベース管理システムです。
OODBMSは、オブジェクト指向プログラミングで使われるように、データをオブジェクトの形で表現するデータベース管理システムです。
基本情報
RDBMSとOODBMSの基本的な違いは、RDBMSがテーブル指向であるのに対して、OODBMSはオブジェクト指向であることである。
ロングフォーム
RDBMSはRelational Database Management Systemの略で、OODBMSはObject-Oriented Database Management Systemの略です。
ODBMSまたはオブジェクトデータベース管理システムとも呼ばれる。
データ
RDBMSとOODBMSのもう一つの違いは、OODBMSはRDBMSよりも大きく複雑なデータを扱えることです。
複雑さ
また、RDBMSはテーブル(列と行)にデータを格納するため、シンプルです。
OODBMSでは、様々なデータ型が関与するため、データの構造が複雑になる。
データの冗長性
RDBMSでは、データの冗長性を排除するために正規化を行う。
一方、OODBMSは継承とカプセル化を用いてデータの冗長性を低減する。
したがって、この点もRDBMSとOODBMSの重要な違いです。
例
RDBMSの例として、MSSQL、MySQL、Oracleがあります。
OODBMSとしては、Versant Object Database、Objectivity/DB、ObjectStore、Cache、ZODBなどがあります。
結論
RDBMSとOODBMSの違いは、RDBMSがリレーショナルモデルをベースとしたデータベース管理システムであるのに対し、OODBMSはデータをオブジェクトとして作成・モデリングすることをサポートするデータベース管理システムである点です。
簡単に言うと、RDBMSはリレーショナルモデル、OODBMSはオブジェクト指向モデルを使っている。