ご入力いただきありがとうございます。
私は3つのオブジェクトを持っています:
- 学校
- キャンプ
- コーチ
次の関係で:
- 学校は複数のキャンプを持つことができます。
- 学校は複数のコーチを持つことができます。
- キャンプには複数の学校を含めることができます。
- キャンプには複数のコーチを配置できます。
- コーチは複数の学校を持つことができます。
- コーチは複数のキャンプを持つことができます。
多対多のSchool_Campは、キャンプの年を識別するために、明らかに学校をキャンプにリンクし、日付のフィールドを追加します。ただし、1つのキャンプに複数のコーチを配置できます。
:: School_Camp ::
- School_id
- Camp_id
- 日にち
School_CampテーブルとCoachテーブルにリンクするSchool_Camp_Coachという別の多対多を設定する方がよいでしょうか。
:: School_Camp_Coach ::
- School_Camp_id
- Coach_id
これがこれを行うためのより効率的な方法である場合...School_Campに、3つのフィールドを識別子として使用するのではなく、すぐに参照できる独立したID列を指定する必要がありますか?
:: School_Camp ::
- id *
- School_id
- Camp_id
- 日にち
また
3つの外部キーを持つ1つの多対多のテーブルSchool_Camp_Coachを使用する方がよいでしょうか。
:: School_Camp_Coach ::
- School_id
- Camp_id
- Coach_id
- 日にち
これに関して私が予測する唯一の問題は、外部キーのエントリが複数あるが、日付が異なることです。
再度、感謝します。