【问题标题】:how database relationship work in databases [duplicate]数据库关系如何在数据库中工作[重复]
【发布时间】:2019-09-08 08:46:19
【问题描述】:

我最近作为 .Net 开发人员开始了一份新工作,因为我正在从事的项目需要对关系有深入的了解,例如 1-N、1-1 和 N-N。我已经完全理解了与现实生活示例的 1-1 关系,例如在 TabletsBilling 表中,如果 Billing 表有 TabletId 作为外键,那么它们之间存在1-1关系,但是对于同一张表来说,谈论1-N和N-N关系如何提出现实生活中的例子。我还没有完全理解。

平板电脑

平板电脑 ID 姓名 描述 制作者 有效期

计费

账单 ID 平板电脑 ID F.K 日期

所以从上面的表格结构可以清楚地看出,一张账单只能有一个平板电脑。但如果我想要一张账单可以有多个平板电脑,那么我将如何实现这一目标。

请举例说明 1-N 和 N-N 关系的 TabletsBilling

【问题讨论】:

  • 这是一个常见问题解答。在考虑发布之前,请始终在谷歌上搜索您的错误消息或您的问题/问题/目标的许多清晰、简洁和精确的措辞,有或没有您的特定字符串/名称,并阅读许多答案。如果您发布问题,请使用一个短语作为标题。请参阅How to Ask 和投票箭头鼠标悬停文本。 PS 你在这些概念的任何介绍中看到了哪些例子?

标签: sql database relational-database relationship


【解决方案1】:

在谈论数据库中的关系时,可以通过说明最小和最大链接来更精确。我们通常在数据库中看到的关系是:

  1. 1:1 实现为 {1}:{0,1} 示例:用户有或没有一个地址。因此,每个用户都有 0 到 1 个地址;一个地址属于一个用户。
  2. 1:n 实现为 {1}:{1,n} 示例:用户有一个或多个电话号码或没有电话号码。因此,每个用户有 0 到 n 个电话号码;一个电话号码属于一个用户。
  3. m:n 实现为{0,m}:{0,n} 示例:一个或多个商店或没有商店的产品;一家商店销售一种或多种产品或不销售产品。

以下是我们如何补充这些关系:

  1. 地址表有一个用户 ID,它是表的主键。
  2. 电话表有一个用户 ID。
  3. 有一个连接产品和商店的桥表,由这两列组成:产品 ID 和商店 ID。

在这三个关系中,第一个 (1:1) 很少见。通常我们宁愿将值存储在单个表中。但在地址示例中,我们可以使用它轻松地保证用户要么拥有包含街道、城市和国家/地区的完整地址,要么根本没有。

1:nm:n 关系在数据库中都很常见。

【讨论】:

    猜你喜欢
    • 2020-05-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-09-08
    • 2013-09-04
    • 1970-01-01
    • 1970-01-01
    • 2012-07-10
    相关资源
    最近更新 更多