問題
建設会社の運用管理者は、機械と呼ばれるカスタムオブジェクトを使用して、クレーンやその他の機械の使用と保守を管理します。管理者は、機械をさまざまな建設作業に割り当て、各作業に関連する日付とコストを追跡できるようにしたいと考えています。1つの建設作業に複数の機械を割り当てることも可能です。これらの要件を満たすために開発者は何をすべきですか。
- 建設作業オブジェクトに機械オブジェクトへの参照関係を作成する。
- 機械オブジェクトに建設作業オブジェクトへの参照関係を作成する。
- 機械オブジェクトと建設作業オブジェクトの両方に主従関係を持つ連結オブジェクトを作成する。
- 機械オブジェクトに、建設作業オブジェクトへの主従関係を作成する。
正解
- 建設作業オブジェクトに機械オブジェクトへの参照関係を作成する。
- 機械オブジェクトに建設作業オブジェクトへの参照関係を作成する。
- 機械オブジェクトと建設作業オブジェクトの両方に主従関係を持つ連結オブジェクトを作成する。
- 機械オブジェクトに、建設作業オブジェクトへの主従関係を作成する。
解説
問題文は、「1つの建設作業に複数の機械を割り当て、同時に1つの機械を複数の建設作業に使用する」という多対多の関係を要求しており、Salesforceではこのような関係を連結オブジェクトを用いて2つの主従関係で実現します。
それぞれの選択肢の理由について説明します。
□ 建設作業オブジェクトに機械オブジェクトへの参照関係を作成する。
これは不正解です。このアプローチでは、一対多の関係しか表現できないため、一つの建設作業に複数の機械を関連付ける多対多の要件には適していません。この設定では、各建設作業に一台の機械のみを関連付けることになります。
□ 機械オブジェクトに建設作業オブジェクトへの参照関係を作成する。
これは不正解です。こちらも先ほどと同様に、一対多の関係を構築するため、問題の要件である「一つの機械を複数の建設作業に関連付ける」ことはできません。結果として、各機械が一つの建設作業にしか割り当てられない状況になります。
□ 機械オブジェクトと建設作業オブジェクトの両方に主従関係を持つ連結オブジェクトを作成する。
これは正解です。連結オブジェクトを用いることで、機械と建設作業の間に多対多の関係を確立できます。連結オブジェクトは2つの主従関係を持ち、一つの建設作業に複数の機械を割り当てることも、一つの機械を複数の建設作業に割り当てることも可能にします。この方法は柔軟性が高く、要件を正確に満たすことができます。
□ 機械オブジェクトに、建設作業オブジェクトへの主従関係を作成する。
これは不正解です。このアプローチは一対多の関係を作成するため、問題の要件には合いません。主従関係は、子オブジェクト(この場合は機械)が親オブジェクト(建設作業)に密接に結び付けられる場合に使用されますが、一つの機械を複数の建設作業に割り当てることはできません。
コメント