乌鸦的脚 - 一对一而且只有一只

Atr*_*ige 36 data-modeling

有什么区别

一: 一

一个而且只有一个: 唯一的一个

n.p*_*nov 17

在我看来,区别在于:

在此输入图像描述

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

  • 这是一种很好的观察方法。我不知道这是不是真的,但这是一个答案,比我以前所知道的要多。 (2认同)
  • 不幸的是,这个答案是错误的,会误导任何读者。@user3114859 在下面给出的正确答案是这种关系需要两个标记,因此“ONE”标记不存在。如果您想使用确实使用它的鱼尾纹版本,那么下面由 valem 解释的“ONE AND ONLY ONE”至少具有与“ONE”不同的某些值。 (2认同)

val*_*lem 13

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

我会用它作为这里的数学类比:https://math.stackexchange.com/questions/247380/analogy-between-one-and-only-one-and-if-and-only-if

"至多存在一个满足Y的X."

例如,考虑以下关系: 在此输入图像描述

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

Alice可以只有一个登录名(例如a11235),并且该登录名只能分配给Alice.当Alice毕业时,没有其他人可以被分配登录a11235.

  • 我认为这是最好的例子 (3认同)

dos*_*ter 8

根据对鱼尾纹符号差异的另一个问题的回答,它说“一个”“许多”是模棱两可的。

Wikipedia还使用双杠“一位也只有一位”来表示一位艺术家演奏许多歌曲。这与公认的解决方案不符,因为这并不意味着一位艺术家会演奏所有歌曲,例如亚瑟王如何居住在所有宫殿中。它也与valem的解决方案不匹配,因为艺术家与一首歌没有联系,可以重新分配给另一首歌。

我的结论是,“许多”可以表示“零或许多”“一个或许多”,因为它在目的上是模棱两可的。您将其保留为未指定状态,因为此时您不知道或不在乎。类似地,“一个”可以表示“零或一个”“一个或仅一个”。看看这两种表示法是如何具体地只是将下限指定为0或1。

总而言之,

  • 如果可以是0或1,请使用“零或一”{0, 1}
  • 如果可以的话,请使用“一个且只有一个”{1}
  • 采用“一”,如果它可以是“零或一”“一个且只有一个”{0, 1} ? {1}

如果你仔细想想,“一” === “零或一”,因为{0, 1}是的超集{1}{0, 1} ? {1} === {0, 1}

我认为这种表示法的设计只是为了与“许多”表示法平行。另外,只是为了明确地说您对下限是不确定的。

  • 这应该是接受的答案,接受的答案是不正确的。 (2认同)
  • @CameronHudson我已经在我的答案中提到了“零或一”以及为什么我认为它与“一”相同。 (2认同)
  • @CameronHudson是的,我同意这有点多余,我可能是不正确的,但我认为这是解释它或至少对自己撒谎的最好方法。我认为它与编程时输入的可选字符或语法糖相同。尽管有很多多余的方法可以做同样的事情,但如果您认为这有助于阅读,您可以省略一些字符。另一方面,如果你是明确的而不是隐含的,它可能会更容易阅读。最后,它只是一个工具,所以只要您的团队同意约定并且您事先将其记录下来,这并不重要。 (2认同)

小智 7

剂量是正确的

为了明确表示,请始终使用两个符号:

  1. 最靠近桌子的那个

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

    • 这是模态(又称普通模态)
    • 它表示最小值可以是零还是一(环或线)

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