Ims-db-dli-terminology
提供:Dev Guides
IMS DB-DL/Iの用語
階層データベースは、2つ以上のセグメント間の関係を処理します。 次の例は、IMSデータベース構造内でセグメントが互いにどのように関連しているかを示しています。
ルートセグメント
注意点-
- 階層の最上位にあるセグメントは、ルートセグメントと呼ばれます。
- ルートセグメントは、すべての依存セグメントにアクセスするための唯一のセグメントです。
- ルートセグメントは、子セグメントではない、データベース内の唯一のセグメントです。
- IMSデータベース構造に存在できるルートセグメントは1つだけです。
- たとえば、上記の例では、 'A' がルートセグメントです。
親セグメント
注意点-
- 親セグメントには、その直下に1つ以上の従属セグメントがあります。
- たとえば、 'A' 、 'B' 、および 'E' は、上記の例の親セグメントです。
従属セグメント
注意点-
- ルートセグメント以外のすべてのセグメントは、依存セグメントと呼ばれます。
- 依存セグメントは、完全な意味を表すために1つ以上のセグメントに依存します。
- たとえば、この例では、 'B'、 'C1'、 'C2'、 'D'、 'E'、 'F1' および 'F2' は従属セグメントです。
子セグメント
注意点-
- 階層内のすぐ上にセグメントを持つセグメントは、子セグメントと呼ばれます。
- 構造内の各依存セグメントは子セグメントです。
- たとえば、 'B'、 'C1'、 'C2'、 'D'、 'E'、 'F1' および 'F2' は子セグメントです。
ツインセグメント
注意点-
- 単一の親セグメントの下にある特定のセグメントタイプの複数のセグメントオカレンスは、ツインセグメントと呼ばれます。
- たとえば、 'C1' and 'C2' はツインセグメントなので、 'F1' 'and *' F2 '*はツインセグメントです。
兄弟セグメント
注意点-
- 兄弟セグメントは、異なるタイプのセグメントであり、同じ親です。
- たとえば、 'B' および 'E' は兄弟セグメントです。 同様に、* 'C1'、 'C2'、、および *'D' は兄弟セグメントです。
データベースレコード
注意点-
- ルートセグメントが出現するたびに、すべての従属セグメントが出現して、1つのデータベースレコードが作成されます。
- すべてのデータベースレコードにはルートセグメントが1つしかありませんが、セグメントオカレンスの数に制限はありません。
- 標準のファイル処理では、レコードはアプリケーションプログラムが特定の操作に使用するデータの単位です。 DL/Iでは、そのデータの単位はセグメントと呼ばれます。 単一のデータベースレコードには、多くのセグメントオカレンスがあります。
データベースパス
注意点-
- パスは、データベースレコードのルートセグメントから特定のセグメントオカレンスまでの一連のセグメントです。
- 階層構造内のパスは、最下位レベルまで完全である必要はありません。 エンティティについて必要な情報量によって異なります。
- パスは連続している必要があり、構造の中間レベルをスキップすることはできません。
- 次の図では、暗い灰色の子レコードは、 'A' から始まり 'C2' を通るパスを示しています。