欢迎各界计算机爱好者加入,弘扬极客精神!

试述E-R模型向关系模型的转换原则。

0 喜欢 0 不喜欢
问题关闭原因: enough answers
最新提问 9月 11, 2016 分类:数据库 | 用户: calmjoy (538 分)  
已关闭 12月 9, 2016 用户:Re

14 个回答

0 喜欢 0 不喜欢
最新回答 9月 11, 2016 用户: dav (1,796 分)  
0 喜欢 0 不喜欢
将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)具有相同码的关系模式可合并。
最新回答 9月 11, 2016 用户: xkes❤Room (2,000 分)  
1 喜欢 0 不喜欢
最新回答 9月 12, 2016 用户: paranoid (1,638 分)  
3 喜欢 0 不喜欢
最新回答 9月 12, 2016 用户: Alan (4,272 分)  
0 喜欢 0 不喜欢
实体类型的转换将每个实体类型转换成一个关系模式,实体的属性即为关系的属性,实体标识符即为关系的键;联系类型的转换,实体间的联系是1:1的可以在两个实体类型转换成两个关系模式中的任意一个关系模式的属性中加入另一个关系模式的键和联系类型的属性,实体间的联系是1:N的,在N端实体类型转换成的关系模式中加入1端实体类型转换成的关系模式的键和联系类型的属性,实体间的联系是M:N的,将联系类型也转换成关系模式,其属性为两端实体类型的键加上联系类型的属性,而键为两端实体键的组合。
最新回答 9月 12, 2016 用户: shenme (3,438 分)  
0 喜欢 0 不喜欢
最新回答 9月 12, 2016 用户: Megan (3,616 分)  
0 喜欢 0 不喜欢

根据范式来转换就行了,遵守123范式就木有问题

 

 

最新回答 9月 12, 2016 用户: Parsifal (1,714 分)  
0 喜欢 0 不喜欢
最新回答 9月 18, 2016 用户: Stardust (1,862 分)  
0 喜欢 0 不喜欢
最新回答 9月 19, 2016 用户: erg先生 (1,890 分)  
0 喜欢 0 不喜欢
最新回答 9月 19, 2016 用户: Administrator (3,392 分)  
...