【问题标题】:Can a relationship have a unique attribute? E-R Diagram E-R model关系可以具有独特的属性吗? E-R 图 E-R 模型
【发布时间】:2019-03-15 22:02:43
【问题描述】:

在 E-R 图中,关系可以有自己独特的属性吗?例如:

实体A-----[关系]-----实体B 例如:关系有一个带下划线的属性(也就是它自己的唯一属性)以及关系中实体的键以形成它自己的键?

例如,实体 A 具有键 A,实体 B 具有键 B,关系具有键 C,并且实体 A 和实体 B 之间具有多对多关系,因此架构 = R(A,B,C) 与主键 A、B 和 C?

【问题讨论】:

  • 没有一种 ER 方法。您的教科书名称和版本是什么?你的教科书对此有什么看法?怎么不清楚?特别是:True/Chen EF 在 ERD 中使用菱形表示关系/关联,而线是参与/FK。而在伪 ER 中,每个框都是同时的,一个实体和关联和线条可能是“关系”,这意味着 FK 可能是关系/关联,或者可能为关系/关联提供基数,这些关系/关联是显示或暗示的 投影那些。例如,查看 ER 维基百科页面以查看(部分明确解决的)概念/符号混乱。

标签: database database-design


【解决方案1】:

简短的回答是肯定的,拥有与关系相关联的属性并对这些属性进行唯一性约束是合理的。但是,ER 建模技术、符号和约定有多种类型,它们之间在如何建模这种情况方面存在差异。

您将此问题标记为数据库设计。并非所有 ER 模型都旨在成为数据库设计,但如果您正在设计数据库,那么您预期数据库的底层数据模型将是相关的。例如,在关系数据库中,实体和关系都以相同的方式实现:作为关系。因此,对于关系数据库,您不一定需要区分实体的属性和关系的属性,因为它们都将成为关系模式(即表)的属性。在决定如何在图表中表示事物时,您可以考虑这一点。

【讨论】:

  • 感谢大家抽出宝贵的时间来回答这个问题。如果我可以补充这个问题,这特别是在谈论一个 E-R 图,它后来会变成一个关系模式。因此,关系本身就是一个元组,形式为 R(A,B,C,D),其主键由参与实体的主键组成(考虑到它是多对多关系),以及由它自己的唯一属性(ER图中带下划线的属性)组成,作为该主键的一部分添加。在这种情况下有可能吗?或者这是错的?
  • 一个键必须是不可约唯一的,这意味着如果一个属性是唯一的,那么它本身就是一个键 - 它不能是另一个键的一部分。根据您的描述,R 似乎有两个键:{A,B,C,D} 和 {Z},其中 Z 是“自己的唯一属性”。您可以选择其中任何一个作为主键。
  • 我明白了,谢谢。还有一个需要澄清的问题:实体集是否可以引用关系,这意味着在关系模式中,实体集将是它自己的元组,其主键由它的键和它从引用关系中获得的键组成,或者这不可能吗?
  • 可能,是的,因为关系只是关系中的属性。元组基本上是关系模式/表中的“行”。设计通常都是关于模式,而不是元组。
  • 我明白了。因此,为了让实体引用关系,它会是从实体到 E-R 模型中关系的多对一箭头吗?
【解决方案2】:

是的,以发票和项目之间存在多对多关系为例,我喜欢将日期时间作为关系中的属性,这必须是关系主键的一部分。因此,当我们为 E_R 图建模时,我们会在属性日期或发票日期下划线

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-04-03
    • 2015-10-10
    • 2022-12-04
    • 2021-07-06
    • 2013-04-25
    • 2013-03-13
    • 1970-01-01
    相关资源
    最近更新 更多