SQLite
 sql >> Database >  >> RDS >> SQLite

Scelta del database per la creazione di due tabelle collegate?

Questo è un classico caso di molti-a-molti e, per questo, avrai bisogno di una terza tabella tra Corso e Studente. Lo schema sarà simile a questo:

Course la tabella ha colonne ("id_corso", "nome_corso")

Student_course la tabella ha colonne ("student_id", "course_id");

Student tabella come colonne ("student_id", "student_name")

La tabella Student_course ha vincoli di chiave esterna sia per la tabella Student che per quella del corso.

Dati di esempio:

Corso:

id   |  name
------------------
1    |  Maths
2    |  English
3    |  Science

Studente

id   |  name
---------------
1    |  Tom
2    |  Dick
3    |  Harry

Corso_studente

student_id | course_id
------------------------
1          | 1
1          | 2
2          | 1
3          | 3

In questo esempio, Studente 1 (Tom) frequenta i corsi 1 e 2 (Matematica, Inglese),

Studente 2 (Dick) è solo nel corso 1 (Matematica)

Lo studente 3 (Harry) frequenta solo il corso 3 (Scienze)