読み方 : かいそうがたデータベース

階層型データベース【hierarchical database】階層型データモデル/hierarchical data model

概要

階層型データベースとはデータを単一のルートから枝分かれする木構造で整理して格納するデータベース方式。各データノードとして表現され、親子関係をたどることで目的のデータに到達する。米IBM社の「IMS」がよく知られる。
階層型データベースのイメージ画像

階層型データベースとは、データを階層的な木構造で管理するデータベースである。最上位にある単一の「ルートノード」(root node)から、枝分かれするように複数のノードが連なって構成される。リレーショナルデータベース(RDB)が登場する以前から存在する、古典的なデータベース方式の一つである。

ルートノードには複数の子ノードが登録され、各子ノードはさらに複数の子ノードを持つことができる。一方、個々の子ノードから見た親ノードは必ず一つに限定される。そのため、特定のノードから親を順に遡っていくと、最終的には必ず単一のルートノードに到達する構造になっている。

データの参照は、ルートから子ノードへと特定の経路を固定的にたどるナビゲーション型のアクセスが基本となる。ノード間の関係はポインタのような参照情報で直接結びついているため、特定のノードを指定した読み書きを高速に行える。経路が事前に決まっている分、処理に必要な計算量が少なく、記憶領域の利用効率も高いという利点がある。

一方で、データ全体から条件を指定してノードを横断的に絞り込む検索処理には不得手である。標準的な検索手順が定められておらず、実装はアプリケーションごとに異なる。また、一つの子ノードが複数の親ノードを持つ多対多の関係を表現できないため、組織図や家系図のような純粋な階層構造以外のデータを扱う際には柔軟性に欠ける。データ構造を追加・変更する場合、システム全体の再設計が必要になることも多い。

代表的な実装として、1960年代に米IBM社がメインフレーム向けに開発したデータ管理システム「IMS」(Information Management System)が知られ、現在も金融機関などの基幹システムで使われ続けている事例がある。現代の情報システムで新規に採用される機会は少ないものの、階層構造による管理という設計思想は他の分野にも引き継がれている。例えば、ネットワーク機器の管理情報を扱う「SNMP」(Simple Network Management Protocol)の「MIB」(Management Information Base)は、機器の状態や設定値を階層的な識別子(OIDObject Identifier)で表し、上位から下位へとたどってアクセスする仕組みを持つ。同様に、Windowsの設定情報を管理する「レジストリ」(registry)や、ディレクトリサービスの情報構造も木構造で設計されており、これらはある種の階層型データベースとして機能している。

(2026.6.26更新)
 

他の辞典等による「階層型データベース」の解説 (外部サイト)

この記事の著者 : (株)インセプト IT用語辞典 e-Words 編集部
1997年8月より「IT用語辞典 e-Words」を執筆・編集しています。累計公開記事数は1万ページ以上、累計サイト訪問者数は1億人以上です。学術論文や官公庁の資料などへも多数の記事が引用・参照されています。