读书频道 > 数据库 > SQL Server > 数据库基础与实践技术(SQL Server 2008)
1.3.5 E-R模型向关系模型的转换
2013-02-25 16:32:19     我来说两句 
收藏    我要投稿   
数据库技术是一门实践性很强的应用性技术,本书采用目前使用广泛的Microsoft SQL Server 2008作为实践平台,主要介绍数据库技术的应用。本书包括14章和1个附录。第1章和第2章介绍数据库的基础理论,主要针对数...  立即去当当网订购

E-R模型向关系模型的转换要解决的问题是如何将实体以及实体间的联系转换为关系模式,如何确定这些关系模式的属性和键。

关系模型的逻辑结构是一组关系模式的集合。E-R图由实体、实体的属性以及实体之间的联系三部分组成,因此将E-R图转换为关系模型实际上就是将实体、实体的属性以及实体间的联系转换为关系模式,转换的一般规则为:

一个实体转换为一个关系模式。实体的属性就是关系的属性,实体的标识符就是关系的主键。
对于实体间的联系有以下不同的情况:

1)一个1∶1联系可以转换为一个独立的关系模式,也可以与任意一端所对应的关系模式合并。

 如果转换为一个独立的关系模式,则与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,每个实体的码均是该关系模式的主键,同时也是引用各自实体的外键。

 如果是与联系的任意一端实体所对应的关系模式合并,则需要在该关系模式的属性中加入另一个实体的码和联系本身的属性,同时新加入的实体的码为此关系模式中引用另一个实体的外键。

2)一个1∶n联系可以转换为一个独立的关系模式,也可以与n端所对应的关系模式合并。

 如果转换为一个独立的关系模式,则与该联系相连的各实体的码以及联系本身的属性均转换为关系模式的属性,而关系模式的主键为n端实体的码,同时n端实体的码为此新关系模式中引用n端实体的外键,1端实体的码作为引用1端实体的外键。

 如果是与n端所对应的关系模式合并,则需要在n端对应的关系模式的属性中加入1端实体的码以及联系本身的属性,同时1端实体的码在n端实体中作为引用1端实体的外键。

3)一个m∶n联系转换为一个独立的关系模式,与该联系相连的各实体的码以及联系本身的属性均转换为该关系模式的属性,新关系模式的主键包含各实体的码,同时新关系模式中各实体的码为引用各自实体的外键。

3个或3个以上实体间的一个多元联系可以转换为一个关系模式。与该多元联系相连的各实体的码以及联系本身的属性均转换为此关系模式的属性,而此关系模式的码包含各实体的码,同时新关系模式中的各实体的码为引用各自实体的外键。

具有相同主键的关系模式可以合并。

【例1-3】1∶1联系示例。设有描述部门和经理关系的E-R图如图1-8所示,将其转换为合适的关系模式。


 

解:对于1∶1联系,可以有下列两种转换方法。

1)将联系与某一端实体的关系模式合并,则转换后的结果为:

经理(经理号,经理名,电话)

其中“经理号”为主键。

部门(部门号,部门名,经理号)

其中“部门号”为主键,“经理号”为引用“经理”关系模式的外键。

或者:

经理(经理号,部门号,经理名,电话)

其中“经理号”为主键,“部门号”为引用“部门”关系模式的外键。

部门(部门号,部门名)

其中“部门号”为主键。

2)将联系转换为一个独立的关系模式,则转换后的结果为:

经理(经理号,经理名,电话)

其中“经理号”为主键。

部门(部门号,部门名)

其中“部门号”为主键。

部门_经理(经理号,部门号)

其中“经理号”和“部门号”为候选键,同时也为引用“部门”和“经理”关系模式的外键。

在1∶1联系中一般不将联系单独设计为一个关系模式,因为这样转换出来的关系模式个数比较多,对应的表的个数也多,而查询时涉及的表个数越多,查询效率就越低。

【例1-4】1∶n联系示例。设有描述部门和职工关系的E-R图如图1-9所示,将其转换为合适的关系模式。


 

解:对于1∶n联系,可以有下列两种转换方法。

1)如果将联系与n端实体的关系模式合并,则转换成如下两个关系模式:

部门(部门号,部门名)

其中“部门号”为主键。

职工(职工号,部门号,职工名,性别)

其中“职工号”为主键,“部门号”为引用“部门”关系模式的外键。

2)如果将联系作为一个独立的关系模式,则转换为如下3个关系模式:

部门(部门号,部门名)

其中“部门号”为主键。

职工(职工号,职工名,性别)

其中“职工号”为主键。

部门_职工(部门号,职工号)

其中“职工号”为主键,同时也为引用“职工”关系模式的外键,“部门号”为引用“部门”关系模式的外键。

同1∶1联系转换为关系模式的原因一样,对于1∶n联系,通常也不将联系转换为一个独立的关系模式。

【例1-5】m∶n联系示例。设有描述教师、课程和教师授课关系的E-R图,如图1-10所示,将其转换为合适的关系模式。


 

解:对于m∶n联系,必须将联系转换为一个独立的关系模式。该E-R图转换后的结果为:

教师(教师号,教师名,职称)

其中“教师号”为主键。

课程(课程号,课程名,学分)

其中“课程号”为主键。

授课(教师号,课程号,授课时数)

其中(教师号,课程号)为主键,同时也为引用“教师”和“课程”关系模式的外键。

点击复制链接 与好友分享!回本站首页
分享到: 更多
您对本文章有什么意见或着疑问吗?请到论坛讨论您的关注和建议是我们前行的参考和动力  
上一篇:1.3.4 组织层数据模型
下一篇:1.4 数据库系统的结构
相关文章
图文推荐
3.8 实训项目
3.6 实现数据完整性
3.5.5 外键约束
3.5.3 检查约束
排行
热门
文章
下载
读书

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训
版权所有: 红黑联盟--致力于做最好的IT技术学习网站