SQL
 Computer >> コンピューター >  >> プログラミング >> SQL

ネットワークモデルとは?基本概念・特徴・メリットとデメリットを解説

ネットワークモデルは、階層モデルを拡張したデータベースモデルです。階層モデルでは実現できなかった多対多(N:M)の関係を、複数の親を持つことができるツリー構造で管理できる点が大きな特徴となっています。

ネットワークモデルの2つの基本概念

ネットワークモデルを理解するうえで、次の2つの基本的な概念が重要になります。

  • レコード(Records): 階層的に編成する必要があるフィールド(項目)を含みます。
  • セット(Sets): 「1人のオーナー」と「複数のメンバー」からなる、レコード間の1対多の関係を定義するために使用されます。

1つのレコードは、あるセットでは「オーナー」として振る舞い、別のセットでは「メンバー」として振る舞うなど、任意の数のセットに所属できます。なお、ここでの「セット」は数学における集合とは異なる概念である点に注意してください。

セット構造の仕組み

セットは循環リンクリスト(環状連結リスト)によって設計されます。この構造では、セットのオーナー(親)にあたるレコード型が各循環内に1回だけ現れ、もう一方の従属側(子)のレコード型は各循環内に複数回現れることがあります。

任意の2つのレコード型の間には階層関係が確立されます。たとえば、ある型(A)が別の型(B)のオーナーである一方で、同時にBがAのオーナーとなる別のセットを作ることも可能です。このように所有関係は方向性によって定義されるため、すべてのセットをまとめると一般的な有向グラフを構成します。レコードへのアクセスは、循環リンクリストによるインデックス構造を通じて実現されます。

ネットワークモデルの主な特徴

  • データの冗長性を、階層モデルよりも効率的に表現できます。
  • あるノードから後続ノードへの経路を複数持つことができます。
  • 操作はリンクリスト(循環型)のインデックス構造によって維持され、プログラムは現在位置を保持しながら、レコードが参加している関係をたどってレコード間を移動します。
  • キー値を指定することでもレコードを検索できます。

具体例:エージェントとエンターテイナーの管理システム

以下のような例でネットワークモデルをイメージしてみましょう。エージェントは複数のクライアント(顧客)を代表し、複数のエンターテイナー(芸人やミュージシャンなど)を管理します。各クライアントは任意の数の出演契約(公演)を手配し、そのサービス料をエージェントに支払います。各エンターテイナーは複数の公演に出演し、さまざまな音楽スタイルで演奏することもあります。

このモデルでは、レコードの集合がノードとして表現され、セット構造によってネットワーク内の関係が確立されます。セット構造は、片方のノードをオーナー、もう片方のノードをメンバーとして、2つのノードを関連付けます。つまり、オーナーノード内の1件のレコードは、メンバーノード内の1件以上のレコードに関連付けることができますが、メンバーノード内の1件のレコードは、オーナーノード内のただ1件のレコードにのみ関連付けられるという1対多の関係を管理します。

さらに重要な制約として、メンバーノード内のレコードは、オーナーノード内の既存のレコードとの関連なしには存在できません。先ほどの例でいえば、クライアントは必ずいずれかのエージェントに割り当てられなければなりませんが、クライアントを持たないエージェントであっても、データベース上に登録しておくことは可能です。

特定のノードペアの間には1つ以上のセット(接続)を定義でき、1つのノードがデータベース内の他のノードとの複数のセットに関与することも可能です。

ネットワークモデルでのデータアクセス

適切なセット構造を利用すれば、ネットワークモデル内のデータへ容易にアクセスできます。ルートノードの選択に制約がないため、どのノードからでもアクセスを開始し、関連するセットを使って前後に移動できます。

たとえば、「ある特定の公演を手配したのはどのエージェントか」を調べたい場合を考えてみましょう。まずENGAGEMENTS(公演)ノードから該当する公演レコードを見つけます。次にScheduleセット構造を通じて、その公演レコードを「所有」しているクライアントを特定します。最後にRepresentセット構造を通じて、そのクライアントレコードを「所有」しているエージェントを突き止めます。

ネットワークモデルのメリット

  • 高速なデータアクセスが可能です。
  • 階層型データベースで作成できるものより複雑なクエリを作成できるため、多様な検索を実行できます。

ネットワークモデルのデメリット

  • セット構造を使いこなすには、ユーザーがデータベースの構造に精通している必要があります。
  • データベース内部の更新作業が煩雑です。セット構造を変更すると、その構造を使ってデータをナビゲートしているアプリケーションプログラムに影響を与えてしまうため、セット構造を変更する場合は、アプリケーションプログラム内のその構造への参照箇所をすべて修正しなければなりません。
  1. Windows PCでワイヤレスネットワーク接続を設定する方法【Windows 11/10/8/7対応】

    ワイヤレスネットワークがあれば、部屋中に長いケーブルを這わせる必要がなくなり、見た目が悪いうえにつまずいて転倒するなどの安全上のリスクも回避できます。無線の信号はあらゆる方向へ高速で飛ぶため、寝室や自宅のベランダからでも快適に作業できます。この記事では、Windows 11/10/8/7でワイヤレスネットワーク接続を設定する手順を詳しく解説します。 ワイヤレスネットワーク接続の設定に必要なもの 完全なワイヤレス環境を構築するには、以下の4つのアイテムが必要です。 ワイヤレスネットワークに対応したOS: Windowsは、特別な知識がなくてもワイヤレスネットワークを簡単に構築できる優れたOSで

  2. 自宅のWi-Fiネットワークを簡単に設定する方法【初心者向け10ステップガイド】

    今やWi-Fiは、家庭にとって贅沢品ではなく必需品となっています。来客にも快適な高速Wi-Fiを提供したいと考える方は多いはずです。有線インターネットから手間のかからない無線環境へ切り替えたいと思っても、実はそれほど難しい作業ではありません。Wi-Fiネットワークの構築は、思っているよりずっと簡単です。以下の手順に従って、さっそく始めましょう。 ステップ1:必要な機器を揃える まずは、必要な道具と機器がすべて揃っているか確認しましょう。以下のものが必要です。 無線LANルーター 無線機能搭載のノートパソコンまたはデスクトップパソコン 動作するDSL/光ファイバー対応モデム イーサネット(R