【図解】Salesforceの主従関係と参照関係の違い|使い分けと変換時の注意点 2026年10月13日
Salesforceでリレーションを持たせるには、主従関係と参照関係の2つの方法があります。どちらもリレーションを持つことができますが、この2つは設計上の違いがありますので、違いを把握しておかないと、後からの変更が非常に手間になってしまいます。
「こんなはずじゃなかった、、」とならないためにも本記事では主従関係と参照関係の違いに焦点を当てつつ、作成手順を画面キャプチャ付きで説明していきます。
-
Salesforceのリレーションとは
主従関係と参照関係の違いを理解する前に、主従関係と参照関係のどちらにも存在するリレーションについて理解しましょう。Salesforceのリレーションとは、オブジェクト間を紐づけることを言います。例えば、顧客との間に生じる商談は、顧客と商談にリレーションが発生しているので、顧客と商談のオブジェクト同士がデータ同士でつながっている必要があります。このような紐付け設定をリレーションと言います。
例えば不動産では、建物と部屋のリレーションがよく設定されます。建物一棟に対して、複数の部屋が存在するような関係は、リレーションの設定が望まれます。
Salesforceで、建物と部屋にリレーションが存在する場合の建物のレコード画面は以下の画像のようになります。リレーションがあることで建物内の部屋に関する状況を把握することができます。

リレーションを設定する役割
リレーションは親と子でいうと、子にあたるオブジェクトでリレーションの設定を行います。具体的にはリレーションの役割を持つカスタム項目を作成します。例えば先ほどの例にある「建物」と「部屋」の親子関係であれば、「部屋」のオブジェクトでリレーションのカスタム項目を作成します。
リレーションの設定には以下の役割があります。
- 親のレコード画面に、子レコードを関連リストとして一覧表示する(一覧に表示する項目をカスタマイズできる)
- 親と子を紐付けたレポートの作成で集計ができる(例えば、建物ごとの部屋の空室数を集計することができる。)
- 数式項目(クロスオブジェクト数式)で親レコードの項目を参照(表示)することができる(部屋のレコード画面で親レコードの建物に存在する住所を表示)
こうしたリレーションは標準オブジェクト(取引先と商談、取引先と取引先責任者など)では既に存在しますので、カスタムオブジェクトを追加する時にリレーションの設定を検討することになります。
ここまでで説明したリレーションをSalesforceで構築する時は、主従関係もしくは参照関係の項目を作ることで実現ができます。設定を行う前に、これからリレーションを構築する時に、主従関係と参照関係のどちらを選べば良いか確認していきましょう。
-
主従関係と参照関係の違い
主従関係と参照関係の一番大きな違いは、親に対して子レコードが独立して存在するかどうかです。主従関係は親レコードがないのに子レコードが存在することはありません。言い換えれば主従関係は親レコードが削除されれば子レコードも削除されることになります。参照関係は、リレーションを持ちますが、親と子はそれぞれ独立した関係になります。
主従関係とは:親と子が完全に紐づいている関係です。子は親なしでは存在できません。主従関係は、親の設定(所有者や共有設定、削除の動きなど)が子にも連動します。つまり子の編集権限を持たせたい場合は、親の編集権限がなければいけません。不動産業でいえば「物件」と「部屋」の関係です。(もし、物件がなくなって削除が必要であれば、部屋情報も削除される関係性)
参照関係とは:親と子をゆるやかに結びつけるリレーションです。子は親と独立して存在でき、所有者や共有設定を個別に持ちます。不動産業でいえば「顧客」と「問い合わせ」の関係です。

上記図のように主従関係は親の中に子が含有されているので、親がなくなれば子もなくなります。一方で参照関係は、親と子がつながっている形式なので親を削除しても子はなくなりません。
より詳細に主従関係と参照関係の特徴を次から見ていきましょう。
-
主従関係の特徴
①親レコードの設定が子レコードに連動
主従関係では、所有者とレコードの共有設定が親と子レコードに連動します。
所有者の場合は親レコードの値が子レコードと一緒になります。つまり子レコードの所有者は常に親レコードと同じになります。
レコードの共有設定も親から子に連動することになります。例えば、親レコードが閲覧できれば、子レコードも閲覧できることになります。子だけを別の担当者に見せたり、子だけを非公開にすることはできません。そうした挙動が必要な場合は、参照関係を検討する必要があります。
②親を削除すると子も削除される
主従関係のリレーションを選択した場合は、親レコードを削除すると自動的に子レコードも削除されることになります。削除されたレコードはゴミ箱に移動されることになり、親レコードを復元すれば子レコードも元に復元されます。
③積み上げ集計項目が使える
主従関係には、子レコードの件数や合計値を集計することができる積み上げ集計項目を作成することができます。

