三元联系简介
在数据库设计中或者以后的软考中会遇到一个相对来说有点难度的题,那就是对于ER图中三元联系如何确定的问题,因此在这做一个简单的介绍: 一、确定关系 三元联系无非就是四中情况而已:(1:1:1);(1:1:N);(1:M:N);(M:N:P)。下面对这几种情况分别作
在数据库设计中或者以后的软考中会遇到一个相对来说有点难度的题,那就是对于ER图中三元联系如何确定的问题,因此在这做一个简单的介绍:
一、确定关系
三元联系无非就是四中情况而已:(1:1:1);(1:1:N);(1:M:N);(M:N:P)。下面对这几种情况分别作一 个简单的介绍,请看下例:
1)第一种情况(1:1:1):
解释如下:
a) 一名技术员对于每一个项目使用一本手册
b) 每一本手册对于每一个项目属于一名技术员
c) 一名技术员可能在做多个项目,对于不同的项目维护不同的手册
2)第二种情况(1:1:N):
解释如下:
a)每一个员工在一个地点只能被分配一个项目,但可以在不同地点做不同的项目
b)在一个特定的地点,一个员工只能做一个项目
c)在一个特定的地点,一个项目可以由多个员工来做
3)第三种情况(1:M:N):
解释如下:
a)一名经理手下的一名工程师可能参与多个项目
b)一名经理管理的一个项目可能会有多名工程师
c)做某一个项目的一名工程师只会有一名经理
4)第四种情况(M:N:P):
解释如下:
a) 一名员工在一个项目中可以使用多种技能
b) 一名员工的一种技能可以在多个项目中使用
c) 一种技能在一个项目中可以被多名员工使用
二、三元联系类型的转换
当然除了确定其关系外,还有一点就是如何将上面的ER模型关系转换成关系表的形式,方法如下:
(1)、若实体间联系是1:1:1,可以在三个实体类型转换成的三个关系模式中任意一个关系模式的属性中加入另两 个关系模式的键(作为外键)和联系类型的属性。
(2)、若实体间联系是1:1:N,则在N端实体类型转换成的关系模式中加入两个1端实体类型的键(作为外键)和联 系类型的属性。
(3)、若实体间联系是1:M:N,则将联系类型也转换成关系模式,其属性为M端和N端实体类型的键(作为外键) 加上联系类型的属性,而键为M端和N端实体键的组合。
(4)、若实体间联系是M:N:P,则将联系类型也转换成关系模式,其属性为三端实体类型的键(作为外键)加上联 系类型的属性,而键为三端实体键的组合。