数据库系统概念(第七周 第二堂)(E-R模型转关系模式)

前言

前一堂课我们深入研究了E-R模型的画法和要点,学习E-R模型肯定是为了给数据库表格设计提供帮助。数据库表格设计就是关系模式设计,数据库表就是关系模式的实例化。所以本堂课,我们来看E-R模型如何转为关系模式。

转化原则 

转化步骤

转化原则

关系(关系模式/表格架构)=实体转关系+联系转关系(两种表格类型)

一、实体--->关系

1、强实体集:实体集名称就是表格名称;实体集属性就是表格列;主码和实体集相同

2、弱实体集:实体集名称就是表格名称;实体集属性+依赖强实体集主键作为表格列;主码为弱实体集部分码+强实体集主码

二、多样实体处理 

上述实体--->关系的处理原则在这里仍然适用,但是在遇到存在复合属性/多值属性的实体时。我们需要一些特殊的处理:

1、多值属性:创建新的关系;关系属性为所在实体主码+多值属性;主码为所在实体主码+多值属性

2、复合属性:复合属性最底层的所有属性就是关系模式的列

例如:

 

小练习:

三、联系--->关系

 1、联系转关系:每一个联系转为一张表也就是一个关系;表的属性为参与联系实体的主码+联系自身的属性

 2、特殊情况:a.如果在不同的实体集中出现了主码属性名称不唯一的情况,应该以实体的名字加上属性的名字形成唯一的属性名;b.如果一个实体集不止一次地参加了某个联系集,则角色名可代替实体集的名字形成唯一的属性名

合并原则

在把联系和实体集都转化为关系之后,我们需要利用合并原则把关系进一步简化。

合并只发生在联系的关系和实体集的关系之间

二元m:1联系(多对一联系)

原则:在二元多对一联系中,联系转化的表可以和“多端”实体转化成的表进行合并

示例:

二元1:1联系(一对一联系)

原则:联系转化的表可以与任一端实体转化成的表进行合并;二元一对一联系不能导致相关实体转化成的表合并

示例:

二元m:n联系(多对多联系) 

原则:将联系定义为新的关系,这个关系不能与实体转化成的关系进行合并

示例:

实体集内部联系

原则:只有一对多、一对一的联系能够进行合并;合并基本原则和前面的二元联系都是相同的;合并后属性的名称可能发生变化

示例:

多元联系 

原则:联系转化的表和实体转化的表不能进行合并

示例:

合并原则小练习

题目一

本题中有三个实体集,两个联系,所以一开始可以写出五个关系;讲授联系是多对多的联系,所以不能合并;上课联系是多元联系,所以不能合并。 

题目二

由于有两个联系都叫管理,本题将职工和职工间的联系“联系”改名为“领导”,该联系是能够合并到职工表中的 

总结

本文的所有知识点、图片均来自《数据库系统概念》(黑宝书)、山东大学李晖老师PPT。不可用于商业用途转发。

本篇已经码了三个多小时了,算是简单入门E-R模型转关系模式的文章,下节课第八周第一堂我们来深入讲讲E-R模型的拓展特性,以及如何通过E-R模型方法来设计数据库

如果能帮助到大家,大家可以点点赞、收收藏呀~ 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

十二月的猫

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值