Salesforceを利用し始めたばかりの方にとって、オブジェクト同士の関連性がどうなっているのかは、なかなか理解しづらいかと思います。
オブジェクト同士の関連性を定義するものは、Salesforceにおいて数種類ありますが、中でも基本的なものとして挙げられるのが「参照関係」と「主従関係」です。
今回は、必ず理解しておくべき「参照関係」と「主従関係」にフォーカスして、オブジェクト同士のリレーションについて分かりやすく解説していきます。
Salesforceにおける「参照関係」と「主従関係」
Salesforceを扱う上で「主従関係」と「参照関係」の理解は欠かせません。
「参照関係」と「主従関係」の定義説明に入る前提として、まずはオブジェクト同士の関連性を示す「オブジェクトリレーションとは何なのか?」について押さえていきましょう。
オブジェクトリレーションとは?
「オブジェクトリレーション」とは、異なるオブジェクト間の関連性を表すデータの紐付きのことを指します。
「取引先」と「取引先責任者」を例にオブジェクト同士の関連性を見てみましょう。
「取引先責任者」の取引先名項目は、「取引先」レコードデータを参照していることが、この図を見ればわかります。
オブジェクトリレーションの構築方法には、主に以下の種類があります。
- 参照関係
- 主従関係
- 外部参照
- 間接参照
- 階層
- 多対多
本記事では、特にオブジェクトリレーションの基本となる「参照関係」と「主従関係」について、さらに掘り下げていきます。
参照関係とは
参照関係は、2つの異なるオブジェクト同士をつなぎ、片方のオブジェクトをもう片方のオブジェクトの関連項目から参照できるようにします。
前章の「取引先」と「取引先責任者」の例で言うと、取引先名項目を介するオブジェクトのリレーションは「参照関係」にあたります。
参照関係は、オブジェクト同士の関係が緩いという特徴があります。
というのも、必ずしも「取引先」に責任者が必要であるという訳ではなく、取引先企業によっては責任者が存在しなかったり、責任者が未確定だったりというケースがあります。
そのため、データの整合性という観点から取引先名項目を介する「取引先」と「取引先責任者」はリレーションの緩い参照関係となっています。
主従関係とは
主従関係のリレーションでは、片方のオブジェクトが「主」になり、もう片方のオブジェクトが「従」になります。一般的に意味する「主従関係」をそのままイメージして問題ありません。
上位に位置する主オブジェクト側は、従オブジェクトのデータを誰が参照できるかなど、従オブジェクトの特定のアクションを制御できます。
主従関係は、参照関係とは反対にオブジェクト同士の関係を厳しくする際に使用されます。
参照関係と主従関係の違い
「参照関係」と「主従関係」は、一見すると似たような項目のため、参照関係と主従関係のどちらを選択するか悩む場面が多いかと思います。
データモデル設計において、オブジェクトリレーションの選択は非常に重要となるので、オブジェクト同士の関連性をよくよく考える必要があります。
「参照関係」と「主従関係」の違いを把握した上で最適な選択ができるように、両者の異なるポイントについて以下の表にまとめました。
異なるポイント | 参照関係 | 主従関係 |
リレーションの制限 | いくつでも可能 | 2つまで可能 |
カスケード削除 | 削除されない | 削除される |
積み上げ集計項目 | 不可 | 可能 |
所有者項目の一元管理 | 不可 | 可能 |
親子関係 | 弱い | 強い |
それぞれのポイントを詳しく見ていきましょう。
リレーションの制限
1つのオブジェクトからリレーションを結べるオブジェクト数の制限です。
各カスタムオブジェクトで作成できる数は、主従関係は2つまでですが、参照関係はいくつでも作成できます。
カスケード削除
カスケード削除とは、参照しているレコードが削除されたときに、ユーザーがそのレコードへのアクセス権を所有していない場合であってもレコードの削除ができることです。
主従関係では、参照しているレコードが削除されると従オブジェクトのレコードも自動的に削除できますが、参照関係はそれができません。
必要のなくなったSalesforceのデータを削除する機会は多いかと思います。
関連性が薄く、独立して存在したとしても価値のあるデータであれば、削除せずに残しておくべきですが、大抵の場合において不要なデータは、忘れ去られたまま放置されることになります。
主従関係であれば、カスケード削除によりこの問題を簡単に解決できます。
積み上げ集計項目
積み上げ集計項目は、関連リストにある関連レコードなどから値を計算し、従レコードの項目の値に基づいて主レコードの値を表示できる項目です。
積み上げ集計項目を使用すると、特定の条件で従レコードの件数や合計値などの情報を取得できます。
主従関係は、積み上げ集計項目を使用できますが、参照関係は使用できません。
所有者項目の一元管理
主従関係では、従レコードを作成もしくは編集した際に、指定した主レコードの「所有者」が、そのまま従レコードの「所有者」として自動的に引き継がれて設定されます。
参照関係の場合、所有者を変更する際、主オブジェクト側を修正して、さらに従オブジェクト側を個々に修正する必要があります。
親子関係
主従関係は、積み上げ集計項目やカスケード削除が可能で便利である一方、リレーションの制限が2つであったり、標準オブジェクトを子オブジェクトとするリレーションを結べなかったりと、参照関係より制約が厳しくなっています。
他にも主従関係は、「標準オブジェクトを子オブジェクトとするリレーション」や「ユーザオブジェクトを親オブジェクトとするリレーション」を結べないといった制約もあります。
このように親子の関係性で言えば、参照関係は「弱く」、主従関係は「強い」という特徴があります。
参照関係参照関係
「参照関係」と「主従関係」のどちらを利用するか迷った場合には、ぜひ上記の表を参考にしてみてください。
実際にオブジェクト同士を関連付ける
「求人」と「求人応募」の2つのカスタムオブジェクトが存在するというシナリオのもとで、実際にオブジェクト同士を関連付けてみましょう。
- 参照関係の作成
- 主従関係の作成
とそれぞれのリレーションを作成していきます。
1.では、求人に応募があったことを管理する「求人応募」オブジェクトの採用担当者としてユーザオブジェクトが参照関係となるリレーションを作成します。
2.では、「求人」オブジェクトが主で 「求人応募」オブジェクトが従の主従関係を作成していきます。
参照関係の作成
まずは、[求人応募]の採用担当者(ユーザー)をリストする参照関係を作成してみましょう。
[設定]から、[オブジェクトマネージャ]で「求人応募」オブジェクトに移動します。
サイドバーの[項目とリレーション]をクリックします。
[新規]ボタンをクリックします。
[データ型の選択]で「参照関係」を選び、[次へ]ボタンをクリックします。
関連先で[ユーザ]を選択します。本記事の例では、採用担当者に組織のユーザーを割り当てます。
[次へ]ボタンをクリックします。
[項目の表示ラベル] に「採用担当者」と、[項目名]に「Recruiter」、[子リレーション名]に「JobEntries」と任意の名前を付けます。
[次へ][次へ][保存] の順にボタンをクリックして新規項目作成を完了させます。
これで、「求人応募」オブジェクトの採用担当者としてユーザオブジェクトが参照関係となるリレーションを作成されました。
主従関係の作成
続いて、2つ目のリレーション項目を作成します。「求人」オブジェクトが主で [求人応募]オブジェクトが従の主従関係を作成していきます。
カスタムオブジェクトの[オブジェクトマネージャ]ページで、[項目とリレーション] をクリックし、[新規]ボタンをクリックします。
[データ型の選択]で「主従関係」を選び、[次へ]ボタンをクリックします。
[関連先] で [求人] を選択します。[次へ]ボタンをクリックします。
[項目の表示ラベル] に「求人」と、[項目名]に「Job」、[子リレーション名]に「JobEntries」と任意の名前を付けます。
[次へ]、[次へ]の順にボタンをクリックします。最後の[関連リストの表示ラベル]には「求人応募」と任意の名前を付けます。
[保存] ボタンをクリックして新規項目作成を完了させます。
これで、「求人」オブジェクトの関連リストに「求人応募」と表記された求人応募レコードが表示されるようになります。
オブジェクトリレーションの使い分けができるように
いかがでしたでしょうか。今回は、Salesforceに登録されている異なるオブジェクト同士のデータを関連付ける「参照関係」と「主従関係」について紹介しました。
実際に、「参照関係」と「主従関係」でリレーションを構築するにあたっては、さまざまな制御事項を考慮したデータモデルにする必要があります。
両者の違いを理解し、自社が管理するデータモデルの要件に応じてオブジュエクトリレーションの使い分けができるようしておきましょう。
本記事が、Salesforceにおけるデータ管理の参考になれば幸いです。
Salesforceの導入を検討中の方はサンブリッジにご相談ください
サンブリッジは、長年Salesforceの導入や開発に取り組み、貴社の業務に合わせたクラウドサービスを提供するSalesforceコンサルティングパートナーです。Salesforce導入時の設計・設定から導入後の定着化支援まで、安定した運用を実現できるよう、幅広く支援しています。
Salesforceの導入をご検討中の方は、ぜひ一度、サンブリッジまでご相談ください。
【ホワイトペーパー】
~Salesforceユーザーのための~
名刺管理ツール選定6つのポイント
名刺管理ツールを導入するにあたり、Salesforceを使っているユーザーならここをチェックしたいというポイントを6つの軸で解説した資料です。