ネットワーク型データベース(ネットワークガタデータベース)とは | 意味や読み方など丁寧でわかりやすい用語解説
ネットワーク型データベース(ネットワークガタデータベース)の意味や読み方など、初心者にもわかりやすいように丁寧に解説しています。
読み方
日本語表記
ネットワーク型データベース (ネットワークガタデータベース)
英語表記
Network database (ネットワークデータベース)
用語解説
ネットワーク型データベースとは、データ間の関連性を網の目のように表現するデータベースモデルの一つである。これは、特定のデータを起点として、複数の関連データにたどり着くことができるような複雑な構造を持つことが特徴である。1960年代後半から1970年代にかけて広く利用され、階層型データベースの次世代モデルとして登場した。
詳細に説明すると、ネットワーク型データベースは主に「レコード型」と「セット型」という二つの概念でデータを構成する。レコード型は、人事データや部署データ、プロジェクトデータといった具体的な情報のまとまりを指す。これはリレーショナルデータベースにおける「テーブル」の行や、オブジェクト指向プログラミングにおける「オブジェクト」に相当する。それぞれのレコード型は、固有のフィールド(属性)を持つ。
一方、セット型は、これらレコード型とレコード型との間の関連性を定義する。セット型は「オーナーレコード」と「メンバーレコード」という形で関係を表現する。一つのオーナーレコードは複数のメンバーレコードを持つことができる。例えば、「部署」レコード型をオーナーレコードとし、「社員」レコード型をメンバーレコードとすれば、「一つの部署には複数の社員が所属する」という1対多の関係を表現できる。ここまでは階層型データベースと似ているが、ネットワーク型データベースの最大の特徴は、一つのメンバーレコードが複数のオーナーレコードに属することが許されている点にある。
例えば、ある「社員」レコードが、所属する「部署」レコードのメンバーであると同時に、参加している「プロジェクト」レコードのメンバーにもなり得る。このように、一つのデータ(社員)が複数の異なる関連を持つデータ(部署、プロジェクト)から参照されることで、データ間に複数のパス、つまり網の目状の複雑な関連を表現できるのだ。これにより、階層型データベースでは表現が困難だった多対多の関係や、一つのデータから複数の経路で別のデータへアクセスするような関係も効率的に管理できる。
ネットワーク型データベースは、その構造上、特定のデータへのアクセスパス(道筋)が事前に定義されているため、非常に高速なデータアクセスが可能となるという利点があった。また、データ間の重複を避けやすく、効率的なデータ格納も実現できた。複雑なデータ構造を物理的にそのままデータベースの構造としてマッピングできるため、当時のコンピュータの性能やストレージ容量が限られていた環境においては、効率的なデータ管理手法として評価された。
しかし、その構造にはいくつかの課題も存在した。最大の課題は「ナビゲーショナルアクセス」と呼ばれるデータ操作方法である。これは、アプリケーションのプログラマが、データにアクセスする際に、どのレコードから出発し、どのセットを辿って次のレコードに進み、最終的に目的のデータにたどり着くか、という具体的な「道順」をプログラムコードの中に明示的に記述する必要があることを意味する。これにより、データの構造が少しでも変更されると、その変更に合わせて多くのアプリケーションコードを修正しなければならなくなり、システムの開発やメンテナンスが非常に複雑で手間のかかるものとなった。
また、データ構造が固定される傾向が強く、柔軟性に欠けるという側面もあった。ビジネス要件の変化に伴いデータモデルを変更しようとすると、広範囲にわたるシステム改修が必要となることが多かった。このような欠点から、より柔軟で、データのアクセス方法をプログラマが明示的に指定する必要がない「宣言的アクセス」を提供するリレーショナル型データベースが1970年代後半から急速に普及し、ネットワーク型データベースは徐々にその主要な座を譲ることとなった。
ネットワーク型データベースは、CODASYL(Conference on Data Systems Languages)という組織が標準化を進めた「CODASYL DBTG(Database Task Group)報告書」として知られている。現在では主流のデータベースモデルではないが、その設計思想や技術は、後のデータベースシステムに大きな影響を与え、今日の複雑なデータ管理技術の基礎の一部となっている。