本文转载自:http://blog.csdn.net/HaoDaWang/article/details/78098937?locationNum=4&fps=1 超级感谢博主分享

本篇博文中的例题只涉及到N:M和N:M:P的转换,大家看完后可以再去看下下面的这几个例题。

https://blog.csdn.net/Flora_SM/article/details/84645752


如何把ER模型转换为关系模型
这是数据库工程设计进行到逻辑设计的一重大环节,简单的说,如果概念设计是用ER模型, 整合为全局的ER模型,那么在逻辑设计这块, 主要任务就是把ER模型转换为关系模型。

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

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端的主键,然后加上联系实体自身的属性,就行了。

例子:
说了这么多看个小例子。

这是一份关于商店商品仓库的ER图。

先看仓库和商品之间是M:N的关系,于是我们首先想到的应该是把联系 库存转换为库存实体。
库存 (仓库号,商品号,日期,库存量)
然后是商品实体和仓库实体
商品(商品号,商品名,单价)
仓库(仓库号,仓库名,地址)

除此之外仓库和商品还有一个供应关系,同样是M:N关系:
供应 (仓库号,商品号 ,月份,月供应量)

在上图的商店和仓库之间的关系可能写漏了,但是它们应该也是M:N的关系,一个商店可以被多个仓库供应,一个仓库也可以供应多个商店。上面已经创建了供应实体,现在只需在供应实体中假如商店号即可,也就是商店实体的主键。

供应(仓库号,商品号,商店号 ,月份,月供应量)
商店(商店号,商店名,地址)

总结
至此,转换关系模型也完成了,当然这只是个例子,实际的开发中,我们可能会遇到各式各样奇怪的需求,这就更要求我们做好概念设计的环节,对后来的数据库设计和维护都有好处。ER图的好坏,始终是数据库设计的重要一节。

我的公众号:Java小部落

我的个人博客:http://www.fangjiaxian.cn

er图的好处_如何把ER模型转换为关系模型(超详细,含例题)相关推荐

  1. er图转关系模式规则_将ER模型转换为关系模型的规则

    将 ER 模型转换为关系模型的规则如下: (1) 一个实体型转换为一个关系模式, 实体的属性就是关系的属性, 实体的码 就是关系的码. (2)一个1 : 1的联系可以转换为一个独立的关系模式,也可以与 ...

  2. 【数据库】逻辑设计-ER模型转换为关系模型

    转载: https://blog.csdn.net/HaoDaWang/article/details/78098937?locationNum=4&fps=1 如何把ER模型转换为关系模型 ...

  3. 数据库原理-ER模型转换为关系模型

    1.ER图转换成关系模式集的算法(联系类型的转换):不同的情况做不同的处理.(二元联系类型的转换) ①若实体间联系是1:1,可以在两个实体类型转换成的两个关系模式中任意一个关系模式的属性中加入另一个关 ...

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

    项目(实训)目标 能采用E-R模型进行概念结构设计 能实现E-R模型向关系模型的转化 项目(实训)中的具体任务 1.从应用背景的实体与实体关系,画出实体联系图(E-R图). 2.将得到的E-R图转化为 ...

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

    摘要:微信搜索[三桥君] 说明:本篇文章讲解的内容是"浅析如何把ER模型转换为关系模式".在做ER图题目时,有些同学还是经常会做错,最主要原因是没有理解他们之间转换的原理.本文通过 ...

  6. Mysql的ER图怎么画_分享——如何画数据库ER图   王慧芬(10100340214)

    如何画ER图 以自底向上设计概念结构的方法为例,它通常分为两步: 第一步:首先要根据需求分析的结果(数据流图.数据字典等)对现实世界的数据进行抽象, 设计各个局部视图即分E-R图. 第二步:集成局部视 ...

  7. ER图(把ER模型转换为关系模式、关系范式概念)

    关于ER模型的转换,我们只需要记住三个转换准则: 1:1.1:N.M:N 二元联系: (1)一对一关系(One to One) 映射规则一:当转换为关系模型时,在两个实体任选一个添加另一个实体的主键即 ...

  8. 将E-R图转换为关系模型的方法

    将E-R 图转换为关系模型的转换规则如下: 1)实体集转换为关系   - 实体集对应于一个关系   -关系名:与实体集同名.   -属性:实体集的所有属性.   -主码:实体集的主码. 2)联系转换为 ...

  9. mysql学生选课系统的关系模型_数据库系统原理ER模型与关系模型

    数据库系统是软件的一种,数据库系统自然而然也有他自己的生命周期生存期.它的生存期从规划开始,一直到将它卸载不用了.它的中间过程很复杂,为了实现用户的想法,数据库有关人员将现实生活中的数据进行抽象,然后 ...

最新文章

  1. 计算机到计算机 临时网络,电脑如何设置临时网络
  2. mysql视图的简介_mysql视图简介
  3. OpenCV 特征点检测
  4. vs2012常用快捷键总结
  5. openssl、ssh
  6. 线上流量越发昂贵,如何通过裂变营销实现业务增长?
  7. php的控制器,php-模块与控制器
  8. 2021年,深度学习还有哪些有潜力且处于上升期的研究方向?
  9. jquery基础知识(二)
  10. emacs之occur mode笔记
  11. 闹钟流程_国际航班流程全攻略(中转+不同航空公司+中转换机场+航班变动)
  12. Java 最常见的 200+ 面试题:面试必备 1
  13. mysql error 1213_webgame中Mysql Deadlock ERROR 1213 (40001)错误的排查历程
  14. Python回归分析五部曲(三)—一元非线性回归
  15. 慕课秒杀项目seckill
  16. 免费的两种https证书申请和安装
  17. QQ空间玩吧HTML5游戏引擎使用比例分析
  18. Mongodb常用查询
  19. VS2017中配置QT5.12开发环境
  20. linux V4L2子系统——v4l2架构(3)之video_device

热门文章

  1. ADAS落地与突围——客运场景如何破解AEB困境?
  2. 洛谷P1914 小书童——凯撒密码
  3. QScrollBar纯色美化样式表【vertical部分】
  4. 使用dnf下载与安装网络源的rpm
  5. cad怎么去除drawing1_cad2014首次运行时总会多启动一个叫“Drawing1”的窗口,这个怎么去掉?...
  6. 提醒大家有关越狱组it学院vip会员有猫腻,要小心。。。
  7. 谁是卧底服务器维护,问道手游8.9每周探案谁是卧底答案分享_蚕豆网新闻
  8. Oracle根据中文首字母排序
  9. 高数(下)——平面及其方程
  10. gzip inflateInit2