题目
82.(简答题)学校教务管理系统其中学生选课管理简化的业务处理过程为:一名学生可同时选择多门课程,一门课程可以同时被多名学生选修。每个学生每门课程只能有一次考试,并需要记录考试成绩。每名学生有学号、姓名、性别信息,每个学生选修的每门课程有课程号、课程名、课程性质信息。给出学生实体与课程实体的ER图
82.(简答题)
学校教务管理系统其中学生选课管理简化的业务处理过程为:一名学生可同时选择多门课程,一门课程可以同时被多名学生选修。每个学生每门课程只能有一次考试,并需要记录考试成绩。每名学生有学号、姓名、性别信息,每个学生选修的每门课程有课程号、课程名、课程性质信息。给出学生实体与课程实体的ER图
题目解答
答案
问题解析
题目要求设计一个学生选课管理的ER图(实体关系图)。ER图是一种用于表示数据库中实体及其关系的图形化工具。在这个问题中,我们需要表示两个主要实体:学生和课程,以及它们之间的关系。
实体分析
-
学生实体:
- 属性:学号、姓名、性别
- 主键:学号(唯一标识一个学生)
-
课程实体:
- 属性:课程号、课程名、课程性质
- 主键:课程号(唯一标识一门课程)
关系分析
- 关系:学生选课
- 描述:一名学生可以选修多门课程,一门课程可以被多名学生选修。这是多对多的关系。
- 属性:考试成绩
- 主键:学号 + 课程号(组合主键,确保每个学生每门课程只能有一次考试成绩)
ER图设计
-
学生实体:
- 学号(主键)
- 姓名
- 性别
-
课程实体:
- 课程号(主键)
- 课程名
- 课程性质
-
关系实体(选课):
- 学号(外键,引用学生实体的学号)
- 课程号(外键,引用课程实体的课程号)
- 考试成绩
ER图
+----------------+ +-----------------+ +-----------------+
| 学生 | | 选课 | | 课程 |
+----------------+ +-----------------+ +-----------------+
| 学号 (主键) |<------>| 学号 (外键) | | 课程号 (主键) |
| 姓名 | | 课程号 (外键) |-------> | 课程名 |
| 性别 | | 考试成绩 | | 课程性质 |
+----------------+ +-----------------+ +-----------------+
详细解析
-
学生实体:
- 学号:唯一标识一个学生,是主键。
- 姓名:学生的姓名。
- 性别:学生的性别。
-
课程实体:
- 课程号:唯一标识一门课程,是主键。
- 课程名:课程的名称。
- 课程性质:课程的性质,例如必修、选修等。
-
选课关系实体:
- 学号:引用学生实体的学号,是外键。
- 课程号:引用课程实体的课程号,是外键。
- 考试成绩:记录学生在该课程的考试成绩。
- 组合主键:学号 + 课程号,确保每个学生每门课程只能有一次考试成绩。
通过这种方式,ER图清晰地表示了学生和课程之间的多对多关系,以及选课关系中的考试成绩。
解析
考查要点:本题主要考查ER图的设计能力,要求根据业务需求确定实体及其关系,并正确表示属性、主键和外键。
解题核心思路:
- 识别实体:确定系统中的主要对象(学生、课程)。
- 分析关系:学生与课程是多对多关系,需通过中间关系表(选课)实现关联。
- 属性与键设计:为每个实体定义属性,确定主键(唯一标识)和外键(关联其他实体)。
破题关键点:
- 多对多关系的处理:通过创建“选课”关系实体,将多对多转换为两个一对多关系。
- 组合主键:选课关系中,学号+课程号组合为主键,确保每个学生每门课程仅记录一次成绩。
实体与属性定义
-
学生实体:
- 学号(主键,唯一标识学生)
- 姓名
- 性别
-
课程实体:
- 课程号(主键,唯一标识课程)
- 课程名
- 课程性质
关系与关联设计
- 选课关系:
- 学号(外键,引用学生实体的学号)
- 课程号(外键,引用课程实体的课程号)
- 考试成绩(记录考试结果)
- 组合主键:学号 + 课程号,确保唯一性。
ER图结构
+----------------+ +-----------------+ +----------------+
| 学生 | | 选课 | | 课程 |
+----------------+ +-----------------+ +----------------+
| 学号 (主键) | <--- | 学号 (外键) | | 课程号 (主键) |
| 姓名 | | 课程号 (外键) | ---> | 课程名 |
| 性别 | | 考试成绩 | | 课程性质 |
+----------------+ +-----------------+ +----------------+