現在地: Visual LANSA 開発者ガイド > 1. アプリケーション、フィールド、データベース、リポジトリの概要 > 1.6 アプリケーション・データベースの作成 > アクセス経路と事前結合列
アクセス経路と事前結合列

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

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

最大レコード:

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

保管数:

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

仮想列前後の派生:

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