sql >> Databáze >  >> RDS >> SQLite

Výběr databáze pro vytvoření dvou propojených tabulek?

Toto je klasický případ many-to-many a k tomu budete potřebovat třetí stůl mezi Course a Student. Schéma bude vypadat nějak takto:

Course tabulka má sloupce ("course_id", "course_name")

Student_course tabulka má sloupce ("student_id", "course_id");

Student tabulku jako sloupce ("student_id", "student_name")

Tabulka Student_course má omezení cizího klíče pro tabulky studentů i kurzů.

Příklad dat:

Kurz:

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

Student

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

Student_course

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

V tomto příkladu je student 1 (Tom) na kurzech 1 a 2 (matematika, angličtina),

Student 2 (Dick) je pouze v kurzu 1 (Maths)

Student 3 (Harry) je pouze v kurzu 3 (Věda)



  1. SQL DEFAULT Omezení pro vložení sloupce s výchozí hodnotou do tabulky SQL Server

  2. SQL kurz pro začátečníky

  3. FIND_IN_SET() vs. IN()

  4. Základy paralelního programování s rámcem Fork/Join v Javě