在数据库设计中或者以后的软考中会遇到一个相对来说有点难度的题。那就是对于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)一名经理手下的一名project师可能參与多个项目
b)一名经理管理的一个项目可能会有多名project师
c)做某一个项目的一名project师仅仅会有一名经理
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。则将联系类型也转换成关系模式,其属性为三端实体类型的键(作为外键)加上联 系类型的属性。而键为三端实体键的组合。