階層型データモデル

出典: フリー百科事典『ウィキペディア(Wikipedia)』
階層型DBMSから転送)
移動: 案内検索
階層構造の例(二分木

階層型データモデル(かいそうがた—、階層型データベース)は、データを木構造で表したデータモデルである。一般で使われている場面として、会社の組織図などがそれに当たる。

階層型では、データを上から下へと見ていくために親データと子データという関係が発生する。これは会社の組織図を例にとると、社長の下にはいくつもの部署があり、部署の下には違う業務を担当する課が存在するといった関係になる。

このような体系では、1つのデータを探す手順は1通りしか存在しない。これは、親データと子データが「1対多」の関係でしか存在しないためである。

特徴[編集]

さきほどの会社の組織図の例では各課はそれぞれ違った社員がいるわけだが、ここで例えばある社員がなにかのプロジェクトチームに入った場合には、その社員はプロジェクトチームにいながら所属は元々いた課なので、組織図で示すとその社員は2人いることになる(データの重複)。

このようなことから、子データが様々な親データの下にある場合には、データが必要以上に増えてしまう欠点がある。(このため、IMSDL/I VSEなど実際の階層型DBMSでは、仮想レコード(ポインター)を実装している。)


長所[編集]

  • 大規模データベースでも、必要資源が少なく、高速で、応答時間の見積り精度が高い
  • レコード単位の読み書きのため、プログラミングが容易(SQLのような表のカーソル操作は不要)

短所[編集]

  • 専用のスキルが必要
  • レコードの絞込みはアプリケーションで行う必要がある(SQLでのWHEREに相当する機能が弱い)


なお事例はIMSの「実績」欄を参照のこと。

関連項目[編集]