[英]good practice in MySQL DB structure
我正在開發一個用於管理班級學生出勤率的系統。 我創建了兩個表:學生(學生ID,名稱,郵件..)和課程(課程ID,名稱,講師...)。 現在我的問題是我應該如何記錄哪些學生修讀哪些課程?
我是否應該為每個具有以下結構的課程創建另一個表:course_id,lecturer,student_1,students_2,student_3 ...
也許有更好的解決方案來創建這種關系? 發射
更新:我應該提到學生可以參加幾門課程
由於您的表之間存在多對多的關系(每個學生可以參加許多課程,每個課程可以由多名學生參加),因此您需要一個中間表,該表具有兩個表的主鍵。
coursestudent(course_id,student_id)
與FOREIGN KEYs到各個表。
取決於,如果一個學生可以有多門課程,並且一門課程屬於多名學生,則您要制作一個包含id,course_id(FOREIGN KEY)和student_id(FOREIGN KEY)的表。
如果一個學生只能學習一門課程,但是一門課程后可以有多個學生,則您可能希望將course_id作為外鍵添加到該學生。
你需要兩個桌子
students (student_id, studentName, student.....)
courses (course_id, student_id, courseName, course....)
在這里,學生通過student_id
和courses
表中的course_id
與courses
。
編輯:
course_id student_id courseName
c12 s34 DB
c12 s35 DB
c43 s86 OS
c65 s45 PHP
c57 s86 OS
... ... ...
... ... ...
... ... ...
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.