上記画像のように、親が建物で子が部屋という主従関係があった場合に、部屋の「空室数」や「賃料合計」といった集計値を積み上げ集計項目で自動表示することができます。
主従関係の制約
また主従関係には制約事項があります。設定する前に事前に確認しておきましょう。
補足:制約事項- 取引先や商談など標準オブジェクトは、子オブジェクトにすることはできません。(標準オブジェクトを親にすることは可能です。)
- 1つのオブジェクトに作成できる主従関係は2個まで
- 既にレコードがある状態で主従関係を作成したい場合は、先に参照関係を作成して全レコードに参照関係を紐づけてから参照関係を主従関係に変更する必要があります。
- 初期設定では子レコードの親を変更することはできません。子が親の変更をしたい場合は「親の変更を許可」を有効にする必要があります。
-
参照関係の特徴
①親子それぞれが独立したレコードとして存在
親の値に子が連動する主従関係と反対に、参照関係は所有者やレコードの共有設定は親と子それぞれの設定が可能です。親は閲覧できるが子は閲覧不可であったり、親は閲覧不可で子が閲覧できるといった別々の設定にしたい場合は参照関係を選択します。
②親削除時の動作を選べる
参照関係は、親レコードが削除された時の共同を選択することができます。初期設定は親レコードが削除されても子レコードは削除されません。
「このレコードも削除します」選択した場合は、主従関係と同じように親が削除された場合に子レコードも削除します。これは親子がカスタムオブジェクト同士の時のみ選択できますが、削除動作を主従関係にしたいが共有設定は独自にしたい場合などに使います。
「参照関係に含まれる参照レコードは削除できません」を選択した場合は、親レコードの削除を許可しない動作にすることもできます。
③積み上げ集計項目は設定できない(代替方法)
主従関係で作ることができた積み上げ集計項目は参照関係では作ることはできません。子レコードの合計や割合といった集計値を出すためには、代替方法の「フローで集計」や「AppExchange」を使う必要があります。
-
主従関係と参照関係の作成手順
主従関係と参照関係を作る方法は、どちらもリレーションとなる項目を作成することで実現します。途中で設定画面は異なりますが、手順は似ていますので注意して見ていきましょう。
ここでは、親を建物オブジェクト、子を部屋オブジェクトとしてリレーションを作る方法を紹介します。
①子オブジェクトの「項目とリレーション」を開く
設定画面からオブジェクトマネージャーを開き、対象の子オブジェクト(今回は部屋オブジェクト)を開きます。ページを開いたら「項目とリレーション」を選択して「新規」のボタンをクリックします。
②データ型を開く
データ型を選択します。ここで「参照関係」か「主従関係」を選択します。
③親オブジェクトを選ぶ
データ型を選択したら親オブジェクトを選択します。今回は、親に「建物」で子に「部屋」の関係を作りますので、親オブジェクトは「建物」を開きます。
④項目の詳細を設定
次に項目の詳細を設定します。ここの設定は主従関係と参照関係で異なります。
主従関係で異なる箇所
以下の2つの設定に注意します
- 共有設定:子レコードの編集に対して必要な親レコードのアクセス権を選びます。
- 親の変更を許可:子レコードの親の変更を許可するかどうかを選びます。
参照関係で異なる箇所
以下の2つの設定に注意します
- 必須:親の入力を必須にするか選びます
- 参照レコードが削除された場合の動作:値をクリアするか、削除を許可しないなどから選びます
⑤項目レベルセキュリティの設定
次に項目レベルセキュリティを設定します。どのプロファイルがこの項目を参照できるかどうか、設定します。
⑥ページに項目を表示する
子オブジェクトのどのページレイアウトに項目表示するか、ページレイアウトを選択します。主従関係の場合は必須となります。
⑦親のレコードページで見る関連リストの設定
最後に親オブジェクトのページレイアウトに追加する関連リストとその表示ラベルを設定します。今回は親オブジェクトのレコード画面で、「部屋」の表示ラベルで見えるように設定して保存します。
保存したら親オブジェクトのレコード画面から関連リストの見え方を見てみましょう。以下は設定が完了した後に⑦で設定した関連リストの見え方です。

-
作成後に関係を変換する方法と注意点
最後に設定した後の変更について説明していきたいと思います。「参照関係→主従関係」やその逆「主従関係→参照関係」にする場合など、リレーションの構造を変更する場合には注意が必要です。
「参照関係→主従関係」に変更したい場合
このケースでは、全てのレコードに親の値が入っている必要があります。まずは、参照関係全レコードの親項目の値をチェックします。もし親項目の値が空白だった場合は、親項目の値を埋めた上で、データ型を変更します。
また既に主従関係が2つ作成されていないことと、子オブジェクトがカスタムオブジェクトであることが条件になるので注意が必要です。
「主従関係→参照関係」に変更したい場合
この変更をするためには、積み上げ集計項目がないことが前提となります。もし積み上げ集計項目がある場合は、積み上げ集計項目を削除してからデータ型を変更する必要があります。
参照関係に変更した場合は積み上げ集計項目を作ることができないので、本記事の前の部分で説明した代替方法「フロー」もしくは「AppExchange」にて設定が必要です。またレコードの共有設定が親に依存しなくなるため、共有設定の見直しが必要です。親と子それぞれの共有設定を見直しましょう。
-
まとめ
主従関係と参照関係について説明してきました。どちらもリレーションをもつことで、親子の関係がレコード画面で見られたり、レポート集計などで便利に使うことができます。便利なリレーションを構築できる一方で、一度設定すると後になってからの変更が大変な側面がありますので、本記事と十分に理解してから設定してください。
設定方法や貴社に最適なリレーション、業界で特有のリレーションのあり方などについて相談したい場合は、ぜひ当社の「Salesforce運用・保守支援サポート」までご相談ください。