これは多対多の典型的なケースであり、そのためには、コースと学生の間に3番目のテーブルが必要になります。スキーマは次のようになります:
Course
テーブルには列があります( "course_id"、 "course_name")
Student_course
テーブルに列があります( "student_id"、 "course_id");
Student
列としてのテーブル( "student_id"、 "student_name")
Student_courseテーブルには、studentテーブルとcourseテーブルの両方に外部キー制約があります。
データ例:
コース:
id | name
------------------
1 | Maths
2 | English
3 | Science
学生
id | name
---------------
1 | Tom
2 | Dick
3 | Harry
Student_course
student_id | course_id
------------------------
1 | 1
1 | 2
2 | 1
3 | 3
この例では、学生1(トム)はコース1と2(数学、英語)に参加しています。
学生2(ディック)はコース1のみ(数学)
学生3(ハリー)はコース3のみ(科学)