インスタンス・リストがその基盤となるデータベースの構成を反映しているとは限らない
インスタンス・リストの実体が物理的に存在するわけではありません。存在するのはデータベース・テーブルであり、その物理的な構成がそのままインスタンス・リストの構成に対応することが多いのですが、常にそうであるとも限りません。
この節では簡単なSECTIONS-EMPLOYEES関係を例として使っていますが、2000人もの従業員を抱える部課があったとしたら、いっぺんに提示されても取り扱いが大変でしょう。このような場合、EMPLOYEES_A_G、EMPLOYEES_H_M、EMPLOYEES_N_T、EMPLOYEES_U_ENDという4つの子ビジネス・オブジェクトを設け、名前の頭文字によって4分割すると扱いやすくなるもしれません。
あるいは次のような例を考えてみましょう。メッセージを集積した、単一のデータベース・ファイルがあるとします。各メッセージには7桁の識別番号があります。さらに、電子メールの「状態」コードと同じように、RECEIVED、READ、SENT、DELETEDのいずれかの「状態」が設定されています。このような構成のデータベースを、次のようなインスタンス・リストに変形して扱うことが考えられます。
ビジネス・オブジェクトの型 | AKey1 | AKey2 |
RECEIVE | RECEIVE | |
MESSAGE | RECEIVE | 26272 |
MESSAGE | RECEIVE | 63738 |
READ | READ | |
MESSAGE | READ | 73389 |
MESSAGE | READ | 74584 |
MESAAGE | READ | 73873 |
SENT | SENT | |
MESSAGE | SENT | 78383 |
MESSAGE | SENT | 37383 |
DELETED | DELETE | |
MESSAGE | DELETE | 62727 |
これは電子メールを「受信」、「送信済み」、「削除済み」などのボックスに分けて管理することに相当します。データベース構成そのものではないことに注意してください。