注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

天涯倦客的博客

祝福你朋友永远快乐!

 
 
 

日志

 
 

ER图转换成关系模式集的算法  

2012-01-08 20:46:39|  分类: MS SQL |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
2.4.1 ER图转换成关系模式集的算法

1.实体类型的转换
(1)将每个实体类型转换成一个关系模式。
(2)实体的属性即为关系模式的属性。
(3)实体标识符即为关系模式的键。

2.二元联系类型的转换
(1)若实体间联系是1:1,可以在两个实体类型转换成的两个关系模式中任意一个关系模式的属性中加入另一个关系模式的键和联系类型的属性。
(2)若实体间联系是1:N,则在N端实体类型转换成的关系模式中加入1端实体类型的键和联系类型的属性。
(3)若实体间联系是M:N,则将联系类型也转换成关系模式,其属性为两端实体类型的键加上联系类型的属性,而键为两端实体键的组合。

3.一元联系类型的转换
和二元联系类型的转换类似。

4.三元联系类型的转换
(1)若实体间联系是1:1:1,可以在三个实体类型转换成的三个关系模式中任意一个关系模式的属性中加入另两个关系模式的键(作为外键)和联系类型的属性。
(2)若实体间联系是1:1:N,则在N端实体类型转换成的关系模式中加入两个1端实体类型的键(作为外键)和联系类型的属性。
(3)若实体间联系是1:M:N,则将联系类型也转换成关系模式,其属性为M端和N端实体类型的键(作为外键)加上联系类型的属性,而键为M端和N端实体键的组合。
(4)若实体间联系是M:N:P,则将联系类型也转换成关系模式,其属性为三端实体类型的键(作为外键)加上联系类型的属性,而键为三端实体键的组合。

5.实例1:将教学管理ER图转换为关系模式
 
ER图转换成关系模式集的算法 - 海里的贝壳 - apple的博客
 
 

(1)把三个实体类型转换成三个模式:
   ①系(系编号,系名,电话)
   ②教师(教工号,姓名,性别,职称)
   ③课程(课程号,课程名,学分)
(2)对于1:1联系“主管”,可以在“系”模式中加入教工号(教工号为外键)。对于1:N联系“聘用”,可以在“教师”模式中加入系编号和聘期两个属性(系编号为外键):
   ①系(系编号,系名,电话,主管人的教工号
   ②教师(教工号,姓名,性别,职称,系编号,聘期)
(3)第三步:对于M:N联系“任教”,则生成一个新的关系模式:
   ①任教(教工号,课程号,教材)
(4)这样,转换成的四个关系模式如下:
   ①系(系编号,系名,电话,主管人的教工号
   ②教师(教工号,姓名,性别,职称,系编号,聘期)
   ③课程(课程号,课程名,学分)
   ④任教(教工号,课程号,学分)

6.实例2:一元联系类型ER图结构转换为关系模式
 
ER图转换成关系模式集的算法 - 海里的贝壳 - apple的博客
 

(1)运动员名次之间存在着1:1联系
ER图转换成关系模式集的算法 - 海里的贝壳 - apple的博客
  

   ①运动员(编号,姓名,性别,名次,上一名次编号
(2)职工之间存在上下级联系,即1:N联系
 
ER图转换成关系模式集的算法 - 海里的贝壳 - apple的博客
 

   ①职工(工号,姓名,年龄,性别,经理工号
(3)工厂的零件之间存在着组合关系(M:N联系)
 
ER图转换成关系模式集的算法 - 海里的贝壳 - apple的博客
 

   ①零件(零件号,零件名,规格)
   ②组成(零件号,子零件号,数量)

7.实例3:三元联系的ER图结构转换为关系模式
 
ER图转换成关系模式集的算法 - 海里的贝壳 - apple的博客
 

   ①仓库(仓库号,仓库名,地址)
   ②商店(商店号,商店名)
   ③商品(商品号,商品名)
   ④进货(商店号,商品号,仓库号,日期,数量)
  评论这张
 
阅读(865)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017