こんにちは、アンダーソンです。
今回はTrailheadで連結オブジェクトを作成する機会があったので、
自身の理解を深めるためにも図に残してアウトプットしていきます。
Contents
連結オブジェクトとは
2 つの主従関係を持つカスタムオブジェクトです。カスタム連結オブジェクトを使用して、2 つのオブジェクト間の「多対多」リレーションをモデル化できます。
多対多リレーションの作成
2つの主従関係を持つカスタムオブジェクトというのがミソですね。
図解
今回TrailheadではSession(講演)、Speaker(講演者)という2つのオブジェクトがあり、それぞれ複数のレコードを
持ち、講演に対して講演者が複数ついたり、講演者に対して講演が複数作成されるということが考えられます。
これが普通の主従関係であればどうかをまず考えてみます。
Aという講演に対してAさん、Bさん、Cさんという人たちがその講演の講演者です。。
ではBという講演に対してはCさん、Dさんがその講演の講演者です。
図に表すとこうなります。

このような関係の場合、Cさんというレコードは重複してしまい、ただ主従項目の値だけが違うものができてしまいます。
これだとCさんがどの講演でいつどんな講演をなどの情報が取りにくく、
レコードの重複も生まれてしまい、組織としても煩雑になる原因になります。
そこで2つの主従関係を持つカスタムオブジェクトを作成し連動関係をスッキリさせます。

このようにすることによって、Cさんは複数作成されることがなく、データの管理としてもしやすくなります。
さらにこのリレーションは主従関係のため、積み上げ集計項目を使うことができるため、
Cさんが参加予定の講演数やB講演には何人の講演者が出席するのかを一眼で確認することもできます。
また親レコードが削除された際には子レコードも削除されるため、
不要なデータが残り続けることはなく、組織のレコード管理もしやすくなります。
連結オブジェクトをうまく使えば、無駄のない設計も可能になるのではないでしょうか。
コメント