我正在尝试创建用于创建在线成绩报告的数据库架构。该报告包含学校名称,学生姓名,学生教师姓名,缺席天数,迟到天数,学生当前总体成绩以及学生完成的所有作业的名称包括每个作业的日期,类别和分数。以下是我迄今为止所能解决的问题。有没有人对改进这种架构有任何建议?
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 :(得分:0)
我建议你从学校中删除course_id。课程中的student_id&老师。来自学生的assignment_id如下所述。另外,我可能会将作业分成一个作业和一个标记表。
这导致了一个模式,即学校可以拥有多个教师,这些教师可以教授多个可以进行多项任务的课程。学生属于学校,可以有多个作业。这是一个非常简单的模型,你可以考虑添加一个预订'您在其中存储学生已预订了哪些课程的表格。此外,有可能多名教师教授课程,教师在多所学校工作,或者在多所学校开设课程。只是想一些想法......
School (school_id, school_name)
Course(course_id, course_name, teacher_id)
Teacher(teacher_id, teacher_name, school_id)
Student(student_id, student_name, absent_days, tardy_days, school_id)
Assignment(assignment_id, assignment_name, assignment_date, category, score, course_id, student_id)