説明/参照:
データベースのリレーショナル モデルでは、すべてのデータはチュールで表現され、関係にグループ化されます。リレーショナル モデルに基づいて編成されたデータベースは、リレーショナル データベースです。
試験では、データベース モデルに関する以下の情報を知っておく必要があります。
データベース モデルは、データベースの論理構造を決定し、データの保存、整理、操作方法を根本的に決定するデータ モデルの一種です。最も一般的なデータベース モデルの例は、テーブル ベースの形式を使用するリレーショナル モデルです。
データベースの一般的な論理データ モデルには次のものがあります。
階層型データベースモデル
ネットワークモデル
リレーショナルモデル
オブジェクトリレーショナルデータベースモデル
階層型データベースモデル
階層モデルでは、データはツリーのような構造に編成され、各レコードに 1 つの親があることを意味します。ソート フィールドは、兄弟レコードを特定の順序で保持します。階層構造は、IBM の情報管理システム (IMS) などの初期のメインフレーム データベース管理システムで広く使用されており、現在では XML ドキュメントの構造を記述しています。この構造により、2 種類のデータ間で 1 対多の関係が可能になります。この構造は、レシピ、目次、段落/節の順序、ネストされてソートされた情報など、現実世界の多くの関係を記述するのに非常に効率的です。
この階層は、ストレージ内のレコードの物理的な順序として使用されます。レコードへのアクセスは、順次アクセスと組み合わせたポインターを使用してデータ構造内を移動することによって行われます。このため、各レコードにフル パス (上方向のリンクやソート フィールドではなく) が含まれていない場合、階層構造は特定のデータベース操作には非効率的です。このような制限は、IMS の以降のバージョンで、基本物理階層に課される追加の論理階層によって補われています。
階層型データベースモデル

画像ソース: http://creately.com/blog/wp-content/uploads/2012/06/hierarchical-database-model.png ネットワーク データベース モデル
ネットワーク モデルは階層構造を拡張し、複数の親を持つツリー構造で多対多の関係を可能にします。リレーショナル モデルに置き換えられる前は最も人気があり、CODASYL 仕様で定義されています。
ネットワーク モデルは、レコードとセットという 2 つの基本概念を使用してデータを整理します。レコードにはフィールドが含まれます (プログラミング言語 COBOL のように階層的に整理できます)。セット (数学的なセットと混同しないでください) は、レコード間の 1 対多の関係を定義します (所有者が 1 人、メンバーが多数)。レコードは、任意の数のセットの所有者になることができ、任意の数のセットのメンバーになることができます。
セットは、循環リンク リストで構成されます。1 つのレコード タイプ (セットの所有者または親) は各円に 1 回表示され、2 番目のレコード タイプ (従属または子) は各円に複数回表示されます。このようにして、任意の 2 つのレコード タイプ間に階層を確立できます (例: タイプ A はタイプ B の所有者)。
同時に、B が A の所有者である別のセットが定義されることもあります。したがって、すべてのセットは一般的な有向グラフ (所有権が方向を定義)、つまりネットワーク構造を構成します。レコードへのアクセスは、順次 (通常は各レコード タイプ内) または循環リンク リスト内のナビゲーションによって行われます。
ネットワーク モデルは、階層モデルよりも効率的にデータの冗長性を表すことができ、祖先ノードから子孫ノードへのパスが複数存在する場合があります。ネットワーク モデルの操作はナビゲーション スタイルです。プログラムは現在の位置を維持し、レコードが関与する関係に従って 1 つのレコードから別のレコードに移動します。キー値を指定してレコードを見つけることもできます。
ネットワークデータベースモデル

画像の出典:http://creately.com/blog/wp-content/uploads/2012/06/database-design-network- model.png
リレーショナルデータベースモデル
データベースのリレーショナル モデルでは、すべてのデータはチュールで表現され、関係にグループ化されます。リレーショナル モデルに基づいて編成されたデータベースは、リレーショナル データベースです。
リレーショナル モデルでは、関連するレコードは「キー」によってリンクされます。
リレーショナル モデルの目的は、データとクエリを指定するための宣言的な方法を提供することです。
ユーザーは、データベースにどのような情報が含まれているか、またデータベースからどのような情報を得たいかを直接指定し、データベース管理システム ソフトウェアが、データを保存するためのデータ構造の記述と、クエリに応答するための検索手順の処理を行います。
ほとんどのリレーショナル データベースは SQL データ定義およびクエリ言語を使用します。これらのシステムは、リレーショナル モデルに対するエンジニアリング近似と見なせるものを実装します。SQL データベース スキーマ内のテーブルは述語変数に対応し、テーブルの内容はリレーションに対応し、キー制約、その他の制約、および SQL クエリは述語に対応します。ただし、DB2 を含む SQL データベースは、多くの点でリレーショナル モデルから逸脱しており、Cod は元の原則を損なう逸脱に対して激しく反対しました。
リレーショナルデータベースモデル

画像ソース: http://www.datastax.com/docs/_images/relational_model.png オブジェクトリレーショナルデータベースモデル
オブジェクト リレーショナル データベース (ORD) またはオブジェクト リレーショナル データベース管理システム (ORDBMS) は、リレーショナル データベースに似たデータベース管理システム (DBMS) ですが、オブジェクト指向データベース モデルを採用しています。オブジェクト、クラス、継承は、データベース スキーマとクエリ言語で直接サポートされています。また、純粋なリレーショナル システムと同様に、カスタム データ型とメソッドによるデータ モデルの拡張もサポートしています。
オブジェクト指向データベースモデルの例
オブジェクト リレーショナル データベースは、リレーショナル データベースとオブジェクト指向データベース (OODBMS) の中間に位置すると言えます。オブジェクト リレーショナル データベースでは、アプローチは基本的にリレーショナル データベースと同じです。つまり、データはデータベース内に存在し、クエリ言語のクエリを使用して集合的に操作されます。その対極にあるのが OODBMS で、この場合、データベースは基本的にオブジェクト指向プログラミング言語で記述されたソフトウェアの永続的なオブジェクト ストアであり、オブジェクトの保存と取得のためのプログラミング API があり、クエリに対する具体的なサポートはほとんどまたはまったくありません。
誤った回答は次のとおりです。
階層型データベース モデル - 階層型モデルでは、データはツリーのような構造に編成され、各レコードに 1 つの親が存在します。ソート フィールドは、兄弟レコードを特定の順序で保持します。
ネットワーク データベース モデル - ネットワーク モデルは階層構造を拡張し、複数の親を許可するツリーのような構造で多対多の関係を可能にします。
オブジェクト リレーショナル データベース モデル - オブジェクト リレーショナル データベースは、リレーショナル データベースとオブジェクト指向データベース (OODBMS) の中間に位置すると言えます。オブジェクト リレーショナル データベースでは、アプローチは基本的にリレーショナル データベースと同じです。つまり、データはデータベース内に存在し、クエリ言語のクエリを使用してまとめて操作されます。その対極にあるのが OODBMS で、この場合、データベースは基本的にオブジェクト指向プログラミング言語で記述されたソフトウェアの永続的なオブジェクト ストアであり、オブジェクトの保存と取得のためのプログラミング API があり、クエリに対する具体的なサポートはほとんどまたはまったくありません。
この質問を作成するために、次の参考資料が使用されました:
CISA レビューマニュアル 2014 ページ番号 254