階層型データモデル
From Wikipedia, the free encyclopedia
特徴
さきほどの会社の組織図の例では各課はそれぞれ違った社員がいるわけだが、ここで例えばある社員がなにかのプロジェクトチームに入った場合には、その社員はプロジェクトチームにいながら所属は元々いた課なので、組織図で示すとその社員は2人いることになる。つまり、データの重複が発生してしまう。
このようなことから、子データが様々な親データの下にある場合には、データが必要以上に増えてしまう欠点がある。このため、IMSやDL/I VSEなど実際の階層型DBMSでは、仮想レコード(ポインター)を実装している。
長所
- 大規模データベースでも、必要資源が少なく、高速で、応答時間の見積り精度が高い。
- レコード単位の読み書きのため、プログラミングが容易である。SQLのような表のカーソル操作は不要である。
短所
- 専用のスキルが必要である。
- レコードの絞込みはアプリケーションで行う必要がある。SQLでのWHEREに相当する機能が弱い。
