【发布时间】:2019-06-19 09:56:24
【问题描述】:
我正在 MySQL 工作台上进行数据建模。
我有三个数据实体:
-
company -
driver car
关系是,一家公司有很多司机,一辆车有两个司机(主司机和副司机)
这是我目前拥有的数据模型(我只在图片中创建了一个driver链接到car):
如上图所示,我将company 与driver 关联为一对多 关系。该工具会按预期在driver 表中自动创建company_id 外键。没问题。
问题在于 driver 和 car 之间的关系。在图片中,我只将car与driver之间的一对一关系联系起来,我希望该工具会创建一个driver_id外键,但该工具会自动创建两个外键:driver_id & driver_company_id。
(如果我为副驾驶从 car 到 driver 创建另一个 一对一 关系,该工具将再次创建两个新的外键,这在图片)
这是为什么呢?为什么该工具除了创建driver_id 外键之外还创建driver_company_id 外键以实现一对一关系?背后的概念是什么?如果现在我手动删除driver_company_id 外键会有什么不同?
【问题讨论】:
标签: mysql foreign-keys mysql-workbench