アクセス経路と事前結合フィールド

事前結合フィールドの特性のうち、アクセス経路の側に定義するものがいくつかあります。

どちらもアクセス経路上の事前結合フィールドすべてに適用されます。

最大レコード:

アクセス先ファイルのレコードのうち、キー・フィールド/値が合致すると想定されるものの最大個数を表します。これが1であればファイル間に1対1の関係、2以上であれば1対多の関係が成り立ちます。1対1の関係であれば、LOOKUP演算により事前結合フィールドの値を求めることができます。また、「保管数」属性の値を指定できます。一方、1対多の関係であれば、TOTAL、MAXIMUM、MINIMUM、AVERAGE、COUNTの演算が適用できます。

保管数:

ファイル間の関係が1対1の場合、アクセス先ファイルから見つかる値は1つだけで、それを事前結合フィールドに入れることになります。例えば人事管理システムの場合、「部門の説明」フィールドは、部門コードをキーとして部門ファイルから検索します。このとき、「保管数」属性を設定しておくと、アクセス結果を「nnn」回分キャッシュに保存することにより、入出力の負荷を軽減することができます。同じ部門コードの「部門の説明」を一度調べたことがあれば、ファイルから改めて読み直す必要がありません。

仮想フィールド前後の派生:

事前結合フィールドの値をどの時点で求めるか、を表します。すなわち、ファイルからデータを入力して仮想フィールドを派生させる前に求めるか、後で求めるかを表す属性です。「実行前」と指定すると、事前結合フィールドの値が先に決まるので、それをもとに仮想フィールドを派生させることができます。一方「実行後」とすれば、先に仮想フィールドの値が決まり、それをキーとして事前結合フィールドの値を求めることになります。必要に応じて使い分けてください。事前結合フィールドの値を求めるのに仮想フィールドの値が必要であれば、「実行後」とします。逆に、仮想フィールドの値を求めるのに事前結合フィールドの値が必要ならば、「実行前」と指定することになります。