問題
Universal Containers社は、Componentというカスタムオブジェクトを作成し、販売された商品の詳細を取得しました。アプリケーション構築者は、ComponentをProductの関連リストとして表示するために、どのようなアプローチを取るべきですか。
- ProductにComponentへの主従関係を作成し、ProductページレイアウトにComponent関連リストを追加する。
- ComponentにProductへの参照関係を作成し、ProductページレイアウトにComponent関連リストを追加する。
- 連結オブジェクトを作成し、ComponentとProductを関連付ける。Component関連リストをProductページレイアウトに追加する。
- Productに積み上げ集計項目を作成し、Component関連リストをProductページレイアウトに追加する。
正解
- ProductにComponentへの主従関係を作成し、ProductページレイアウトにComponent関連リストを追加する。
- ComponentにProductへの参照関係を作成し、ProductページレイアウトにComponent関連リストを追加する。
- 連結オブジェクトを作成し、ComponentとProductを関連付ける。Component関連リストをProductページレイアウトに追加する。
- Productに積み上げ集計項目を作成し、Component関連リストをProductページレイアウトに追加する。
解説
この問題のポイントは、ComponentとProductの間の関係性を正確に理解し、どちらが親(主)オブジェクトでどちらが子(従)オブジェクトとなるかを判断することです。
関連リストとして表示するためには、親(または主)オブジェクト側のページレイアウトに子(または従)オブジェクトのリレーション項目を関連リストとして追加することが必要なため、ComponentにProductへの参照関係(または主従関係)を作成し、ProductページレイアウトにComponentの関連リストを追加することが適切なアプローチとなります。
それぞれの選択肢の理由について説明します。
□ ProductにComponentへの主従関係を作成し、ProductページレイアウトにComponent関連リストを追加する。
これは不正解です。このアプローチでは、主従関係はComponentがProductに従属する形を意味しますが、関連リストを表示するためには、ComponentオブジェクトにProductへの参照(主従または参照関係)が必要です。この選択肢は、関係の定義が逆になっています。
□ ComponentにProductへの参照関係を作成し、ProductページレイアウトにComponent関連リストを追加する。
これは正解です。ComponentオブジェクトにProductへの参照関係を作成することで、Componentレコードは特定のProductレコードに関連付けられます。そして、ProductページレイアウトにComponentの関連リストを追加することで、Productレコードに紐づいたComponentレコードを関連リストとして表示できます。
□ 連結オブジェクトを作成し、ComponentとProductを関連付ける。Component関連リストをProductページレイアウトに追加する。
これは不正解です。このシナリオでは、連結オブジェクト(多対多の関係を作成するために使用されるオブジェクト)の作成は必要ありません。ComponentがProductに直接関連付けられる単純な参照関係で要件を満たすことができます。
□ Productに積み上げ集計項目を作成し、Component関連リストをProductページレイアウトに追加する。
これは不正解です。積み上げ集計項目は、主従関係を作成したうえで、主レコード側に従レコードの項目の合計、最小値、または最大値を計算するために使用されますが、関連するレコードのリストを表示するためには使用されません。したがって、このアプローチでは要件を満たせません。
コメント