如何把

ER

模型转换为关系模型

这是数据库工程设计进行到逻辑设计的一重大环节,

简单的说,

如果概念设计是

ER

模型,

整合为全局的

ER

模型,

那么在逻辑设计这块,

主要任务就是把

ER

模型转换为关系模型。转换只需知道三个转换准则

:1:1

遇到

1:1

关系的话在两个实体任选一个添加另一个实体的主键即可。

1:N

1:N

遇到

1:N

关系的话在

N

端添加另一端的主键,

假如有学生和班级两个实

体,

一个班级可以容纳多个学生,

但是一个学生只能选择一个班级,

因此班级

和学生是

1:N

的关系,

现在要转换为关系模型,

我们只需在学生的这端加上班

级的唯一标识即可,

这样做的原因是,

因为一个学生只能有一个班级,

班级是相

对学生唯一的。

N:M

遇到

N:M

我们需要将联系转换为实体,然后在该实体上加上另外两个实体的主

键,

作为联系实体的主键,

然后再加上该联系自身带的属性即可。

例如有学生和

老师两个实体,

一个学生可以由多名老师来授课,

一名老师也可以授课多名学

生,它们是

M:N

关系的,假如联系为授课,该联系上有成绩属性,因此当我们把

它转换为关系模型时,

我们把联系转换为联系实体,

并添加学生实体的主键

(学

号)和教师实体的主键(教师编号)作为自己的主键,值得注意的是,授课实体

的外键分别是学号和教师编号,但是它的主键是(学号,教师编号),另外它还

拥有自己的一个属性成绩。

1:1:N

这是三元联系的对应关系,

但是当转换为关系模型时,

1:N

的情况是差不多的。

我们只需将

N

端添加另外两端的主键即可。

M:N:P

这种三元联系的三种多对应关系,

看上去很复杂,

其实转换起来并不是那么复杂

了,我们要做的仅仅是将其中的联系转换为联系实体,然后在联系实体上添加

M

N

P

端的主键,然后加上联系实体自身的属性,就行了。例子:

说了这么多看个小例子。

Logo

欢迎加入 MCP 技术社区!与志同道合者携手前行,一同解锁 MCP 技术的无限可能!

更多推荐