参照関係と主従関係
リレーションには、参照関係と主従関係があります。
データモデルの検討の際に、親オブジェクトが必須か否かを吟味して、
どちらかを選ぶことになりますが、両者の特性の違いは重要なので、表にまとめてみました。
参照関係 | 主従関係 | |
---|---|---|
親オブジェクトの必須 | 必須でない | 必須 |
段階制限 | 何段階でも可能 | 最大3段階まで可能(親-子-孫-曾孫) |
1つの子オブジェクトからリレーションを結べる親オブジェクトの数の制限 | いくつでも参照関係を結ぶことが可能 | 2つまで可能 |
親オブジェクトの削除に対する挙動 | 子オブジェクトは削除されない | 子オブジェクトは削除される ※ |
積み上げ集計 | 不可 | 可能 |
標準オブジェクトを子オブジェクトとするリレーション | 可能 | 不可 |
カスタムオブジェクトを子オブジェクトとするリレーション | 可能 | 可能 |
ユーザオブジェクトを親オブジェクトとするリレーション | 可能 | 不可 |
※ 3段階で主従関係を結んでいる場合、親オブジェクトの削除により、子、孫、曾孫オブジェクトも削除される。
主従関係は、積み上げ集計やカスケード削除ができて便利ですが、最大3段階までしかリレーションを結べなかったり、標準オブジェクトを子オブジェクトとするリレーションを結べなかったりと、参照関係より制限が厳しくなっています。
データモデルで主従関係を利用する場合には、この表を参考にしてみてください。
コメント