数据库技术与应用新概念教程(第二版)
上QQ阅读APP看书,第一时间看更新

1.2.3 E-R模型到关系模型的转换

E-R模型是最常用的概念模型,它是对现实世界的提炼与抽象,抽象出的E-R模型后的一个重要工作就是将E-R模型转换成关系模型,即将E-R模型中的实体、实体属性和实体间的联系转换为一组关系模式的集合,在转换中需遵循一定的原则和方法。

1.一个实体转换为一个关系模式

实体的名就是关系的名,实体的属性就是关系的属性,实体的主码就是关系的主键。

【任务1-7】 将图1-6所示的实体“学生”转换为关系模式。

操作步骤:

学生(学号,姓名,性别,出生年月,专业)

2.实体之间联系的转换

1)1∶1的联系转换

一个1∶1的联系可以转换为一个独立的关系模式,也可以与其联系的任一个实体合并为一个关系模式。

【任务1-8】 根据任务2将其E-R图转换为关系模式。

操作步骤:

(1)实体的关系模式:

父亲(身份证号,姓名,工作单位,联系方式)

儿子(身份证号,姓名,学籍编号,所在学校)

(2)关系的转换方法一:将联系转换为一个独立的关系模式。与该联系相连的各实体的主键及联系本身的属性转换为关系的属性,每个实体的主键均可作为该关系的候选键。

父子(父亲身份证号,儿子身份证号,住址)或

父子(父亲身份证号,儿子身份证号,住址)

(3)关系的转换方法二:与任意一端对应的关系模式合并。在关系模式的属性中加入另一个关系模式的主键和联系本身的属性,关系模式的主键为原关系模式的主键。

父亲(父亲身份证号,姓名,工作单位,联系方式,儿子身份证号,住址)或

儿子(儿子身份证号,姓名,学籍编号,所在学校,父亲身份证号,住址)

2)1∶n的联系转换

一个1∶n联系可以转换为一个独立的关系模式,也可以与其n方对应的关系模式合并为一个关系模式。

【任务1-9】 根据任务3将其E-R图转换为关系模式。

操作步骤:

(1)实体的关系模式:

班级(班号,班导师,联系方式)

学生(学号,姓名,性别,出生年月,专业)

(2)关系的转换方法一:将1∶n联系转换为一个独立的关系模式。与该联系相连的各实体的主键及联系本身的属性转换为关系的属性,其主键为n端实体的主键。

包含(学号,班号,班导师)

(3)关系的转换方法二:与n端对应的关系模式合并。将1端实体主键与联系本身的属性纳入n端实体对应的关系模式中,其主键为n端实体的主键。

学生(学号,姓名,性别,出生年月,专业,班号,班长)

3)m∶n的联系转换

一个m∶n联系只能转换为一个独立的关系模式。其方法是将联系转换成一个独立的关系模式,其属性为联系双方实体的主键加上联系的属性,该关系模式的主键为双方主键的组合。

【任务1-10】 根据任务4将其E-R图转换为关系模式。

操作步骤:

(1)实体“学生”和“课程”的关系模式:

学生(学号,姓名,性别,出生年月,专业)

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

(2)联系“选修”的关系模式为:

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

4)3个或以上实体间的多元联系转换

3个或以上实体间的多元联系只能转换为一个独立的关系模式,关系的属性是与该多元联系相连的各实体主键及联系本身的属性组成,关系模式的主键为各实体主键的集合。

【任务1-11】 根据任务5将其E-R图转换为关系模式。

操作步骤:

(1)3个实体的关系模式:

教师(教师编号,姓名,性别,职称)

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

参考书(书号,书名,作者,出版社)

(2)联系的关系模式:

讲授(课程号教师编号书号,课时,章节)

5)同一实体型内部实体间联系的转换

同一实体型内部各实体间联系的转换,只需在原实体对应的关系模式中增加一个与联系有关的属性即可。

实体内部的转换只需在原实体对应的关系模式中增加一个与联系有关的属性即可。

【任务1-12】 根据任务6将其E-R图转换为关系模式。

操作步骤:

(1)实体的关系模式:

职工(工号,姓名,性别,工种)

(2)联系的关系模式:

职工(工号,姓名,性别,工种,职务,任期)