SQLite
 sql >> Datenbank >  >> RDS >> SQLite

Datenbankauswahl zum Erstellen von zwei verbundenen Tabellen?

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)