階層型データモデルの特徴

階層型データモデルは、1966年に最初に登場した、作成された最初のデータベースモデルでした。 これは、データベース内の情報間の論理関係を作成できるため、一般的なファイル処理システムの改善でした。 ただし、この構造には、ネットワークモデルとリレーショナルモデルの最終的な開発につながる欠点もあります。

構造

階層型データモデルの主な特徴は、ツリーのような構造です。 たとえば、会社のデータベースは、スタッフ用に1つのブランチを使用して編成し、次に部門、チーム、チームメンバーの順に編成する場合があります。 この親子構造はデータベース全体で一貫しており、各子セグメントは1つの親セグメントのみを持つことができます。 各セグメントまたはレコードには、そのレコードに関する情報を提供する任意の数のフィールド要素を含めることができます。 たとえば、チームメンバーのレコードには、名前、監督者、連絡先などの詳細が含まれます。

今日のビデオ

1対多および冗長性

階層モデルでは複合レコード(つまり、エントリに複数の親を持つ)が許可されていないため、データベースは1対多の構造になっています。 1つの会社に多くの部門を含めることができ、1つの部門に多くのチームリーダーを含めることができます。 これにより、モデルに冗長性が生じる可能性があります。 たとえば、チームメンバーの下にあるブランチは、進行中のプロジェクトと呼ばれる場合があります。 複数のスタッフが1つのプロジェクトで作業する可能性があるため、プロジェクト情報を複製する必要があり、一貫性の問題が発生する可能性があります。

ナビゲーション

階層型データモデルはナビゲーションデータモデルです。 モデル内のアクセスパスは、事前に定義された構造によって制限されます。 特定のファイルレコードを取得するために、クエリはデータベースのルートセグメントからブランチを下に移動します。 これは、探しているレコードの場所がすでにわかっている場合は問題ありませんが、探索的なものを作成している場合は問題ありません。 クエリ、これは遅いです。データベースは次のレベルに移動する前に、特定のレベルのすべてのレコードを読み取る必要があるためです。 一。

論理親ポインター

階層構造の制限は、論理的な親ポインターを使用することである程度緩和されます。 IBMが情報管理システムのデータモデルで開発したこのモデルには、多対多の関係を持つエントリ用の新しいデータベースを設定し、2つをリンクすることが含まれます。 たとえば、Ongoing Projectsブランチには、プロジェクト情報が含まれている別のProjectsデータベースにユーザーをリンクするポインターがあります。 これは、XML Extensible Markup LanguageIDREF関数の動作と似ています。