2.3.5 親子集合
構造型DBでは,各レコードは互いに関連を持ちます。レコード間の論理的な関連は親子の関係で表現されます。これを親子集合といいます。
ルートレコードを除く各レコードは,親レコードを1つだけ持ち,子レコードを複数個持つことができます。
(3) 親子集合型
親レコード型と子レコード型をモデル化したものを親子集合型といいます。親子集合型はSDBデータベース定義で定義します。親子集合型の例を次の図に示します。
この例の場合,「商品」レコードの商品(品番)に対応して,「売上」レコードと「仕入」レコードが存在します。そのため,「商品」レコードを親レコード,「売上」レコード,「仕入」レコードをそれぞれ子レコードとする,親子集合ができます。
(4) ルートレコード
階層構造の最上位のレコードをルートレコードといいます。ルートレコードのレコード型をルートレコード型といいます。
ルートレコードは,親レコードを持つことはできません。子レコードを複数個持つことができます。
(6) 仮想ルートレコードと仮想親子集合【4V AFM】
親子集合を構成しない(階層構造を持たない)データベースを構築する場合,HiRDB/SDでは仮想のルートレコード(仮想ルートレコード)を親レコードとして設定し,仮想的な親子集合を構成します。これを仮想親子集合といいます。
TMS-4V/SPのAFMのデータベースは親子集合を持ちません。そのため,HiRDB/SDの4V AFMのSDBデータベースに移行する場合,仮想親子集合を構成します。
仮想親子集合の例を次の図に示します。
仮想ルートレコード型のレコード実現値は,通常のレコード実現値とは異なり,1つの子レコード型とだけ親子集合を構成します。つまり,仮想ルートレコード型の1つのレコード実現値に対する子レコード実現値はA,B,Cのどれかの子レコード型にしか存在しません。