答案 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个二元关系。这并不等同于上面的注册关系 - 以前我们无法在不包括学生的情况下将主题与教师联系起来。
在某些情况下,分解这样的关系可能很有用,在其他情况下则不然。作为数据建模者,您可以自行决定如何最好地描述情况。