About Salesforce

【Salesforceとは】 参照関係と主従関係について簡単にわかりやすく解説!

About Salesforce
この記事は約4分で読めます。

こんにちは、アンダーソンです。
セールスフォースをイチから知ろうシリーズです。
今回は、参照関係と主従関係の違いについて説明していきたいと思います。

スポンサーリンク

リレーションを知ろう

Salesforceにおけるリレーション、オブジェクトの関連性は数種類ありますが、中でも基本的な構図としてあるのが
参照関係と主従関係ではないでしょうか。
一応そのほかの〇〇関係と呼ばれるのも下に記載しておきますが、今回はあくまでも
参照関係主従関係にフォーカスしていきます。

まず大前提として、参照関係や主従関係は二つ以上のオブジェクトが存在しないとできません。
言い換えれば、二つ以上のオブジェクトに対して関連性を持たせることができるのが参照関係です。
関連性を持たせるとはどういうことでしょうか。
例えば車があったとします。車にはいろいろなパーツがあって車となります。
大きくわけても、車体、タイヤ、サスペンションなどがありますが、

ここでいう、車体、タイヤ、サスペンションはオブジェクトです。
それぞれのオブジェクトは関連しています。
車体につけるサスペンションはAというサスペンションでタイヤはBというタイヤというように
車体というレコード事に関連させるレコードを変えることができます。
図にすると下記のような感じです。

この時タイヤ側に車体を設定する項目を作り、そこに車体のレコードを指定します。
これが参照項目です。ここで参照項目にレコードが入って入れば参照関係となります。
上の図でいくと『車体Aの関連しているタイヤはタイヤA』と言えますし、
『タイヤAは車体Aを参照している』とも言えます。
また、この関係のことを親子関係などと言ったりもします。
車体が親で、タイヤが子です。

参照関係とは

さてではリレーション、関連性についてわかったところで、参照関係と主従関係の違いを説明していきます。
まずは参照関係からです。

参照関係は繋がりが甘いです。
どういうことかというと、絶対に親子である必要がない関連の仕方です。
例えば前述の車体とタイヤに目を向けてみます。タイヤAは車体Aに必ずつかないといけないでしょうか。
おそらくそんなことはないですよね。
お客さんによっては車体はBが好きだけどタイヤのグリップ力はCというように、
必ずしも完全な関係ではない状態のことを言います。

また、完全な状態ではないので、車体が削除されたとしてもタイヤは残り続けます。(この場合は商品としてのタイヤと想像してみてください。)
Salesforce上でも、参照関係の親レコードを削除しても子のレコードは消されずに残ります。

主従関係とは

主従の従は従うという意味ですね。参照関係よりもより密な関係性を持っています。
参照関係の項目は入力必須ではないです(設定によって変更可)。
車体AがなくなってもタイヤAは車体項目が空白になるだけで存在できます。
しかし主従関係は違います。

参照関係との大きな違いは親子の関係が厳しいということです。
親が消されれば子も消えます。

例えば車体の部品としてドアオブジェクトがあったとします。
それぞれのドアはそれぞれの車体につくよう専用に設計されたものです。
ですので車体Aに車体B用のドアをつけることはできません。

専用設計されている以上、車体の生産がなくなれば(車体レコード削除)ドアも生産終了になります。
ということはドアレコードも削除されてしまいます。

また主従関係の特徴として積み上げ集計項目というのが使えます。
車体によってはドアの枚数が異なります。ドアは1枚ごとに1レコードとした場合に、
親側(車体)に子のレコード数(ドア枚数)を集計して表示させることもできます。

Salesforceでの表示

ではSalesforceでは参照関係や主従関係はどう見えるんでしょうか。
親から子、子から親によって見え方は変わります。
まず子から親ですが、これは子オブジェクト側に親を設定するための参照項目があります。
ですので下記のようにオブジェクトに参照関係の項目を作ります。

逆に親側から子を見る時に使うのが関連リストです。

これで親から関連している子レコードを一覧でみることができます。

まとめ

ここでの例はかなりざっくりしたもので正直データベース設計としては無茶苦茶ですw
ただ関係性をわかっていただきたく考えたものなのでその辺は無視していただけるとありがたいです。

おまけ(その他の参照関係)

ここからはさらに深堀したい人向けです。ぜひ調べてみてください。

  • 多対多
  • 外部参照
  • 間接参照
  • 階層

ここら辺についてはまた別の回で解説できればと思います。
ご覧いただきありがとうございました!

集計項目や他についてもっと知りたい方はこちらからどうぞ


Salesforceとは?まずは基礎からはじめましょー!

Salesforceについてもっと知りたいことがある方は他の記事も是非ご覧ください。

標準機能でできる事をまとめています。

Salesforceに関するご質問などございましたら是非ご相談ください。