2014-11-03 45 views
0

我正在嘗試創建一個用於創建在線成績報告的數據庫模式。該報告包含學校名稱,學生姓名,學生教師姓名,缺課天數,遲到天數,學生當前總成績以及學生完成的所有作業的名稱包括每項任務的日期,類別和分數。以下是我迄今爲止能夠弄清的內容。有沒有人有任何關於改進這種模式的建議?學生報告的數據庫模式

School (school_id, school_name, course_id) 

Course(course_id, course_name, teacher_id, student_id) 

Teacher(teacher_id, teacher_name, student_id) 

Student(student_id, student_name, grade, absent_days, tardy_days, assignment_id) 

Assignment(assignment_id, assignment_name, assignment_date, category, score, course_id) 
+0

老師可以在幾所學校教嗎? – 2014-11-03 23:30:23

+1

您應該閱讀關於關係數據庫的書籍或教程。因爲顯然你甚至不知道外鍵的概念。 在你的模式中,一名教師被分配給一名教師,一所學校只有一門課程,一名學生只能有一個任務,... – 2014-11-03 23:32:09

+0

詹姆斯邦德...這個數據庫將只包含一所學校的數據。 – Daron 2014-11-03 23:35:37

回答

0

我建議你從學校刪除course_id。來自課程&老師的student_id。如下所述來自學生的assignment_id。另外,我可能會將作業拆分爲作業和標記表。

這樣的結果是一個學校可以有多個教師講授可以有多個任務的多個班級的模式。學生屬於一所學校,可以有多個作業。這是一個非常簡單的模型,您可以考慮添加一個「預訂」表格,用於存儲學生已預訂哪些課程。另外,多個教師可能會教授一門課程,教師可能在多所學校工作,或者多所學校開設一門課程。只是一些想法...

+0

我只是想確保我明白。通過「預訂表」你的意思是一個班級名單,列出每個班的學生?所以例如類似以下內容:花名冊(course_id,student_id) – Daron 2014-11-03 23:41:24

+0

是的,這就是我的意思。 – 2014-11-04 00:00:33

+0

還有一個問題。將student_id從課程和教師中刪除的目的/邏輯是什麼? – Daron 2014-11-04 00:11:09