数据库设计和(课程、学期、学生)和(课程、学期、科目)和(课程、学期、科目、评估)之间的关系
Posted
技术标签:
【中文标题】数据库设计和(课程、学期、学生)和(课程、学期、科目)和(课程、学期、科目、评估)之间的关系【英文标题】:database design and relationship between (course, semester,student) and (course,semester,subjects) and (course,semester,subjects,assessments) 【发布时间】:2019-11-30 04:13:15 【问题描述】:建立关系的“正确方式”是什么? -(学生)使用(课程)或(课程和学期)过滤。 - 类似地,(科目)使用(课程)或(课程和学期)过滤。 -(评估)使用(课程,学期,主题)或(课程)或(主题)过滤。
目前我在许多表中都有 course_id,semester_id。中间表有意义还是只会增加复杂性?
【问题讨论】:
【参考方案1】:课程 - course_id、semester_id(外键)等..等..
semester - semester_id 等等.. 等等..
students - student_id 等等等等。
enrolment - (student_id(foreign_key), course_id(foreign_key) ) => 复合主键。
*这是假设学生只能注册一次。否则将日期/时间添加为另一个字段
评估 - (assessment_id, course_id)
分数 -(assessment_id、student_id、分数)
目前在 3NF 中。您可以单独查询它们就足够了。
【讨论】:
以上是关于数据库设计和(课程、学期、学生)和(课程、学期、科目)和(课程、学期、科目、评估)之间的关系的主要内容,如果未能解决你的问题,请参考以下文章
C语言课程设计:学生学籍管理系统。有谁有代码给我做个参考吗?谢谢了,C语言和C++的都可以。