【问题标题】:Crow's Feet - One vs One And Only One鱼尾纹 - 一对一且只有一个
【发布时间】:2016-02-20 06:30:08
【问题描述】:

有什么区别

一个:

只有一个:

【问题讨论】:

  • 我找不到任何允许上述“ONE”的乌鸦脚文档,而且我从未在数据库图中遇到过它。据我所知,乌鸦脚符号总是有两部分 - 一个(| 或 O)标记强制或可选,第二个(| 或分支)表示单数或多基数。

标签: data-modeling


【解决方案1】:
  1. 当您完全确定这是一个单一的关系时,请使用“唯一的一个”。您完成的图表应该有这个符号,因为它更具体。
  2. 如果您知道自己想要某种单一的关系,但还不能完全确定是哪种关系,请使用“一个”表示法。也许您正在 ERD 中构思一个想法,并且您非常确信它是某种“一”关系,但是在您知道它是“零还是一”或“一且唯一”之前,您需要解决一些问题一个”或“一个或多个”关系。在这种情况下,只需输入单数“一”符号,然后再计算出您的确切最小值和最大值。

【讨论】:

    【解决方案2】:

    我认为“一个”和“一个(并且只有一个)”关系之间的一个(并且唯一一个)区别是独一无二的。

    不可转让的机票 PNR 签发给,比如说,“Alice(并且只有 Alice)”,并且不可转让给任何其他人 但 电影票 ID 发给(并由其随时持有)“一个”人,但可以在进入电影院之前转让/出售给另一个人。

    【讨论】:

      【解决方案3】:

      dosenmatter 是正确的

      要具体使用符号,请始终使用两个符号:

      1. 离桌子最近的那个

        • 这是基数
        • 它表示是否可以有一个或多个(线或鱼尾纹)
      2. 另一个

        • 这是模态(又名序数)
        • 它表示最小值可以是零还是一(环或线)

      如果只有一行,这仅意味着我们不知道是否可能存在“零或一”或“一且只有一”。

      【讨论】:

      • 这是我在 WGU 的老师在准备考试时给我的答案。
      【解决方案4】:

      根据this answer to another question about differences in crow's feet notation,它说 "one""many" 是模棱两可的。

      Wikipedia 也使用双栏,“one and only one” 表示一位艺术家表演多首歌曲。这与the accepted solution 不匹配,因为这并不意味着一位艺术家演奏所有歌曲,就像亚瑟王居住在所有宫殿中一样。它也与valem's solution 不匹配,因为艺术家与一首歌曲无关,可以重新分配给其他歌曲。

      我的结论是,“many” 可以表示 “零或多个”“一个或多个”,因为它在目的。您未指定它,因为您此时不知道或不在乎。类似地,“一”可以表示“零或一”“一或仅一”。看看这两种表示法的具体情况,只是将下限指定为 0 或 1。

      总之,

      • 如果可以是 0 或 1,请使用 “零或一”{0, 1}
      • 如果可以为 1,则使用 "one and only one"{1}
      • 如果可以是“零或一”“只有一个”,则使用“一”{0, 1} ∪ {1}

      如果您考虑一下,“一” === “零或一” 因为{0, 1}{1}{0, 1} ∪ {1} === {0, 1} 的超集。

      我认为这样设计的符号只是为了与 “many” 符号平行。另外,只是为了明确地说您对下限没有具体说明。

      【讨论】:

      • 这不只是意味着“零或一”与“一”相同,因为在这两种情况下,它可以是零或可以是一?
      • 是的,这就是我在倒数第二段中提到的。在最后一段中,我猜测了为什么会这样。
      • 这应该是接受的答案,接受的不正确。
      • @CameronHudson 我已经在回答中提到了“零或一”,以及为什么我认为它与“一”相同。
      • @CameronHudson 是的,我同意这有点多余,我可能不正确,但我认为这是解释它的最佳方式,或者至少是对自己撒谎。我认为它与编程时键入的可选字符或语法糖相同。即使有多余的方法来做同样的事情,如果你认为它有助于阅读,你可能会省略一些字符。另一方面,如果你是明确的而不是隐含的,它可能更容易阅读。最后,它只是一个工具,所以只要您的团队同意约定并事先记录下来,这并不重要。
      【解决方案5】:

      我认为n.piskunov 是在正确的轨道上。

      我会将其用作此处找到的数学类比:https://math.stackexchange.com/questions/247380/analogy-between-one-and-only-one-and-if-and-only-if

      “最多存在一个这样的 X 满足 Y。”

      例如,考虑以下关系:

      一个学生,爱丽丝,一次只能有一个宿舍。宿舍一次只能容纳一个学生(为了这个例子)。明年,爱丽丝将被分配一个新的宿舍,届时她今年的宿舍将被分配给一个新学生。

      Alice 只能有一个登录名(例如 a11235),并且该登录名只能分配给 Alice。爱丽丝毕业后,其他任何人都不能分配登录名 a11235。

      【讨论】:

      • 我认为这是最好的例子
      • 我同意这是最好的例子。是否有人说“它应该始终写成两行”并不重要,因为根据 valem 和 Gerry 的定义,它实际上为模型增加了价值。
      【解决方案6】:

      在我看来,区别在于:

      • 红色实体(王宫)与单身居民 - 亚瑟王子有关。除了亚瑟,没有其他居民可以住在宫殿里。但关系类型仍然是多对一(多宫对单人)
      • 但是,任何居民都可以拥有一匹马。同样,关系是多对一的(许多马到特定的居民),但表现不同。 (骑士也可以拥有一匹马)。

      【讨论】:

      • 这是看待它的好方法。不知道是不是真的,但是是一个答案,比我之前的答案还要多。
      • 我也不是 100% 确定这一点,因为我找不到任何关于我的想法的证据,但我无法找到更好的解释
      • 不幸的是,这个答案是错误的,会误导任何读者。 @user3114859 给出的正确答案是该关系需要两个标记,因此不存在“ONE”标记。如果您想使用确实使用它的 Crow's Foot 版本,那么下面 valem 解释的“ONE AND ONLY ONE”至少具有与“ONE”不同的一些价值。
      • 正如@JayDaley 所说,这是错误的且具有误导性。 thisthis 都回答了它:--|- 是(故意模棱两可的)基本情况,--o-|---|-|- 都是 --|- 的两个明确的特定子情况(前者允许 @ 987654329@ 实例和后者允许 strictly one)
      【解决方案7】:

      One and Only One 用于基数。我不认为 One 可以单独用于乌鸦脚的基数。 Source

      【讨论】:

      • 但 One 的意思完全一样。如果 FK 可能为空,那么它将是零或一,而不是一。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-10-21
      • 1970-01-01
      • 1970-01-01
      • 2020-08-09
      • 2010-09-26
      相关资源
      最近更新 更多