データベースのレコード・レイアウトに複数のレコード配列が含まれる場合、COBOL OCCURS DEPENDING ON 文節として定義されていなければ、それらの配列はすべて単一の表にマップすることができます。マップするレコード配列ごとに 1 つの表を作成しなければなりません。
結果セットの単一レコードは、複数のレコード配列を単一の表定義にマッピングするデカルト積になります。 複数の配列をマップする前に、複数の配列が結果セットに及ぼす影響を理解しておく必要があります。
01 EMPLOYEE-RECORD. ... 05 DEPENDENTS-ARRAY OCCURS 20 TIMES. ... 05 HOBBIES-ARRAY OCCURS 5 TIMES PIC X(10).
Classic Data Architect COBOL サンプル集のインポート機能を使用して、このレコード・レイアウトの表定義を作成する場合、デフォルトで、DEPENDENTS-ARRAY および HOBBIES-ARRAY の両方が同じ表にマップされます。
DEPENDENTS-ARRAY と HOBBIES-ARRAY の両方を同じ表にマップした場合、単一レコードの結果セットは DEPENDENTS-ARRAY と HOBBIES-ARRAY のデカルト積であり、100 行になります。
両方の配列で情報が必要な場合には、2 つの表を作成して、配列のいずれかをそれぞれの表に含めなければなりません。