数据库设计和(课程、学期、学生)和(课程、学期、科目)和(课程、学期、科目、评估)之间的关系

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++的都可以。

复旦大学2017--2018学年第一学期高等代数在线课程学生文字评教信息

本学期高级软件工程课程的实践项目的自我目标

走火入魔 | 暑期电子设计课程学生们的作品

中专计算机应用都有哪些课程

20162309《程序设计与数据结构》第二学期课程总结