Hitachi

ノンストップデータベース HiRDB Version 9 構造型データベース機能


2.3.6 ポインタによる親子集合の実現

親子集合で表現したレコード間の論理的な親子関係を,データベース中で関係づけます。これをポインタといいます。ポインタはSDBデータベース格納定義で定義できます。

次に示すポインタを親子集合を構成するレコード間に設定できます。ポインタの種類を次の表に示します。

表2‒7 ポインタの種類

ポインタの場所

種類

説明

親レコード

FIRSTポインタ

親レコードが子レコードを持つ場合,先頭の子レコードの位置情報を親レコードが管理するためにFIRSTポインタを持ちます。

FIRSTポインタは,親レコードに関係づけられた子レコードのレコード型ごとに設定されます。

LASTポインタ

親レコードが子レコードを持つ場合,最終の子レコードの位置情報を親レコードが管理するためにLASTポインタを持ちます。

LASTポインタは,親レコードに関係づけられた子レコードのレコード型ごとに設定されます。

USERポインタ

親レコードが子レコードを持つ場合,任意の子レコードの位置情報をレコード型ごとに1つだけ持つことができます。これをUSERポインタといいます。

USERポインタは,UAPの指示によって,設定・解除できます。USERポインタが設定されている場合は,UAPの指示によって,直接該当するレコードにアクセスできます。

4V FMBのSDBデータベースの場合に,USERポインタを設定できます。

子レコード

NEXTポインタ

同一レコード型の子レコードは,1つの親レコードに関連づけられたレコードの範囲内で,次のレコード(次の一連番号またはユーザキーを持つレコード)の位置情報を管理するために,NEXTポインタを持ちます。

最終レコードのNEXTポインタは親レコードを指します。

PRIORポインタ

同一レコード型の子レコードは,1つの親レコードに関連づけられたレコードの範囲内で,直前のレコード(1つ前の一連番号またはユーザキーを持つレコード)の位置情報を管理するために,PRIORポインタを持ちます。

先頭レコードのPRIORポインタは親レコードを指します。

レコードとポインタの関係を次の図に示します。

図2‒14 レコードとポインタの関係

[図データ]