問題
企業は、候補者と面接をモデル化する求人アプリを求めています。各候補者レコードの面接の総数を表示します。
面接レコードのセキュリティを、候補レコードのセキュリティとは独立して定義します。開発者はこのタスクを達成するために何をしますか。2つ選びなさい。
- 面接レコードをカウントする候補オブジェクトに積み上げ集計項目を作成します
- 候補オブジェクトと面接オブジェクトの間に主従関係を作成します
- 候補オブジェクトと面接オブジェクトの間に参照関係を作成します
- 候補オブジェクトの項目を更新するトリガーを面接オブジェクトに作成します
正解
- 面接レコードをカウントする候補オブジェクトに積み上げ集計項目を作成します
- 候補オブジェクトと面接オブジェクトの間に主従関係を作成します
- 候補オブジェクトと面接オブジェクトの間に参照関係を作成します
- 候補オブジェクトの項目を更新するトリガーを面接オブジェクトに作成します
解説
この問題では、「面接レコードのセキュリティを、候補レコードのセキュリティとは独立して定義します」という要件があります。この要件により、主従関係ではなく参照関係を使用すべきことを示唆しています。主従関係では、子オブジェクトのセキュリティと所有権は親オブジェクトによって制御され、独立したセキュリティ設定を持つことができません。このため、候補者と面接の関係性を設定する際には参照関係が適切となります。
それぞれの選択肢の理由について説明します。
□ 面接レコードをカウントする候補オブジェクトに積み上げ集計項目を作成します
これは不正解です。積み上げ集計フィールドは主従関係においてのみ作成可能ですが、このシナリオでは面接のセキュリティ設定を独立して持つ必要があるため、主従関係は使用できません。
□ 候補オブジェクトと面接オブジェクトの間に主従関係を作成します
これは不正解です。主従関係はセキュリティ設定を共有するため、このケースの要件には適していません。
□ 候補オブジェクトと面接オブジェクトの間に参照関係を作成します
これは正解です。参照関係を使用して2つのオブジェクト間の関連を作成することで、それぞれのセキュリティ設定を独立して持つことができます。
□ 候補オブジェクトの項目を更新するトリガーを面接オブジェクトに作成します
これは正解です。積み上げ集計項目が利用できない場合、面接オブジェクトにトリガーを実装することで、面接レコードが追加または削除された際に関連する候補レコードの面接数を自動的に更新することが可能です。このアプローチは、参照関係で結ばれた2つのオブジェクト間で集計を行う際の一般的な方法の一つです。
コメント