sql >> Database >  >> RDS >> SQLite

Databasekeuze voor het maken van twee gekoppelde tabellen?

Dit is een klassiek geval van veel-op-veel, en daarvoor heb je een derde tabel nodig tussen Cursus en Student. Het schema ziet er ongeveer zo uit:

Course tabel heeft kolommen ("course_id", "course_name")

Student_course tabel heeft kolommen ("student_id", "course_id");

Student tabel als kolommen ("student_id", "student_name")

De tabel Student_course heeft beperkingen voor externe sleutels voor zowel studenten- als cursustabellen.

Voorbeeldgegevens:

Cursus:

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

Student

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

Student_cursus

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

In dit voorbeeld zit student 1 (Tom) in cursus 1 en 2 (wiskunde, Engels),

Student 2 (Dick) zit alleen op cursus 1 (wiskunde)

Student 3 (Harry) zit alleen op cursus 3 (Science)



  1. Alles wat u moet weten over databasenormalisatie

  2. biginteger array-functies

  3. Een volledige SQLite-database exporteren naar een SQL-bestand

  4. Installatie van SQL Server Failover Cluster-instantie - Deel 1