2021-11-14database_ER图转为关系模式(表)示例

E-R 图示例

在这里插入图片描述
以下联系类型的转换注意在独立/归并的时候主键,尤其是外键的变化

一对一联系的转换

1)独立转换
 独立转换规则:一个一对一联系转换为一个独立的关系模式。即:
关系模式的名称:来自联系的名称。
关系模式的属性:由与联系相关联的实体的主键以及联系本身的属性组成。
关系模式的主键:与任意一个一端实体的主键相同(可以二选一)。
关系模式的外键:产生一个外键,就是与联系相关联的另一个一端实体的主键。
(2)合并转换
 合并转换规则:不转换为一个独立的关系模式,而是向任意一个一端实体合并。即:
把另一个一端实体的主键以及联系的属性合并到当前一端实体,当前实体的主键保持不变,同时产生一个外键,就是与联系相关联的另一端实体的
主键。

多对多联系的转换

在这里插入图片描述
多对多联系转换规则:一个多对多联系转换为一个独立的关系模式。即:
(1)关系模式的名称:来自联系的名称。
(2)关系模式的属性:由与联系相关联的实体的主键以及联系本身的属性组
成。
(3)关系模式的主键:由与联系相关联的实体的主键组成(一个
组合主键)。
(4)关系模式的外键:产生两个外键,分别为与联系相关联的实体的主键。

一对多关系的转换

在这里插入图片描述
一对多联系转换:
 一对多联系既可以转换为一个独立的关系模式,又可以与多端实体合并。
(1)独立转换
 独立转换规则:一个一对多联系转换为一个独立的关系模式。即:
关系模式的名称:来自联系的名称。
关系模式的属性:由与联系相关联的实体的主键以及联系本身的属性组成。
关系模式的主键:与多端实体的主键相同。
关系模式的外键:产生一个外键,就是与联系相关联的一端实体的主键。
(2)合并转换
 合并转换规则:不转换为一个独立的关系模式,而是向多端实体合并。即:
把一端实体的主键以及联系的属性合并到多端,多端实体的主键保持不变,同时产生一个外键,就是与联系相关联的一端实体的主键。

自联系

在这里插入图片描述
这种情况下的领导关系若要归并到多端实体中,就归并到(普通)职工这一实体(多端嘛)
此外,由于高级职工(领导)也是职工,所以领导字段(属性)的取值类型也是工号
在应用的时候,可以通过该归并职工表查询到某个员工的本人的职工号,而且还可以查到其对应的领导的职工号(当然,职务补贴属性值对于高级员工可以取非0值,否则取0)

一对多的自联系转换示例

在这里插入图片描述
领导联系也可以归并到多端实体,即把领导联系,归并到职工实体中。归并后的职工实体:
在这里插入图片描述

最终结果(采取归并有先的原则,非唯一)

在这里插入图片描述

转换规律总结

除了多对多联系在转换时(总是作为地理的一个表),是以被联系的两个实体的主键作为该联系的主键(属性集),同时产生了两个外键

更一般的,所有的这些联系的转换,总是把多端实体作为转换结果关系模式中的主键(在归并到多端时,主键仍然以多端的原主键为主键)
联系的另一端实体(单端,与多端实体相对的实体)的主键则作为转换结果中的外键(无论该联系时被归并还是独立出来)

posted @   xuchaoxin1375  阅读(64)  评论(0编辑  收藏  举报  
相关博文:
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
点击右上角即可分享
微信分享提示