Administrator 練習問題 Q101
クラウドキックスは、製品ごとに靴のデザインを追跡したいと考えています。製品レコードを削除しても、関連する靴のデザインのレコードは削除されないようにする必要があります。また、1つの製品に対して、さまざまな段階の複数のデザインが同時に存在する可能性があります。この要件を満たすために、管理者はどの2つのステップを構成する必要がありますか?2つ選択してください
左の□で回答を選択。本文を押すと横線で除外でき、もう一度押すと戻せます。
2つ選択してください(0/2)
正答:A. 靴のデザイン用のカスタムオブジェクトを作成します。 / B. 靴のデザインオブジェクトに、製品を参照するカスタムの参照関係(ルックアップ)項目を作成します。
解説
前提知識
カスタムオブジェクトとは
Salesforceに標準で用意されていないデータを管理するために、管理者が自分で作成するオブジェクトです。「靴のデザイン」のような、Cloud Kicks独自の業務データを扱う入れ物として使います。
主従関係とルックアップ関係とは(要点だけ)
オブジェクト同士を関連付ける代表的な方法が、主従関係とルックアップ関係です。主従関係では、親を削除すると子レコードも削除されます。ルックアップ関係では、参照先削除時の動作として、参照項目をクリアする、参照先の削除を許可しない、対応するカスタム関係では参照元も削除する、といった設定があります。したがって「ルックアップなら必ず子が残る」と単純化せず、削除時の動作を確認します。
🔗 主従関係とルックアップ関係の違いがまだ曖昧な方は、先に 主従関係とは何か:親が消えたら子も消える を読むと、この設問の判断基準を確認できます。
設問の状況を分解する
- Cloud Kicksは、製品(Product)ごとに靴のデザインを追跡したい
- 製品レコードを削除しても、関連する靴のデザインのレコードは消えないようにしたい
- 1つの製品に対して、さまざまな段階(企画中・承認済みなど)の複数のデザインが同時に存在しうる 1つの製品に複数の靴のデザインを関連付けるには、子となる「靴のデザイン」オブジェクト側に製品への関係項目を作成します。ここで分岐点になるのが、主従関係と参照関係のどちらを使うかです。 主従関係では、親レコードを削除すると子レコードも自動的に削除されます(カスケード削除)。つまり、製品を親にすると、製品を消した瞬間に靴のデザインもまとめて消えます。今回の要件はこれを避けたいので、主従関係は選べません。 一方、参照関係(ルックアップ)では、参照先の製品が削除されても靴のデザインレコードを残せます。今回の参照先は標準の製品(Product)オブジェクトであり、カスケード削除オプションは利用できません。ルックアップ項目を任意にし、参照先削除時に[この項目の値をクリア]を選べば要件に合います。
選択肢の検討
A. 靴のデザイン用のカスタムオブジェクトを作成します。 → ⭕ 正解
「靴のデザイン」はSalesforceの標準オブジェクトには存在しない、Cloud Kicks独自の概念です。まず専用のカスタムオブジェクトを用意する必要があります。
B. 靴のデザインオブジェクトに、製品へのカスタムルックアップ項目を構成します。 → ⭕ 正解
一対多の関係では、多数側となる靴のデザインオブジェクトに、親となる製品を参照するルックアップ項目を作成します。これにより、製品レコードには複数の靴のデザインが関連リストとして表示されます。参照先の製品が削除されたときにデザインを残す場合は、ルックアップ項目を任意にし、削除時の動作を[この項目の値をクリア]にします。製品(Product)へのルックアップではカスケード削除オプションは利用できません。
C. 靴のデザインオブジェクトに、製品へのカスタム主従関係項目を追加します。 → ✕
この方向に関係項目を作れば、1つの製品に複数のデザインを関連付ける構造自体は作成できます。しかし、製品を親、靴のデザインを子にすると、製品の削除時に関連するデザインもカスケード削除されます。デザインを製品から独立して保持する要件には合いません。
D. デザインには標準オブジェクトを使用します。 → ✕
「靴のデザイン」に相当する標準オブジェクトはSalesforceに存在しません。独自の概念を扱うにはカスタムオブジェクトが必要です。
管理者としての対処手順
- [設定]→[オブジェクトマネージャ]から「靴のデザイン」カスタムオブジェクトを作成する
- 「靴のデザイン」オブジェクトに、製品を参照する[ルックアップ関係]項目を作成する
- 製品を削除してもデザインを保持する要件であれば、ルックアップ項目を任意にし、参照先削除時の動作で[この項目の値をクリア]を選ぶ。業務上、関連デザインがある製品を削除させたくない場合は[参照先レコードの削除を許可しない]を検討する
- デザインの段階を管理する選択リスト項目を追加する
- 製品のLightningレコードページまたはページレイアウトに、靴のデザインの関連リストを表示する
- ユーザーによるデザイン自体の削除を禁止する要件がある場合は、対象ユーザーのプロファイルと権限セットで靴のデザインオブジェクトの[削除]権限が付与されていないことを確認する
あわせて覚えておきたいポイント
- 一対多の関係項目は、多数側の子オブジェクトに作成します。この問題では「靴のデザイン」側に製品への参照項目を作ります。
- 「親の削除で子を消したくない」と「子レコード自体をユーザーに削除させたくない」は別要件です。前者は関係と削除動作、後者はオブジェクト権限で制御します。
- 標準のロールアップ集計を製品側に作成する要件がある場合は主従関係が候補になりますが、その場合は製品削除時のカスケード削除も受け入れる必要があります。
出典(Salesforce公式)
- Object Relationships Overview — ルックアップ関係では子オブジェクト側に参照項目を作成できること、任意のルックアップでは参照先削除時に項目値をクリアできること、製品(Product)へのルックアップではカスケード削除オプションを利用できないことを裏付けます。
- Considerations for Object Relationships — ルックアップ参照先の削除時に、参照項目のクリア、参照先の削除禁止、対応する関係での参照元削除を設定できることを裏付けます。
- Effects of Converting a Salesforce Master-Detail Relationship to a Lookup Relationship — 主従関係では親削除時に子が自動削除され、ルックアップへ変換すると子が自動削除されなくなることを裏付けます。
- Object Relationships: Create & Manage(Trailhead) — 主従関係とルックアップ関係のデータモデル上の違いを裏付けます。