数据库系统工程师 · 高频练习

ER 图中的多对多联系转换成关系模式时怎么处理?

中级 单选题 第 112 题 中等 数据库系统工程师ER 模型多对多联系关系模式转换
题目

在学生选课系统中,一个学生可以选择多门课程,一门课程也可以被多个学生选择。把这个 ER 模型转换为关系数据库表时,通常应该()。

A 增加一张选课关系表,保存学生与课程之间的对应关系
B 把所有课程名称直接写进学生姓名字段
C 删除课程实体,只保留学生实体
D 让每门课程只能有一个学生选择
题目类型:原创高频考点题 用途:用于帮助理解数据库系统工程师相关考点和答案解析,不等同于官方真题。
正确答案
A
答案解析

ER 图中的多对多联系在关系模型中通常不能直接放在任意一端,而是转换为一个独立关系表。学生选课场景中,可以建立“选课表”,其中包含学生编号、课程编号,还可以包含成绩、选课时间等联系属性。

选项分析

A

正确。建立选课关系表可以表达学生与课程的多对多关系。

B

错误。把课程塞进姓名字段会破坏数据结构,也不便查询和维护。

C

错误。课程是独立实体,不能因为转换关系而删除。

D

错误。这会改变业务规则,把多对多强行改成一对一或一对多。

本题为什么容易错

不少同学会想着“把课程编号放到学生表里”。但一个学生有多门课时,单个字段就不够规范,后续查询也会很别扭。

先看结论

简短答案

ER 图中的多对多联系转换成关系模式时怎么处理,正确答案是 A(增加一张选课关系表,保存学生与课程之间的对应关系)。ER 图中的多对多联系在关系模型中通常不能直接放在任意一端,而是转换为一个独立关系表。学生选课场景中,可以建立“选课表”,其中包含学生编号、课程编号,还可以包含成绩、选课时间等联系属性。

解析

易混淆概念对比表

概念本题判断区别要点记忆提示
增加一张选课关系表,保存学生与课程之间的对应关系 本题正确答案 正确。建立选课关系表可以表达学生与课程的多对多关系。 看到题干核心场景时优先联想到它
把所有课程名称直接写进学生姓名字段 本题干扰项 错误。把课程塞进姓名字段会破坏数据结构,也不便查询和维护。 看到该词不要急着选,先判断是否真正解决题干问题
删除课程实体,只保留学生实体 本题干扰项 错误。课程是独立实体,不能因为转换关系而删除。 看到该词不要急着选,先判断是否真正解决题干问题
让每门课程只能有一个学生选择 本题干扰项 错误。这会改变业务规则,把多对多强行改成一对一或一对多。 看到该词不要急着选,先判断是否真正解决题干问题
本题易混淆选项怎么区分
  • 把所有课程名称直接写进学生姓名字段:错误。把课程塞进姓名字段会破坏数据结构,也不便查询和维护。
  • 删除课程实体,只保留学生实体:错误。课程是独立实体,不能因为转换关系而删除。
  • 让每门课程只能有一个学生选择:错误。这会改变业务规则,把多对多强行改成一对一或一对多。
复习

知识点详解

ER 模型是数据库系统工程师考试中需要结合场景理解的考点。围绕“ER 图中的多对多联系转换成关系模式时怎么处理”这类题目,复习时要先看题干描述的是概念定义、适用场景、作用效果,还是与其他选项的区别。本题的题干关键词是“在学生选课系统中,一个学生可以选择多门课程,一门课程也可以被多个学生选择。把这个 ER 模型转换为关系数据库表时,通常应该()”,它指向的核心答案是 A(增加一张选课关系表,保存学生与课程之间的对应关系)。

备考速记

备考速记:题干如果强调“关系模式转换”中的关键目标,就先联想到 ER 模型;如果选项里出现 把所有课程名称直接写进学生姓名字段、删除课程实体,只保留学生实体、让每门课程只能有一个学生选择,不要只看名称熟悉,要判断它们是否真正对应题干场景。

ER 模型 在关系模式转换场景中的作用

ER 模型在本题中的核心价值,是解决“在学生选课系统中,一个学生可以选择多门课程,一门课程也可以被多个学生选择。把这个 ER 模型转换为关系数据库表时,通常应该()”这个场景问题。复习时不要只背选项名称,还要理解它为什么适用于该场景,以及它能解决哪类安全、流程或管理问题。

拓展

同类题怎么考

  • 给出关系模式转换场景,判断应该选择哪个概念、工具、协议或管理过程。
  • 考查ER 模型的作用,要求从四个相近选项中找出最符合题干目标的一项。
  • 把ER 模型和把所有课程名称直接写进学生姓名字段、删除课程实体,只保留学生实体、让每门课程只能有一个学生选择放在一起考,重点看适用场景是否一致。
  • 题干通常会出现一个关键动作或目标,先定位关键词,再回到选项逐一排除。
ER 模型 在数据库系统工程师软考中的考法

软考选择题通常不会只考概念定义,还会把ER 模型放到关系模式转换场景中,要求判断它的作用、适用范围或与相近概念的区别。遇到这类题时,先抓住题干中的业务场景,再看哪个选项最能解决该场景下的核心问题。

解题思路

题干说学生和课程互相都是多个,这就是典型多对多。老师讲 ER 转关系模式时会说:一对多通常在多的一端放外键,多对多要单独建表。学生选课表就是这个联系表。

考点定位

多对多联系转关系模式,是数据库设计高频题。基本做法是新建联系表,并把两端实体的主键作为外键。

易错提醒

  • 多对多联系通常要转换成独立关系表。
  • 联系表中常包含两端实体的主键,作为联合主键或唯一约束的一部分。
  • 联系本身的属性,比如成绩、选课时间,也可以放在联系表中。

备考提示

  • 复习 ER 转关系时,把一对一、一对多、多对多分别整理成三种处理方式。
  • 看到学生选课、用户角色、订单商品这类场景,要敏感地想到多对多联系表。

你可能还想了解

  • ER 图中的多对多联系转换成关系模式时怎么处理?
  • ER 模型是什么?
  • ER 模型在数据库系统工程师考试中怎么考?
  • 数据库系统工程师ER 模型题怎么理解?
  • ER图多对多怎么转换怎么考?
  • 数据库系统工程师ER模型怎么考?

本文小结

本题核心考点是ER 模型在关系模式转换场景中的判断和应用。遇到类似题目时,先看题干描述的目标,再判断哪个选项最符合场景;本题应选择 A(增加一张选课关系表,保存学生与课程之间的对应关系)。