前言序锦:
今天复习数据库原理的过程中,复习到数据库原理中的多元联系类型的确定和转换,一时间有点懵逼了,看书上就举例了一道(联系有描述属性的1:M:N的类型转换),然后我的问题就来了:(对于没有描述属性的三元联系1:M:N我们该如何进行类型转换呢?转换后的关系类型又是怎样的呢?)老师上课也基本都是提了一下,然后就带过了,一时间很苦恼,不知如何是好,这才有网上大淘沙地搜索学习了一番,这有知道了知其一二,在这里与大家一起分享一下多元联系中的三元联系……
正文:
一、联系类型的确定(三元联系)
四种联系类型:
1,1:1:1
2,1:1:N
3,1:M:N
4,M:N:P
(1),1:1:1联系
联系解析:
- 一名技术人员对于一个项目使用一本手册
- 每一本手册在每一个项目中由一个技术人员使用
- 在一个项目中一名技术人员只能使用一本手册
(2),1:1:N联系
联系解析:
- 一个项目只能在一个特定的地点被执行,并能分配到多名员工来完成
- 在一个特定的地点,一个员工只能做一个项目
- 在一个特定的地点,一个项目能由多名员工来完成
(3),1:M:N联系
联系解析:
- 一名经理管理的一名工程师能参与多个项目
- 一名经理管理的一个项目中有多名工程师参与
- 在做某一个项目的一名工程师只能有一名经理
(4),M:N:P联系
联系解析:
- 一名员工在参与的一个项目中能够使用多项技能
- 一名员工的一项技能能在多个项目中使用
- 一项技能在一个项目中能被多个员工使用
(5),总结
总结:解析都是从每一个实体的角度出发,看向另外两个实体,根据联系的类型关系来进行解析的,当业务流程解析清楚了,概念设计以及E-R图以及数据库表设计也就很清晰的呈现出来了!
二、联系类型的转换(三元联系)
确定了其关系外,另一点就是如何将上面得到的ER模型关系转换为关系表的形式。
1:1:1联系转换
若实体之间的联系为1:1:1。能够在三个实体类型转换成的三个关系模式中任意一个关系模式的属性中正价另外两个关系模式的主键(作为外键)和联系类型的属性。
1:1:N联系的转换
若实体间的联系为1:1:N。则在N端实体类型转换成的关系模式中增减两个1端实体类型的主键(作为外键)和联系类型的属性。
1:M:N联系的转换
若实体间联系为1:M:N。则将联系类型也转换成关系模式,(其属性为M端和N端实体类型的主键(作为外键)加上联系类型的属性。)而主键为M端和N端实体主键的组合。
M:N:P联系的转换
若实体间的联系为M:N:P。则将联系类型也转换成关系模式,其属性为三端实体类型的主键(作为外键)加上联系类型的属性。而主键为三端实体的主键的组合。
————————————————————————
课后习题2:
课后小练习,等你来解决哟^-^,有想通的盆友们可以将你们的答案留言,我们一起学习!(目前我暂时还木有想通这个问题,打算周三上课问一下老师,你是怎么想的呢?)
问题如图所示: