概要
主従関係や参照関係を構築する際には、どのオブジェクトが「親」として機能し、どのオブジェクトが「子」として機能するかを正確に理解することが重要です。特にビジネスの要件やロジックを適切に反映させるためには、これらの関係性を適切に設定する必要があります。以下の判断方法を参考にして、正しい関係性を確立しましょう。
- 例:
-
運送企業の物流管理者は、「トラック」というカスタムオブジェクトを使って、各トラックの配送任務とメンテナンススケジュールを管理します。管理者は、特定のトラックを様々な配送ルートに割り当て、その配送ルートでの出発日、到着日、及び運行コストを追跡できるようにしたいと望んでいます。各配送ルートは複数のトラックを利用することがありますが、一台のトラックは同時に一つのルートにのみ割り当てられます。この状況において、システム開発者はどのようなデータモデルを構築すべきでしょうか。
以下どちらが親でどちらが子の関係を結ぶべきでしょうか。
- トラックから、ルートへの参照関係を作成する
- ルートから、トラックへの参照関係を作成する
※どちらが親かの判断のみに焦点を合わせるため、主従関係と参照関係の区別は割愛しますが、主従関係の親子関係も同様の考え方です。
判断方法
- 「1対多」の関係性に基づく親子関係の識別:
- 問題文「各配送ルートは複数のトラックを利用することがありますが、一台のトラックは同時に一つのルートにのみ割り当てられます」から、一つのルート(配送ルート)に複数のトラックが割り当てられる可能性があります。この場合、「一つ」である配送ルートが「親」オブジェクトとなり、「複数」であるトラックが「子」オブジェクトとなります。つまり、各トラック(子)は特定の配送ルート(親)に関連付けられ、一つの配送ルートは複数のトラックを関連づけることができる「1対多」の関係性が成立します。この関係性は、Salesforceにおいて主従関係や参照関係を構築する際の基本的な考慮事項です。
- どちらから関係を作成するのか:
- Salesforceにおいて、主従関係や参照関係を構築する際には、子オブジェクト側からリレーション項目を作成します。このケースでは、トラックが子オブジェクトであり、ルートが親オブジェクトです。したがって、トラックオブジェクト側にルートへの参照関係を追加することで、所望の関係性を構築できます。このように、子オブジェクトから親オブジェクトへのリレーションを作成することで、データの関連性を適切に反映させることができます。
よって今回の場合は「トラックから、ルートへの参照関係を作成する」が正しい関係を示しているといえます。
コメント