【问题标题】:How do I go about converting a ternary (trinary) ER diagram to binary?如何将三元(三元)ER图转换为二进制?
【发布时间】:2012-09-26 11:02:13
【问题描述】:

该图是递归的,具有三个“路线”,从一个实体集“Person”到关系类型“Parent's”(因此关系类型有三行)。

我们得到的问题是把这个三元关系分解成二元关系,假设是三个。

我正在考虑将“人”作为一个实体集,并让子级成为另一个实体集父级的关系类型,每个父级都有一个属性。

有人可以帮帮我吗?

【问题讨论】:

    标签: mysql sql database entity-relationship


    【解决方案1】:

    所以,如果我理解正确的话,每个 Person 都有对 Parent 表的三个外键引用,而您想要对其进行规范化。

    我的方法是将这种关系抽象为一个交叉引用实体 PersonParent。 PersonParent 将具有三个字段:Person 的 ID、Parent 的 ID 和此 Parent 对 Person 的 parent 的“类型”(这最后一点信息隐含在旧模式中三个引用中的每一个的字段中)。一个 Parent 可以对很多人来说是这样,但是一个 Person 只能有 0 到一个有限的 N(可能是 3 个)Parent,方法是指定 PersonID 和 ParentType 的组合为唯一,并指定有效 ParentType 的最大数量。 ParentType 可以是对包含这些类型的实体的引用,或者可以将有效值内置为检查约束(我强烈推荐前者)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-05-16
      • 1970-01-01
      • 2013-08-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-01-09
      • 1970-01-01
      相关资源
      最近更新 更多