はい、Meetingを作成する必要があります Student間の多対多の関係を表すエンティティ およびSupervisor 。その中で、それらのそれぞれのテーブルに対応する外部キーを使用して、それらのテーブルに関連付けることができます。 SQLでは、次のようになります。
Create table Meeting {
id INT NOT NULL PRIMARY KEY AUTO_INCREMENT,
student_id INT NOT NULL,
supervisor_id INT NOT NULL,
//rest of the fields...
FOREIGN KEY (student_id) REFERENCES Student(id)
FOREIGN KEY (supervisor_id) REFERENCES Supervisor(id)
}
Superviseについても同じことを行います Projectの間 およびSupervisor 。また、会議テーブルで複合キーと呼ばれるものを使用することもできます。これは個人的な好みによるものだと思います。私は通常、多対多の関係を表すときにこのように使用します。これが使用する構文であると言っているのではなく、データベースによって異なります。これは、正しい方向を示すための単なる例です。お役に立てば幸いです。
また、ダイアグラム(これはクラス用だと思います)については、Visioやビジュアルパラダイムなどのソフトウェアを調べてERダイアグラムを作成することをお勧めします。ほとんどの人はあなたの現在の図を理解することができますが、それは正しいモデリングではありません。
楽しみのために、私はあなたのテーブルに基づいて図を作成しました:
Supervisorの間にエンティティが必要です およびProject それらが多対多の関係である場合。これはassociative entityと呼ばれます 。私は自分のSupervisorProjectにラベルを付けました もう少し明確にするためです。
編集 学生とプロジェクトが多対1であるという事実を見落とし、それを修正しました。申し訳ありません。