博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
E-R图向关系模型的转换规则
阅读量:6170 次
发布时间:2019-06-21

本文共 1453 字,大约阅读时间需要 4 分钟。

E-R图转换为关系模型的转换规则如下:

•1)

  实体集转换为关系

–实体集对应于一个关系

–关系名:与实体集同名。

–属性:实体集的所有属性。

–主码:实体集的主码。

2) 联系转换为关系

联系转换成为关系模式。联系转换成为关系模式时,要根据联系方式的不同采用不同的转换方式

①1:1联系的转换方法

a) 将1:1联系转换为一个独立的关系:与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,且每个实体的码均是该关系的候选码。

b) 将1:1联系与某一端实体集所对应的关系合并,则需要在被合并关系中增加属性,其新增的属性为联系本身的属性和与联系相关的另一个实体集的码。

第一步:联系形成的关系独立存在:

职工表(职工号,姓名,年龄)主码:职工号

产品表(产品号,产品名,价格)主码:产品号

负责(职工号,产品号)主码:职工号或产品号

合并方案1“负责”与“职工”两关系合并:

    职工(职工号,姓名,年龄,产品号)

    产品(产品号,产品名,价格)

合并方案2“负责”与“产品”两关系合并:

    职工(职工号,姓名,年龄)

    产品(产品号,产品名,价格,职工号)

 

② 1:n联系的转换方法

a)一种方法是将联系转换为一个独立的关系,其关系的属性由与该联系相连的各实体集的码以及联系本身的属性组成,而该关系的码为n端实体集的码;

 b)另一种方法是在n端实体集中增加新属性,新属性由联系对应的1端实体集的码和联系自身的属性构成,新增属性后原关系的码不变。

步骤一:联系形成的关系独立存在。

仓库(仓库号,地点,面积)

 主码:仓库号

产品(产品号,产品名,价格)

 主码:产品号

仓储(仓库号,产品号,数量)主码:产品号

 

合并后方案:联系形成的关系与n端对象合并。

 仓库(仓库号,地点,面积)

  

③ m:n联系的转换方法

在向关系模型转换时,一个m:n联系转换为一个关系。转换方法为:与该联系相连的各实体集的码以及联系本身的属性均转换为关系的属性,新关系的码为两个相连实体码的组合(该码为多属性构成的组合码)。

•该模型包含两个实体集(学生、课程)和一个m:n联系

该模型可转换为三个关系模式:

–学生(学号,姓名,性别,年龄)主码:学号

 

-课程(课程号,课程名,学分)主码:课程号

 

–选课(学号,课程号,成绩)主码:学号+课程号

 

 

 

 

E-R图向的:一个实体型转换为一个。实体的属性就是关系的属性,实体的码就是关系的码。

 

 对于实体间的联系则有以下不同的情况:

 

(1)一个1:1联系可以转换为一个独立的关系模式,也可以与任意一端对应的关系模式合并。如果转换为一个独立的关系模式,则与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,每个实体的码均是该关系的。如果与某一端实体对应的关系模式合并,则需要在该关系模式的属性中加入另一个关系模式的码和联系本身的属性。

 

(2)一个1:n联系可以转换为一个独立的关系模式,也可以与n端对应的关系模式合并。如果转换为一个独立的关系模式,则与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为n端实体的码。

 

(3)一个m:n联系转换为一个关系模式。与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,各实体码的组合组成该关系的码,或码的一部分。

 

(4)三个或三个以上实体间的一个多元联系可以转换为一个关系模式。与该多元联系相连的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为各实体码的组合。

 

(5)具有相同码的关系模式可合并。

 

 

转载地址:http://yavba.baihongyu.com/

你可能感兴趣的文章
PostgreSQL 与 12306 抢火车票的思考
查看>>
堆排序
查看>>
Java的热部署(后期完善)
查看>>
我的友情链接
查看>>
响应式微服务 in java 译 Message-Based Microservices<十>
查看>>
流程自动化布局
查看>>
前端构建工具gulp入门教程
查看>>
转载:爱加密40.98%占有率稳居应用加密市场榜首
查看>>
怎么退出 git bash vim编辑器
查看>>
64位Red Hat 6.5 修改yum源
查看>>
Android之人脸识别
查看>>
Codeforces Round #430 (Div. 2)
查看>>
状态模式(State)
查看>>
jQuery的入口函数
查看>>
Java基础班学习笔记(5)
查看>>
mongodb的学习-3-在Mac上的安装配置
查看>>
学习函数调用的约定方式
查看>>
ACM题解系列之二:刘汝佳:《算法竞赛入门经典训练指南》
查看>>
HDU1262 寻找素数对
查看>>
HDU2009 求数列的和
查看>>