【数据库】逻辑设计-ER模型转换为关系模型
转载: https://blog.csdn.net/HaoDaWang/article/details/78098937?locationNum=4&fps=1
如何把ER模型转换为关系模型
这是数据库工程设计进行到逻辑设计的一重大环节,简单的说,如果概念设计是用ER模型, 整合为全局的ER模型,那么在逻辑设计这块, 主要任务就是把ER模型转换为关系模型。
转换只需知道三个转换准则:
1:1
遇到1:1 关系的话在两个实体任选一个添加另一个实体的主键即可。
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图的好坏,始终是数据库设计的重要一节。
【数据库】逻辑设计-ER模型转换为关系模型相关推荐
- er图的好处_如何把ER模型转换为关系模型(超详细,含例题)
本文转载自:http://blog.csdn.net/HaoDaWang/article/details/78098937?locationNum=4&fps=1 超级感谢博主分享 本篇博文中 ...
- 将E-R图转换为关系模型的方法
将E-R 图转换为关系模型的转换规则如下: 1)实体集转换为关系 - 实体集对应于一个关系 -关系名:与实体集同名. -属性:实体集的所有属性. -主码:实体集的主码. 2)联系转换为 ...
- er图转关系模式规则_将ER模型转换为关系模型的规则
将 ER 模型转换为关系模型的规则如下: (1) 一个实体型转换为一个关系模式, 实体的属性就是关系的属性, 实体的码 就是关系的码. (2)一个1 : 1的联系可以转换为一个独立的关系模式,也可以与 ...
- 数据库原理-ER模型转换为关系模型
1.ER图转换成关系模式集的算法(联系类型的转换):不同的情况做不同的处理.(二元联系类型的转换) ①若实体间联系是1:1,可以在两个实体类型转换成的两个关系模式中任意一个关系模式的属性中加入另一个关 ...
- E-R模型转换为关系模型
项目(实训)目标 能采用E-R模型进行概念结构设计 能实现E-R模型向关系模型的转化 项目(实训)中的具体任务 1.从应用背景的实体与实体关系,画出实体联系图(E-R图). 2.将得到的E-R图转化为 ...
- er图转换成关系模型的例题,将ER图转换为关系模型
I know how to convert an entity set, relationship, etc. into the relational model but what i wonder ...
- 浅析如何把ER模型转换为关系模式
摘要:微信搜索[三桥君] 说明:本篇文章讲解的内容是"浅析如何把ER模型转换为关系模式".在做ER图题目时,有些同学还是经常会做错,最主要原因是没有理解他们之间转换的原理.本文通过 ...
- ER图和关系模型到MySQL数据库表
本篇主要介绍了MySQL数据库表从ER图到关系模型,再到数据库表的创建过程及其表结构的修改.通过本篇的学习,可以掌握以下内容: ● 应用ER图和关系模型创建数据库表 ● 数据库表结构的修改 1.moo ...
- 实体-关系图转换为关系模型
1.逻辑设计概述 概念结构是独立于任何一种数据模型的,在实际应用中,一般所用的数据库环境已经给定(如SQL Server或Oracel或MySql),本文讨论从概念结构向逻辑结构的转换问题. ...
最新文章
- Cache 工作原理,Cache 一致性,你想知道的都在这里
- 智能制造大潮下,机器视觉产业迎来春天?
- icmp 报文中的进程号
- 各种编程语言的深度学习库整理(中英版)
- bst java_BST(二叉搜索树) Java 实现解析
- 麒麟970怎么升级鸿蒙系统,华为这些手机无法升级鸿蒙系统,搭载麒麟970,只能遗憾错过...
- linux下php支持mysql_linux下php扩展mysqli的支持 .
- GPT(Improving Language Understandingby Generative Pre-Training) 论文笔记
- redis允许其他机器远程连接
- 【★原创★】夜晚,不要让电白白流失!
- 深度探索ONNX模型部署
- c语言语法大全,oc语言基本语法汇总分析
- 点餐系统数据库设计--SQL Server
- 数字图像处理与Python实现-图像变换-Radon变换
- 汉语为主体的计算机网络环境,读书笔记 | 鲁川:汉语语法的意合网络 | 从网络到表层序列的生成...
- minus oracle 顺序_Minus 在oracle 中的用法
- TextView 跑马灯效果
- Cyberdog——小米四足机器人测评
- iOS 15 适配总结
- echarts 重新加载数据
热门文章
- Android 文件系统获取root权限和重新挂载根目录为可读写
- 回文判断 【问题描述】 回文是正读和倒读都一样的句子。读入一个最大长度不超过50个字符的句子,判断其是否是回文。 【输入形式】 输入一个最大长度不超过50个字符的句子 【输出形式】 Yes/No
- 关于ORA-03113:end-of-file on communication channel
- SPSS简单介绍及入门
- samba文件共享,windows与linux共享
- IT运维工单高效协同,助力打造一站式运维方案
- 程序员做什么副业最轻松最赚钱?
- 运算放大器单电源供电和双电源供电
- 入侵你Linux服务器的一万种玩法...
- 环信 “和未来有约”移动IM新时代分享沙龙——做最开源的即时通讯云平台