階層的データモデル

コンピュータ

オブジェクトは非常にしばしばそのような関係にあり、階層的と呼ばれる。通常、「部分全体」、従属関係や種関係などの関係について話があります。このような関係にあるオブジェクトは、指向グラフと呼ばれるツリーを形成します。つまり、他の頂点に従属しない頂点が1つしかありません。この頂点はツリーのルートと呼ばれます。残りの頂点間の相互作用は、次のように実現されます。他の頂点は、その上に位置する1つの頂点のみに従います。概念的には、階層データモデルは、リンクタイプによって1つの単一のツリーまたは複数の個別のツリーにリンクされるレコードタイプの集合として理解されます。このモデルでは、すべてのタイプの関係がタイプ「1から数」によって形成され、グラフ上では矢印で表されます。階層データモデルは、ファミリーツリーのように、オブジェクト間にこのような種類の関係がありますが、1つの例外として、各サブジェクトに対して1つのメインオブジェクトしかありません。つまり、このようなデータモデルでは、1対1または1対多のデー​​タベースオブジェクト間で2種類の通信しか許可されません。階層型データベースは本質的にナビゲーションベースです。つまり、事前に定義されたリンクの助けを借りてのみアクセスが可能です。

イベントをモデリングする場合、通常、多対多の関係が必要です。このような制限を取り除くには、オブジェクトの複製などの出力を提案することができます。しかし、オブジェクトの複製には欠点があります。情報の矛盾がある可能性があります。階層的データモデルは、そのナビゲーションの性質のために所定の所定の関係に沿った迅速なアクセスを提供するという利点を有する。しかし、彼女には欠点もあります。それらは、そのようなデータモデルにおける柔軟性の欠如に関連しており、特に、オブジェクトへの複数の親の存在の不可能性、およびデータへの直接アクセスを得ることができないことに関係する。これは、事前に計画されていなかった要求の定期的な実施の条件では使用できない状態に変わります。階層型データベースモデルにはもう一つ欠点があります。それは、下位階層レベルからの情報検索が、上に位置するノードに向けられないという事実にある。

主な情報単位として、階層モデルはセグメントとフィールドです。データフィールドの下では、ユーザーが利用できる最小の分割不可能なデータ単位を定義するのが通例です。セグメントの場合、セグメントのタイプとインスタンスを定義するのが一般的です。セグメントのタイプは、それが含むデータフィールドのタイプの名前付きセットです。セグメントインスタンスは、いくつかの特定のフィールド値から形成されます。階層的データモデルは、上述したように、データ構造のグラフ形式で形成される。それを概念のレベルで考えると、それはネットワークモデルの特定のケースだけです。階層モデルでは、セグメントのタイプは頂点に対応し、弧には「祖先 - 子孫」の形式でリンクのタイプが対応します。ここでは厳密なルールがあり、子孫セグメントは祖先を1つしか持てません。一般に、そのようなモデルは、すべてのセグメントを結合するツリー構造を持つ、無向グラフのように見えます。階層型データベース型構造は、順序付けられた木の集合を含む。モデル自体はツリーであり、上位レベルには1つのメインオブジェクトがあり、第2レベルには第2レベルのオブジェクトが配置され、第3レベルにはオブジェクトが配置されます。

この資料から、階層的なデータ構造が何であるかを知ることができます。