Dies ist ein klassischer Fall von Many-to-Many, und dafür benötigen Sie eine dritte Tabelle zwischen Course und Student. Das Schema sieht in etwa so aus:
Course
Tabelle hat Spalten ("course_id", "course_name")
Student_course
Tabelle hat Spalten ("student_id", "course_id");
Student
Tabelle als Spalten ("student_id", "student_name")
Die Student_course-Tabelle hat Fremdschlüsseleinschränkungen sowohl für Studenten- als auch für Kurstabellen.
Beispieldaten:
Kurs:
id | name
------------------
1 | Maths
2 | English
3 | Science
Schüler
id | name
---------------
1 | Tom
2 | Dick
3 | Harry
Student_course
student_id | course_id
------------------------
1 | 1
1 | 2
2 | 1
3 | 3
In diesem Beispiel belegt Schüler 1 (Tom) die Kurse 1 und 2 (Mathematik, Englisch),
Schüler 2 (Dick) belegt nur Kurs 1 (Mathematik)
Schüler 3 (Harry) belegt nur Kurs 3 (Naturwissenschaften)