gpt4 book ai didi

mysql - 一对一关系在 MySQL 工作台数据建模图中创建两个外键

转载 作者:行者123 更新时间:2023-11-30 21:34:58 25 4
gpt4 key购买 nike

我正在 MySQL Workbench 上进行数据建模。

我有三个数据实体:

  1. 公司
  2. 驱动程序
  3. 汽车

关系是,一个公司有很多司机,一辆车有两个司机(主司机和副司机)

这是我到目前为止的数据模型(我只创建了一个 driver 链接到图片中的 car):

enter image description here

如上图所示,我将 company 链接到 driver,具有一对多 关系。该工具按预期自动在 driver 表中创建 company_id 外键。没问题。

问题出在 drivercar 之间的关系上。在图片中,我只链接了从cardriver一对一关系,我希望该工具会创建一个driver_id 外键,但该工具会自动创建两个 外键:driver_id & driver_company_id

(如果我为从 cardriver 的副驾驶创建另一个一对一关系,该工具将再次创建两个新的外键,图中没有标明)

这是为什么呢?为什么该工具除了为一对一关系创建 driver_id 外键外,还创建了 driver_company_id 外键?背后的概念是什么?如果现在我手动删除 driver_company_id 外键会有什么不同?

最佳答案

实心连接器表示 identifying relationship ,这意味着 driver.company_id 必须是复合主键的一部分。

因此,从 cardriver 的外键必须引用一个复合主键,因此它创建了两个列。

如果你想做我认为你想做的事,让两个外键连接器都使用虚线,这表示非识别关系。

关于mysql - 一对一关系在 MySQL 工作台数据建模图中创建两个外键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54367407/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com