三个实体型之间的多对多联系和两两之间的三个多对多联系的区别

Author Avatar
thychan Mar 14, 2017
  • Read this article on other devices

​ 3 个实体型之间的多对多联系和 3 个实体型两两之间的 3 个多对多联系是不等价,因为它们拥有不同的语义,不同的量级。

  • 三个实体型之间的多对多联系如下图所示

    img

  • 3 个实体型两两之间的三个多对多联系如下图所示

    img

两者不等价,量级和语义不同。前者是一个关系,后者是3个关系;前者的要求更强,要求更为严格,后者的3个关系也无法连接成前者的1个关系。

比如在后者中一个学生可以在一个教室中上自习,而该教室当前没有用于上课。

换句话说,前者的关系要求三个实体同时出现。而后者的3个关系中要求各个关系中涉及的两个实体同时出现,但从总体上看,在某个时刻,可能仅仅出现3个关系中1个或者2个,这与前者就不相同;也可能3个关系均出现,这个时候就与前者等价了。(即:“上课”这个联系的三要素是:“学生”、“教室”和“课程”,三者缺一不可,而“学习”这个联系,只要有“学生”和“教室”即可。)

在物理模型上,两两之间的3个多对多关系(记为后者)存在数据冗余.
从数据一致性的角度看,前者三个实体只存在一个关系,数据间的相关性较高,要求严格,后者三个实体间两两各有一个关系,各关系的的数据相关性很低,在某个时刻,同一个实体允许不同数据的存在(即实体间的关系系和其他关系是独立的)

多个实体集之间的多对多联系定义:在两个以上多个实体集之间,当一个实体集与其它实体集之间均(注意是均)存在多对多联系,而其它实体集之间没有联系时,这种联系才称之为多个实体集之间的多对多联系。