【发布时间】:2016-07-21 02:43:37
【问题描述】:
以下情况的正确设计是什么:
我的人 (t_people) 有电话号码 (t_numbers)。
看起来像与数字表中的外键的简单一对多关系。 EER diagram 1
但不仅人可以有电话号码 - 公司 (t_companies) 也可以有电话号码。
我只想使用一个电话号码表。看起来我需要两个一对多的关系,其中一个表 (t_numbers) 引用 t_people 或 t_companies。
我是否应该使用两个允许它们都为 NULL 的外键。 EER diagram 2
或者我应该根本不使用外键吗? 例如。我可以有一个“参考列”,其 ID 为一个或另一个表,以及第二个表,其中存储了第一列所引用的表。 [我不允许发布第三张图片...]
这样的问题一般是怎么解决的?
(或者我应该放弃只有一个电话号码表的计划,并为个人和公司制作一个。)
【问题讨论】:
标签: mysql database-design