我正在尝试为学生数据库建模,但我不确定如何代表学生,评估和学生成绩。以下是该场景的描述:
有几个学生提供一个或多个科目,这些科目有一个或多个评估。您如何代表学生,提供的科目,评估和学生评估的结果?我附上了我迄今为止所做设计的副本。
答案 0 :(得分:0)
否则,如果评估有许多科目,但只有一个针对特定学生,则您有不同的选择:
这应取决于您通常会查询这些表格的方式(评估A的所有科目,评估A的科目X的所有学生,评估A的科目X的所有结果等等...
答案 1 :(得分:0)
这有几种方法可以解决,但为什么你不使用学生* --- *主题关系将评估与。因为评估与这种关联直接相关。因此,没有学生和学科之间的关系就没有意义。
您可以将has_and_belongs中的派生表调用到学生和主题之间的多种关系,使用以下字段进行评估(没有任何地方可以服从您这个关联来调用student_subjects):
评估
ID:PK
student_id数据:FK
subject_id:FK
assessment_result
created_at,TIMESTAMP
想象一下,学生可以在学年期间进行多次评估,您可以在此表的其他字段中保存第1阶段,第2阶段或Exam1,Exam2等。
时间戳将为您提供一种方式来了解学生对某个科目的最后结果。
这只是我的观点,如果有什么我没有看到的话,请纠正我。