Salesforceではオブジェクト同士の関係性を「主従関係」と「参照関係」で定義します。それぞれの違いを正しく理解することで、データの構造や操作性が大きく変わります。本記事では、両者の特徴と使い分けを解説します。


🔗 オブジェクト関係:主従関係と参照関係の違いとは?
Salesforceでは、複数のオブジェクト間に関係性(リレーション)を持たせることができます。たとえば、「取引先」と「取引先責任者」、「見積」と「見積明細」など、一方のデータが他方に関連して存在することは、現実の業務でもよくあることです。
この関係性をSalesforce上で実現するのが「リレーションシップ項目」であり、代表的な2つが「主従関係(Master-Detail Relationship)」と「参照関係(Lookup Relationship)」です。
では、それぞれの違いを詳しく見ていきましょう。
🔷 主従関係(Master-Detail Relationship)
🎯 特徴まとめ:
- 従(Detail)オブジェクトは親(Master)に従属
- 従のレコードは、必ず親を持たなければなりません(親が未設定のまま保存できない)。
- 親が削除されると従も削除される
- 「親を削除したら、子も一緒に消えてしまう」という、強い依存関係。
- 親レコードにロールアップ集計が可能
- 親から、子の合計や最大値などを集計できます。
- 所有者とアクセス権は親に依存
- 従レコードの所有者は自動的に親の所有者になり、アクセス権限も親に従います。
🔍 こんなときに使うべき:
- 子レコードが親なしには存在できないようなデータ構造のとき。
- 子の情報を集計して親に表示したい(売上合計、数など)。
- 子の操作や権限も親とまとめて管理したい。
🧭 例:
「イベント(親)に登録された参加者情報(子)」
→ イベントがなくなれば、参加者情報も意味をなさない=削除。
「出版企画(親)と、その中の取材スケジュール(子)」
→ 企画がキャンセルされたら、取材も当然キャンセル。
🔷 参照関係(Lookup Relationship)
🎯 特徴まとめ:
- 緩やかな関連関係
- 子(または参照側)のレコードは、親を指定しなくても保存可能。
- 親の削除時に子がどうなるかは設定で選べる
- 削除時に子の参照項目を「空欄にする」か、「削除を制限する」かを設定可能。
- ロールアップ集計は不可(標準機能では)
- 子の情報を集計したい場合は、Apexトリガやフローなどの工夫が必要。
- 所有者・権限は独立
- 親と子で別々に設定できます。
🔍 こんなときに使うべき:
- 子レコードが独立して存在することが許されるケース。
- 削除しても問題ない or 影響を個別に管理したい。
- 柔軟なアクセス制御をしたい。
🧭 例:
「お問い合わせ(子)と担当営業(親)」
→ 営業担当がいなくなっても、お問い合わせ情報は保持されるべき。
「レビュー(子)と商品(親)」
→ 商品が削除されても、過去のレビューは記録として残したい。
⚠️ よくある誤解
誤解 | 真実 |
---|---|
主従関係の方が「上位の関係」なので強い | 強い=制約が多いという意味。便利だけど柔軟性には欠ける面もある |
主従関係の方が必ず推奨される | データの性質に応じて選ぶのが正解。業務要件に合わせて! |
参照関係でも集計できるでしょ? | 標準機能ではできません。カスタムロジックが必要です |
💡 どちらを選ぶべきかの判断基準
判断項目 | 主従関係が向いている | 参照関係が向いている |
---|---|---|
子レコードの必須性 | 常に親が必要 | 必要に応じて親がいればOK |
子レコードの独立性 | 親と運命共同体 | 単体でも存在価値がある |
権限や所有者の管理 | 親と一体で管理したい | 個別に管理したい |
データ削除の挙動 | 親と一緒に削除 | 残すことも可能 |
集計の必要性 | 必要(ロールアップ可) | 不要 or 別手段で対応 |
🌟 ノックスの格言
「関係性を定義するということは、レコードの“運命”を定めることなのです」
(銀河歴8221年 ネクタリス・オーヴァ大学 情報魔法学部 データ関係学序論より)
(英訳:”To define a relationship is to define the destiny of records.”)
(原語訳:”Ralviun ka’theras il’vari — om’therin dol thalos nemar.”)
💡 まおの学びメモ
主従関係って、めっちゃ親子!子は親がいないと生きていけない。
親を削除したら、子も自動で削除されちゃう……こわい……
子レコードは親の影響を強く受ける。権限とか所有者とかも。
ロールアップ集計ができるのは主従関係だけ!これ地味に便利かも。
✅ 覚え方:「運命共同体」=主従関係!
💡 さやかの学びメモ
参照関係はフリーな関係!親(上司)がいなくても子は生きていける。うん、私っぽい。
削除されても子は生き残る(設定次第だけど)!
所有者も別々でOK、自由度高し!
でも、ロールアップ集計は使えないからちょっと注意。
✅ 覚え方:「ソロ活動OK」=参照関係!
❌ 関係性のたとえ話、リアルでやりすぎると痛い目見る!
では、また次回の 異星人Salesforce講座 でお会いしましょう!👽✨