递归关系可以是二进制吗?

时间:2017-04-27 15:35:15

标签: database entity-relationship

据说递归关系是一元的。但是,有没有二进制递归关系?

1 个答案:

答案 0 :(得分:0)

在某些方法中,人们会计算关系中涉及的不同实体集的数量。在此视图中,单个实体集(例如父/子)上的递归关系称为一元,而两个不同实体集上的关系称为二元。但是,要在两个实体集之间建立循环依赖关系,我们需要两个不同的关系,每个关系都有一个不同的实体集作为行列式。如果从这个角度来看,你正在寻找一个递归的单二元关系,答案是否定的。

然而,当尝试区分同一组中涉及2,3或更多个实体的关系时,这种计算不同实体集的方法会破裂。它也无法有效地描述与多个角色的关系,其中多个但不是全部角色涉及相同的实体集。

更好的方法是按角色数量对关系进行分类。在此视图中,两个角色(例如父/子)中的一个实体集之间的递归关系称为二元关系,并且没有非平凡的递归一元关系。

虽然后一种方法更健全,但仍然存在一些歧义,这些歧义来自实体 - 关系模型本身,例如:如何对涉及关联实体的关系进行分类(即关系关系)。

相关问题