三元和二元ER关系

时间:2016-01-25 11:41:34

标签: database entity-relationship

我无法理解像这样的三元关系之间的区别:

enter image description here

和这样的多个二元关系(如果这是正确的): enter image description here

从我一直在阅读的内容来看,我认为必须采用约束措施?如果有人能够清楚地向我解释这一点,我将非常感激。

1 个答案:

答案 0 :(得分:1)

三元关系是3个元素之间的单一关系,例如:

enrollment (student PK, subject PK, teacher PK)

在这种情况下,注册特定科目的学生必须在教授该科目的老师处注册。教师可以教授多个科目,而科目可以由多位教师授课,所以我们不能从另一位教师那里学到。

对这种情况建模的另一种方法可能是定义类。每个班级属于特定科目和教师,用于招收学生,例如:

class_teacher (class PK, teacher)
class_subject (class PK, subject)
class_student (class PK, student PK)
因此,三元关系已被分解为3个二元关系。这并不等同于上面的注册关系 - 以前我们无法在不包括学生的情况下将主题与教师联系起来。

在某些情况下,分解这样的关系可能很有用,在其他情况下则不然。作为数据建模者,您可以自行决定如何最好地描述情况。