簡體   English   中英

MySQL數據庫結構的良好實踐

[英]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_idcourses表中的course_idcourses

編輯:

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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM