E-R模型转换为关系模型

E-R模型转换为关系模型

一、讲解

转换只需知道三个转换准则:

1:1
遇到1:1 关系的话在两个实体任选一个添加另一个实体的主键即可。

1:N
1:N 遇到 1:N 关系的话在N端添加另一端的主键,假如有学生和班级两个实体,一个班级可以容纳多个学生,但是一个学生只能选择一个班级, 因此班级和学生是1:N的关系,现在要转换为关系模型, 我们只需在学生的这端加上班级的唯一标识即可,这样做的原因是,因为一个学生只能有一个班级,班级是相对学生唯一的。

N:M
遇到N:M我们需要将联系转换为实体,然后在该实体上加上另外两个实体的主键,作为联系实体的主键,然后再加上该联系自身带的属性即可。例如有学生和老师两个实体, 一个学生可以由多名老师来授课,一名老师也可以授课多名学生,它们是M:N关系的,假如联系为授课,该联系上有成绩属性,因此当我们把它转换为关系模型时,我们把联系转换为联系实体,并添加学生实体的主键(学号)和教师实体的主键(教师编号)作为自己的主键,值得注意的是,授课实体的外键分别是学号和教师编号,但是它的主键是(学号,教师编号),另外它还拥有自己的一个属性成绩。

1:1:N
这是三元联系的对应关系,但是当转换为关系模型时,和1:N的情况是差不多的。我们只需将N端添加另外两端的主键即可。

M:N:P
这种三元联系的三种多对应关系,看上去很复杂,其实转换起来并不是那么复杂了,我们要做的仅仅是将其中的联系转换为联系实体,然后在联系实体上添加M端N端P端的主键,然后加上联系实体自身的属性,就行了。

转自:https://blog.csdn.net/HaoDaWang/article/details/78098937

二、例题

实例:将教学管理ER图转换为关系模式在这里插入图片描述

(1)把三个实体类型转换成三个模式:
   ①系(系编号,系名,电话)
   ②教师(教工号,姓名,性别,职称)
   ③课程(课程号,课程名,学分)
  
(2)对于1:1联系“主管”,可以在“系”模式中加入教工号(教工号为外键)。对于1:N联系“聘任”,可以在“教师”模式中加入系编号(系编号为外键)。对于1:N联系“开设”,可以在“课程”模式中加入系编号(系编号为外键)。
   ①系(系编号,系名,电话,主管人的教工号)
   ②教师(教工号,姓名,性别,职称,系编号)
   ③课程(课程号,课程名,学分,系编号)

(3)第三步:对于M:N联系“任教”,则生成一个新的关系模式:
   ①任教(教工号,课程号,教材)
  
(4)这样,转换成的四个关系模式如下:
   ①系(系编号,系名,电话,主管人的教工号)
   ②教师(教工号,姓名,性别,职称,系编号)
   ③课程(课程号,课程名,学分,系编号)
   ④任教(教工号,课程号,教材)

转自:https://blog.csdn.net/Flora_SM/article/details/84645752
感谢分享!

  • 1
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值