<数据库概论> 如何把E-R图(概念模型)转换为关系模式(逻辑模型)
一:简介
E-R图向关系模式的转换需要考虑的是:
将实体和实体间的联系均转换为关系模式。
故关系模式的转换需要:
1:实体的转换
2:联系的转换
其中两个实体间的二元联系的类型有三种:
即: 1:1型,1:n型,m:n型
其中三个实体间的三元联系的类型有四种:
即:1:1:1型和1:1:N型和1:M:N型和M:N:P型。
二:二元关系模式的转换
实体关系模式的转换
实体转换为关系模式很简单。
一个实体对应一个关系模型,实体的名称即是关系模型的名称,实体的属性就是关系模型的属性, 实体的码就是关系模型的码。
注意:
1:属性域的问题。
2:非原子属性的问题。E-R图中允许非原子属性。
二元关系模式的转换
- 1:1型二元关系模式的转换。
方法一:
- 先进行实体关系模式的转换。
- 再进行联系的转换。即:写出两个实体的码和联系本身属性。
(此时联系的关系模式的主键为:两端实体的码)
(故最终采用方法一进行关系模式转换的最终结果是 :
需要对实体进行关系模式的转换和联系关系模式的转换)
方法二:
- 先进行实体关系模式的转换。
- 任意选择一个实体的所有属性再加入另一个实体的码和联系本身的属性。
(最后选择的这个实体的最终关系模式的主键为:两端实体的码组成的复合键)
(故采用方法二的关系模式转换的最终结果是 :
不必写出联系的转换,联系的转换结果已加在实体的转换结果中)
- 1:n型关系模式的转换。
方法一:
- 先进行实体关系模式的转换。
- 再进行联系的转换。即:写出两个实体的码和联系本身属性。
(此时联系的关系模式的主键为: n端实体的码)
(采用方法一的关系模式转换的转换结果是:
需要对实体进行关系模式的转换和联系关系模式的转换)
方法二:
- 先进行实体关系模式的转换。
- 选择n端的实体的所有属性再加入1端的码和联系本身属性。
(最后n端这个实体的最终关系模式的主键为:两端实体的码组成的复合键)
(故采用方法二的关系模式转换的最终结果是 :
不必写出联系的转换,联系的转换结果已加在n端实体的转换结果中)
- m:n型联系的转换。
m:n型的联系的关系模式的转换不能省略。
故m:n型需要且必须只能写成: 实体的转换+关系的转换。
方法:
- 先进行实体的关系模式的转换。
- 再进行联系的关系模式转换。
即:写出两个实体的码和联系本身的属性。
(此时联系的关系模式的主键为: 两端实体的码组成的复合键)
(故m:n型关系模式转换的最终结果是 :
要写出实体的转换和关系的转换)
三:实际题目的二元关系模式的转换规则
1:对于1:1型和1:n型的转换:
一般都是采用方法二进行转换。
2:对于m:n型的 联系 的转换只有一种方法。
即需要: 实体的转换+联系的转换(产生3个关系模式)
四:实际题目的二元关系模式的转换的步骤
(两大步骤:先所有实体的转换,后所有联系的转换)
例题:
1:(先所有实体的转换)
先将E-R图中所有出现的实体进行实体转换。结果即:
①系(系编号,系名,电话)
②教师(教工号,姓名,性别,职称)
③课程(课程号,课程名,学分)
2:(后所有联系的转换)(1:1和1:N的联系转换结果加入实体转换)
根据E-R图中出现的关系类型对所有的关系类型进行转换(依据上面第三大部分的规则进行关系类型的转换)
对于1:1联系“主管”,可以在“系”模式中加入教工号(教工号为外键)
对于1:N联系“聘用”,可以在“教师”模式中加入系编号属性(系编号为外键)
对于1:N联系“开设”,可以在“课程”模式中加入系编号属性(系编号为外键)
①系(系编号,系名,电话,教工号)
②教师(教工号,姓名,性别,职称,系编号,聘期)
对于M:N联系“任教”,则生成一个新的关系模式:(即M;N联系的关系模式单独拎出来)
①任教(教工号,课程号,教材)
(4)这样,转换成的四个关系模式如下:(转换的最终结果如下:)
①系(系编号,系名,电话,教工号)
②教师(教工号,姓名,性别,职称,系编号)
③课程(课程号,课程名,学分,系编号)
④任教(教工号,课程号,教材)
五: 三个实体间三元关系模式的转化
三个实体间三元关系模式的转换思想和二元关系模式的转换类似。
具体可参考链接: 三元关系模式
The End!!创作不易,欢迎点赞/评论!!欢迎关注个人公众号
<数据库概论> 如何把E-R图(概念模型)转换为关系模式(逻辑模型)相关推荐
- DBMS-数据库设计与E-R模型:E-R模型、约束、E-R图、E-R扩展特性、E-R图转换为关系模式、UML建模...
设计过程概览 1. 设计阶段 ·最初阶段:刻画未来数据库用户的数据需求,产品为用户需求规格说明: ·概念设计阶段(conceptual-design phase):(关注描述抽象数据及其联系,通常使用 ...
- 设计E-R图,E-R图转换成关系模式结构
数据库E-R图联系 第四章第二讲 1.某医院病房计算机管理中心需要如下信息: 科室:科名.科地址.科电话.医生姓名 病房:病房号.床位号.所属科室名 医生:姓名.职称.所属科室名.年龄.工作证号 病人 ...
- ER图(把ER模型转换为关系模式、关系范式概念)
关于ER模型的转换,我们只需要记住三个转换准则: 1:1.1:N.M:N 二元联系: (1)一对一关系(One to One) 映射规则一:当转换为关系模型时,在两个实体任选一个添加另一个实体的主键即 ...
- 如何将实体关系图转换成关系模式
一个实体转换成一个关系模式. 首先,通过visio绘制一个与学生实体有联系的几个E-R图.如下图所示 其中矩形表示的是实体(班级,学生,课程,学习账号),椭圆表示的是属性,菱形表示的是联系(拥有, ...
- er图转关系模式规则_ER图转换成关系模式集的规则[图]
ER图转换成关系模式集的规则[图] 08-18栏目:技术 TAG:关系模式 关系模式 转自己博客园文章 www.jhua.org copyright www.jhua.org A与B=1:1 在A表里 ...
- er图转化为关系模式题_“助你在家自学”之无机化工流程题解法
无机化工流程题就是将化工生产过程中的主要生产阶段即生产流程用框图形式表示出来,并根据生产流程中有关的化学知识步步设问,形成与化工生产紧密联系的化工工艺试题.无机化工流程题能够以真实的工业生产过程为背景 ...
- ER图转换成关系模式集的规则
转自己博客园文章 A与B=1:1 在A表里把B表的主键和关系的属性加入到A表中 或B表里把A表的主键和关系的属性加入到B表中 举例 男人表 身份证号 姓名 年龄 女人身份证号 登记日期 女人表 身份证 ...
- 【数据库】期末复习:SQL语句、关系代数的运算、范式的定义和判断、求最小函数依赖集、ER图转关系模式
文章目录 SQL语句 查询select 其他 视图 关系代数的运算 并.差.笛卡尔积.投影和选择 连接 自然连接 笛卡尔积 详细版(如果完全不了解就看这里) 范式的定义和判断 如何求候选码 一些例题 ...
- 数据库设计之概念结构设计---------E-R图详解
0.试述采用E-R方法进行数据库概念设计的过程. 答:采用E-R方法进行数据库概念设计,可以分成3步进行:首先设计局部E-R模式,然后把各局部E-R模式综合成一个全局的E-R模式,最后对全局E-R模式 ...
最新文章
- 白话经典算法系列之七 堆与堆排序
- C# 移动开发(Xamarin.Form) Plugin.BLE 蓝牙连接
- 软件项目管理的十大定律之说明
- iOS开发(7)通过uiimageView浅谈UIView
- MySQL源码编译与初始化
- NYOJ41 - 三个数从小到大排序
- MFC 给非控件添加ToolTip
- 域名访问html乱码,显示地址和域名解析时出现乱码
- 程序员入门编程,看这10本书,少走10年弯路
- sql语句日期格式转换
- 青年同辈应该有大器晚成的心理准备,共勉
- GYM 101086 B.Brother Louie(dfs)
- redhat linux 禁用网卡,RedHat Linux下防火墙配置技巧
- 接入google 登录 google oauth2
- oracle关闭参数,在Oracle关闭情况下如何修改spfile的参数
- 声卡突然听不到监听_声卡没有声音了为什么
- 再见了,并不美好的 PC 互联网
- activiti使用详解
- android 动画字体,Android字体多样式和动画TextDrawable
- MySQL计算连续3天登陆的用户
热门文章
- [转]oracle EBS 基础100问
- 网页+微信小程序UI设计及前端开发(第二周)
- java飞行棋项目_Java实现飞行棋 - 源码下载|行业应用软件|教育/学校应用|源代码 - 源码中国...
- Linux文本处理工具之cut命令
- Dubbo Admin 发布 v0.1;VMware 或与微软放下恩怨展开合作
- [学习笔记]数据与科学训练营之五:机器学习
- Django个人博客搭建教程---图片存储与展示
- Google 认证之GMS 认证
- java控制台如何输入一段代码
- 怎么查看思科模拟器Cisco Packet Tracer的版本