数据库系统原理——ER图转换成关系模式集的算法

        上一篇博文提到了ER模型和关系模型,现在就来谈一下两者之间是怎么转换的。

ER图到关系模式集的转换

二元联系类型的转换为例

  1. (实体类型的转换):将每个实体类型转换成一个关系模式,实体的属性即为关系模式的属性,实体标识符即为关系模式的键。
  2. (联系类型的转换):
    1. 若实体间联系是1:1,可以在两个实体类型转换成的两个关系模式中任意一个关系模式的属性中加入另一个关系模式的键(作为外键)和联系类型的属性。
    2. 若实体间联系是1:N,则在N端实体类型转换成的关系模式中加入1端实体类型的键(作为外键)和联系类型的属性。
    3. 若实体间联系是M:N,则将联系类型也转换成关系模式,其属性为两端实体类型的键(作为外键)加上联系类型的属性,而键为两端实体键的组合。

实例:教学管理的ER图转换成关系模式集

教学管理的ER

数据库系统原理——ER图转换成关系模式集的算法_第1张图片

第一步:把三个实体类型转换成三个模式:

系(系编号,系名,电话)

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

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

第二步:

  1. 对于1:1联系“主管”,可以再“系”模式中加入教工号(教工号为外键,用波浪线表示);
  2. 对于1:N联系“聘用”,可以再“教师”模式中加入系编号和聘期两个属性(系编号为外键);
  3. 对于1:N联系“开设”,可以再“课程”模式中加入系编号(系编号为外键)

这样得到的三个模式成如下形式:

第三步:对于M:N联系“任教”,则生成一个新的关系模式:

       

第四步:整合后关系模式如下:

        数据库系统原理——ER图转换成关系模式集的算法_第2张图片

 

 

 

 

你可能感兴趣的:(数据库,自考)