E-R图向关系模式的转换需要考虑的是:
将实体和实体间的联系均转换为关系模式。
故关系模式的转换需要:
1:实体的转换
2:联系的转换
其中两个实体间的二元联系的类型有三种:
即: 1:1型,1:n型,m:n型
其中三个实体间的三元联系的类型有四种:
即:1:1:1型和1:1:N型和1:M:N型和M:N:P型。
实体转换为关系模式很简单。
一个实体对应一个关系模型,实体的名称即是关系模型的名称,实体的属性就是关系模型的属性, 实体的码就是关系模型的码。
注意:
1:属性域的问题。
2:非原子属性的问题。E-R图中允许非原子属性。
方法一:
(故最终采用方法一进行关系模式转换的最终结果是 :
需要对实体进行关系模式的转换和联系关系模式的转换)
方法二:
(故采用方法二的关系模式转换的最终结果是 :
不必写出联系的转换,联系的转换结果已加在实体的转换结果中)
方法一:
(采用方法一的关系模式转换的转换结果是:
需要对实体进行关系模式的转换和联系关系模式的转换)
方法二:
(故采用方法二的关系模式转换的最终结果是 :
不必写出联系的转换,联系的转换结果已加在n端实体的转换结果中)
m:n型的联系的关系模式的转换不能省略。
故m:n型需要且必须只能写成: 实体的转换+关系的转换。
方法:
(故m:n型关系模式转换的最终结果是 :
要写出实体的转换和关系的转换)
1:对于1:1型和1:n型的转换:
一般都是采用方法二进行转换。
2:对于m:n型的 联系 的转换只有一种方法。
即需要: 实体的转换+联系的转换(产生3个关系模式)
(两大步骤:先所有实体的转换,后所有联系的转换)
1:(先所有实体的转换)
先将E-R图中所有出现的实体进行实体转换。结果即:
①系(系编号,系名,电话)
②教师(教工号,姓名,性别,职称)
③课程(课程号,课程名,学分)
2:(后所有联系的转换)(1:1和1:N的联系转换结果加入实体转换)
根据E-R图中出现的关系类型对所有的关系类型进行转换(依据上面第三大部分的规则进行关系类型的转换)
对于1:1联系“主管”,可以在“系”模式中加入教工号(教工号为外键)
对于1:N联系“聘用”,可以在“教师”模式中加入系编号属性(系编号为外键)
对于1:N联系“开设”,可以在“课程”模式中加入系编号属性(系编号为外键)
①系(系编号,系名,电话,教工号)
②教师(教工号,姓名,性别,职称,系编号,聘期)
对于M:N联系“任教”,则生成一个新的关系模式:(即M;N联系的关系模式单独拎出来)
①任教(教工号,课程号,教材)
(4)这样,转换成的四个关系模式如下:(转换的最终结果如下:)
①系(系编号,系名,电话,教工号)
②教师(教工号,姓名,性别,职称,系编号)
③课程(课程号,课程名,学分,系编号)
④任教(教工号,课程号,教材)
三个实体间三元关系模式的转换思想和二元关系模式的转换类似。
具体可参考链接: 三元关系模式
The End!!创作不易,欢迎点赞/评论!!欢迎关注个人公众号