6.10 オブジェクト・ビューを使用してモデル化される逆リレーションシップ

オブジェクトを持つビューを使用して、逆リレーションシップをモデル化できます。

1対1リレーションシップ

1対1リレーションシップは、オブジェクトの逆参照を使用してモデル化できます。たとえば、各従業員が専用のデスクトップ・コンピュータを持っているとしましょう。

リレーショナル・モデルであれば、コンピュータ表から従業員表へ、または逆の方向で外部キーを使用して、1対1リレーションシップを獲得します。ビューを使用すると、従業員からコンピュータ・オブジェクトへのオブジェクト参照や、コンピュータ・オブジェクトから従業員の参照が行えるように、オブジェクトをモデル化できます。

1対多および多対1リレーションシップ

1対多リレーションシップ(または多対1リレーションシップ)は、オブジェクト参照を使用するか、オブジェクトを埋め込むことでモデル化できます。

1対多リレーションシップは、オブジェクトのコレクションまたはオブジェクト参照のコレクションを持つことでモデル化できます。多対1リレーションシップは、オブジェクト参照を使用してモデル化できます。

部門対従業員のケースを検討してみましょう。基礎となるリレーショナル・モデルでは、外部キーが従業員表の中にあります。部門と従業員のリレーションシップは、ビュー内のコレクションを使用してモデル化できます。部門ビューに従業員のコレクションを持たせ、従業員ビューに部門の参照を持たせることができます(または部門値がインライン化できます)。これにより、前方リレーションシップ(従業員から部門へ)と逆リレーションシップ(部門から従業員リストへ)の両方が得られます。また、部門ビューに、従業員オブジェクトを埋め込むかわりに、従業員オブジェクトの参照のコレクションを持たせることも可能です。