人事管理システムにおける事前結合フィールドの使用例

人事管理システムのアプリケーション・データベースには、部門ファイル、部課ファイルがあります。

部門ファイルの「説明」フィールドと同じものを、「部門の説明」フィールドとして部課ファイル内にも設けてみましょう。さらに、部門ファイルに「部課数」フィールドを設け、その部門に属する部課の数を求めることにします。このような目的には事前結合フィールドが向いています。

まず、次の2つの仮想フィールドをリポジトリに定義します。

部課ファイルから部門ファイルへのアクセス経路を設定し、これをもとに、部課ファイルに事前結合フィールド「部門の説明」を追加します。その値は、部門ファイルの「説明」フィールドを検索して求めることになります。「部門の説明」は仮想フィールドなので、実際に部課ファイル中にデータが格納されているわけではありません。あるファンクション内でこのフィールドを参照しようとすると、自動的に部門ファイルにアクセスして値を求めます。その際、アクセス経路の定義を参照します。

次に、部門ファイルから部課ファイルへのアクセス経路を設定し、これをもとに、部門ファイルに「部課数」フィールドを追加します。その値は、部課ファイルの該当するレコードを数えて求めることになります。「部課数」は仮想フィールドなので、実際に個数データが格納されているわけではありません。あるファンクション内でこのフィールドを参照しようとすると、自動的に部課ファイルにアクセスして値を求めます。