浅析如何把ER模型转换为关系模式

摘要:微信搜索【三桥君】
说明:本篇文章讲解的内容是“浅析如何把ER模型转换为关系模式”。在做ER图题目时,有些同学还是经常会做错,最主要原因是没有理解他们之间转换的原理。本文通过理论分析和例题来浅析这块知识点,当理解后,可以趁热打铁,把后面推荐的例题题目做一下,即可完全吸收这块内容。

一、理论分析

通常情况下,单独的ER实体型转换为关系模式,那该模式里面只有属性。
例如:
浅析如何把ER模型转换为关系模式_第1张图片
学生( 学号,姓名,性别,出生年份,系,入学时间)

关于ER模型的转换,我们只需要记住三个转换准则:
1:1、1:N、M:N。

浅析如何把ER模型转换为关系模式_第2张图片
(1)1:1
当转换为关系模型时,在两个实体任选一个添加另一个实体的主键即可。
如图(a)情况,当我们转换成关系模式时,我们可以在实体型A模式中添加实体型B的主键;或者在实体型B模式中添加实体型A的主键。
例子:
校里一个班级只有一个正班长,而一个班长只在一个班中任职,则班级与班长之间具有一对一联系。
当转换为关系模式时,我们可以在班长关系中添加班级的主键(班级号);或者在班级关系中添加班长的主键(学号)。
(2)1:N
当转换为关系模型时,在N端添加另一端的主键。
如图(b)情况,当我们转换成关系模式时,我们得在实体型B模式中添加实体型A的主键。
例子:
一个班级中有若干名学生,而每个学生只在一个班级中学习,则班级与学生之间具有一对多联系。
当转换为关系模式时,我们得在学生关系中添加班级的主键(班级号)。
(3)M:N
当转换为关系模型时,需要将联系转换为实体,然后在该实体上加上另外两个实体的主键,作为联系实体的主键,然后再加上该联系自身带的属性即可。
如图(c)情况,当我们转换成关系模式时,我们要把“联系名”转换为实体模式,添加另外两个实体的主键,这两个主键合起来为“联系名”的主键,然后添加该联系自带的属性即可。
例子:
一门课程同时有若干个学生选修,而一个学生可以同时选修多门课程,则课程与学生之间具有多对多联系。
当转换为关系模式时,我们要把联系“选修”作为实体,当作选修关系,再添加课程的的主键(课程号)、学号的主键(学学号),(课程号,学号)合起来为选修的主键,然后添加选修自带的属性即可。

以上是二元联系的ER模型转换为关系模式,接下来介绍三元联系的ER模型转换为关系模式。

补充:
什么是二元联系、三元联系?
在这里插入图片描述
一般地,两个以上的实体型之间也存在着一对一、一对多和多对多联系。
浅析如何把ER模型转换为关系模式_第3张图片

(1)1:1:N
当转换为关系模型时,和1:N的情况是差不多的。我们只需将N端添加另外两端的主键即可。
(2)M:N:P
当转换为关系模型时,联系转换为联系实体,然后在联系实体上添加M端N端P端的主键,然后加上联系实体自身的属性。

二、例题

浅析如何把ER模型转换为关系模式_第4张图片
浅析如何把ER模型转换为关系模式_第5张图片
其他例题
数据库系统原理–第七章作业1–习题答案
E-R图向关系模型的转换实例详解
例题1
例题2
例题3
参考文章
【数据库设计】逻辑设计-ER模型转换为关系模型
https://blog.csdn.net/HaoDaWang/article/details/78098937?locationNum=4&fps=1


文章整理不易,如有帮助请点赞关注支持,谢谢!微信搜索【三桥君】,回复【关注】有我准备的一份资源大礼包。后续持续更新~~~

你可能感兴趣的:(《数据库系统原理》,数据库,sql)