E-R图转化为关系模型

时间:2024-04-01 11:09:55

一、实体集的转换规则

一个实体集转换为关系模型中的一个关系,实体的属性就是关系的属性,实体的码就是关系的码,关系的结构是关系模式。

 

关系、关系模式等名词的解释

 

二、实体集间联系的转换规则

1、1:1联系的转换方法

                                                   E-R图转化为关系模型

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

       联系形成的关系独立存在:    

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

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

       负责(职工号,产品号)

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

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

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

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

 

       也可以“负责”与“产品”两关系合并:

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

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

三、1:n联系的转换方法

                                                          E-R图转化为关系模型

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

          联系形成的关系独立存在:

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

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

          仓储(产品号,仓库号,数量)


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

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

          产品(产品号,产品名,价格,仓库号,数量)

 

四、m:n联系的转换方法

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

                                                            E-R图转化为关系模型

          转换的关系模型为:

          学生(学号,姓名,年龄,性别)

          课程(课程号,课程名,学时数)

          选修(学号,课程号,成绩)

五、三个或三个以上实体集间的多元联系的转换方法

(1)对于一对多的联系,转换为关系模型的方法是修改n端实体集对应的关系,即将与联系相关的其他1端实体集的码和联系自身的属性作为新属性加入到n端实体集中。
 

                                                                  E-R图转化为关系模型

课程实体的属性有:课程号,课程名,学分,学时;

教师实体的属性有:教师号,教师名,性别,职称,出生日期;

参考书实体的属性有:书号,书名,出版社,主编;

 

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

教师(教师号,教师名,性别,职称,出生日期,课程号)

参考书(书号,书名,出版社,主编,课程号)

 

 

(2)对于多对多的联系,转换为关系模型的方法是新建一个独立的关系,该关系的属性为多元联系相连的各实体的码以及联系本身的属性,码为各实体码的组合。

 

                                          E-R图转化为关系模型

供应商(供应商号,供应商名,地址)

零件(零件号,零件名,单价)

产品(产品号,产品名,型号)

供应(供应商号,零件号,产品号,数量)