MySQL基数从零到一,从零到多与已识别和未识别的关系

时间:2019-03-28 20:49:53

标签: mysql foreign-keys relationship composite-primary-key cardinality

请您解释一下两者之间的区别

零比一零比多基数

识别不识别

与一些例子的关系?

据我了解,零对一关系是 Bar 实体具有 Foo 的外键但可以将设置为 NULL ,因此在实践中,您可以创建 Bar 并通过其键链接到 Foo ,或将此链接设置为 NULL ,以便有一个 Bar ,但 Bar 中的 Foo 可能根本不存在。 >透视图 Foo的存在或其链接是可选的。

一对一关系是指 Bar Foo 之间的链接不是可选的。因此,如果要创建 Bar 实体,则需要在 Bar 中提供 Foo 的密钥,以创建链接。在实践中,这意味着您需要先创建 Foo ,然后创建 Bar ,因为每个 Bar 必须链接到一个 Foo >。

目的识别/不识别是什么?

如果识别是在没有 Foo 的情况下不存在的。与儿童-父母关系相似。没有父母,孩子就不能存在。但这对我来说非常接近一对一关系。

  1. 您确认吗?

无法识别是指酒吧可以不存在 Foo 的情况。与我一样,零比一

  1. 是真的吗?

我的研究表明,一对一一对一之间的全部差异归结为 Foo 的外键是否可以是否在 Bar 中设置为 NULL 识别未识别是相似的,但问题是 Bar 上的 Foo's 键是否是< strong> Bar的 PRIMARY 键(区分大小写)(不是)(区分大小写)。

因为将键设置为 PRIMARY ,意味着其值是 NOT NULL UNIQUE 。有一种情况无法实现:

零比一零比多识别同时

  1. 您同意吗?

  2. 您能否举一个说明差异的真实示例:

a)一对一识别
b)零对一无法识别
c)一对一无法识别
d)零对一识别

因此,我更好地了解了何时使用(非)识别以及何时(零/一)与(一/多)的关系?对它有一些感觉,但不想坚持我的感觉:)

0 个答案:

没有答案