2014-11-03 48 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