ネットワークモデルとは
コンピュータデータベースはテーブルで構成されます。テーブルは一般に、いくつかの共通点を共有するレコードのリストを指します。 標準的な階層データベースモデルでは、テーブルは親子関係に基づいて相互に関連付けられます。1つの親テーブルは複数の子を持つことができますが、子テーブルは複数の親を持つことはできません。 たとえば、「Employees」テーブル(親テーブル)は、「Current Workers」と「Past Workers」という2つの子テーブルにさらに細分化される場合があります。 ネットワークモデルデータベースは、この親と子の制限に代わるものを提供します。 ネットワークモデルデータベースでは、1つのテーブルに複数の子テーブルと複数の親テーブルの両方を含めることができるため、データベース内のエンティティ間のグラフィック構造がより自然になります。
ネットワークモデルデータベースの主な利点は、テーブル間の関係をより現実的に描写できることです。 テーブルの配置を1つの親モデルに絞り込もうとすると、特に2つ以上のテーブルが同様に親カテゴリと見なされる場合に、制限がかかる場合があります。 過去の例を続けると、「Employees」テーブルは「Current Workers」テーブルと「Past Workers」テーブルの両方の親として使用されましたが、「Independent Contractors」テーブルはどちらか、または両方の親として同等に機能します。 ネットワークモデルのセットアップにより、エンドユーザーは、「従業員」と「独立請負業者」の両方が「現在の労働者」と「過去の労働者」テーブルの親になるようにデータベースを構築できます。
ネットワークモデルデータベース内のテーブルは、各テーブル名を個別にリストし、グラフの最上部にある最上位の親テーブルから最下部の最も依存する子テーブルに至るまで、グラフィカルに表現できます。 各親子関係は、関連するテーブル間に線を引くことで表すことができます。 これにより、データベース設計者はエンティティ間の接続をより簡単に理解できます。
ネットワークモデルでは、データエンティティ間の関係をより現実的に表現できますが、現代のデータベース設計ではほとんど使用されていません。 コンピューターのハードウェアパフォーマンスの向上により、大規模な組織はリレーショナルデータベースモデルと呼ばれるものに進化しました。これにより、エンドユーザーは親子関係に厳密に焦点を当てるのではなく、キー値を使用してデータを直接入力できます。 たとえば、リレーショナルデータベースモデルの従業員のリストには、従業員の名前がキー値としてリストされている場合があります。 これにより、従業員リストが従業員の名前を含む他のすべてのテーブルにリンクされ、その従業員に関するすべての情報を、どのテーブルが保持されているかに関係なく、一度に取得できます。