【问题标题】:Ternary relationship or 3 binary relationship?三元关系还是三元关系?
【发布时间】:2017-01-08 07:28:47
【问题描述】:

为什么三元关系表示三元关系表示更通用?

【问题讨论】:

  • 一般来说,3个二元关系并不等同于一个三元关系。
  • 这是作业吗?
  • 这样想 - 3D 空间是否等同于三个 2D 平面?你能用 3 张纸做一个立体立方体吗?正面、侧面和自上而下的照片是否比 3D 模型更能代表物体?

标签: database database-design entity-relationship


【解决方案1】:

因为有 3 个二元关系,每个相关实体都与其他两个实体分别相关。

假设只有当你有一个多对多对多关系时才本质上三元关系(否则你可以重写它添加一个与二元关系链接的关系实体到其他三个),让我们举个例子:

假设您有实体 A、B 和 C,以及“像三角形”一样链接实体的三个关系。现在,假设元组集合 a1 与集合 b1 和 c1 相关。使用 3 个二元关系,不要求 b1 和 c1 相关。例如,b1 可以与 c2 相关,可以部分重叠 c1 或完全分离。

如果是三元关系,b1 必须与 c1 相关。

所以你可以看到,通过 3 个二元关系,你可以有更多的组合。

【讨论】:

    【解决方案2】:

    一般来说,定义关系的属性,例如基数(例如,仅在集合的对象上可以参与关系或多个关系)和整体性/部分性(集合的所有对象必须 参与/可以参与关系)。

    因此,将这两个属性限制为具有两种可能性,在三元关系中,一个属性具有 12 种可能的属性值组合(基数为 3 x 2,整体为 3 x 2)。

    如果用 3 个二元关系来表示三元关系,则关系的每个端点(有六个)有 4 种可能性(单个或多个,tutal 或 partial),所以总共可以有 24可能的组合,这是一些可能的规范,这是三元关系的两倍。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-04-07
      • 2012-05-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多