Administrator 練習問題 Q137
管理者は、子レコードへのアクセスが制限された2つのオブジェクト間に1対多の関係を作成する必要があります。管理者はどのタイプのフィールドを使用する必要がありますか?
左の○で回答を選択。本文を押すと横線で除外でき、もう一度押すと戻せます。
1つ選択してください(0/1)
正答:B. 主従関係フィールド
解説
前提知識
主従関係は、子レコードを親レコードへ強く従属させる関係です。
- 子レコードは独立した所有者を持たず、レコードレベルのアクセスは親に従う
- 組織の共有設定では、子側が[親レコードによる制御]になる
- 子オブジェクトと項目へのオブジェクト権限・項目権限は別途必要
- ルックアップ関係は、関係を作るだけでは参照元レコードの所有・共有を参照先へ従属させない 関連する解説記事:主従関係とは何か:親が消えたら子も消える関係
設問の状況を分解する
- 2つのオブジェクト間に1対多の関係を作成する
- 子レコードを親と独立して共有するのではなく、親へのアクセスに連動させたい この2点から、強い従属関係を作る主従関係が適切です。
選択肢の検討
- A. ロールアップサマリー:誤り — 関係を作成する項目ではなく、主従関係などを前提に、親側で子レコードを集計する項目です。
- B. 主従関係フィールド:正解 — 子側のレコードアクセスが親に従うため、子レコードを独立して共有しない要件に合います。
- C. クロスオブジェクト式:誤り — 既存の関係を経由して関連オブジェクトの値を参照する数式であり、関係自体は作成しません。
- D. ルックアップフィールド:誤り — 1対多の関係は作れますが、ルックアップ関係だけでは参照元レコードの所有・共有を参照先へ従属させません。親なしの子を許可したい場合や、子を独立して所有・共有したい場合に適しています。
管理者としての対処手順
- 子側となるカスタムオブジェクトで、[項目とリレーション]から主従関係項目を作成する
- マスターとなるオブジェクトを指定する
- 子レコードに独立した所有者が不要で、親削除時のカスケード削除が業務要件に合うことを確認する
- 既存レコードがある場合は、先にルックアップ関係を作成して全レコードに親を設定し、その後に主従関係へ変換する方法を検討する
- 子オブジェクトと項目の参照・編集権限を別途確認する
あわせて覚えておきたいポイント
- [親レコードによる制御]はレコードレベルのアクセスを継承する設定であり、オブジェクト権限や項目権限を付与するものではありません。
- 親を削除すると関連する子レコードも削除されます。
- 1つのカスタムオブジェクトに作成できる主従関係は最大2つです。
出典(Salesforce公式)
- Set Your Internal Organization-Wide Sharing Defaults: https://help.salesforce.com/s/articleView?id=sf.admin_sharing.htm&language=en_US&type=5 — [Controlled by Parent]では、子側レコードに対する参照・編集・削除などの操作可否が、関連する親レコードへのアクセスに従うことを裏付けています。
- Unable to create a master-detail relationship: https://help.salesforce.com/s/articleView?id=000385231&language=en_US&type=1 — 既存データがある場合、ルックアップを作成して全レコードに親を設定した後、主従関係へ変換する手順を裏付けています。
- Effects of Converting a Salesforce Master-Detail Relationship to a Lookup Relationship: https://help.salesforce.com/s/articleView?id=000385143&language=en_US&type=1 — 主従関係が子レコードのセキュリティと所有を制御し、ロールアップサマリーをサポートすることを裏付けています。