SQL DB 方案建模:具有两个不同类型车主的车辆

SQL DB scheme modeling: Vehicle with two different type owners

我正在建模 MySQL 数据库并开始挣扎。

情况:关于它的所有参数有vehicle table。有 person table 的人员信息。还有 firm table 和公司信息。每个人和每个公司都可以拥有 0..* 辆车。每辆车可以有 0..1 个车主。车主一次只能是一个人或公司。

所以我打算使用 vehicleid 查询以获取有关车主的信息。因为在不同的 tables 有两种所有者,我该怎么办?向车辆 table 添加列,其中说明所有者是哪种类型?

当然,我打算创建额外的关系 table。但是我不知道如何处理问题然后外键可以引用两个不同的 table 并且只能引用一行。

感谢您的建议。

我建议您像您所说的那样拥有第三列,为每种情况指出正确的所有者类型,或者您可以让个人 ID 或公司 ID 以 X 值开头,例如公司以 F 开头,然后是实际 ID,F0001。然后您可以使用 LIKE 'F%' 进行查询,这将带来所有以 F 开头的值。对此持保留态度,我还有很多东西要学。