我是设置关系数据库的新手。
我正在尝试在 MySQL 中创建两个表,一个 USER 表和一个 COMPANY 表。两者都应该能够有多个与之关联的电话号码,所以我创建了一个 PHONE 表,并希望从 COMPANY 到 PHONE 以及从 USER 到 PHONE 建立一对多的关系。
我想做的事情似乎只有两种选择:
在 PHONE 中保留两个外键,一个引用 COMPANY,一个引用 USER。它们都默认为 NULL,并且在 PHONE 中创建新行时,我只会填写我需要的行。
有两个不同的表,USER_PHONE 和 COMPANY_PHONE。
这两种选择对我来说似乎都是最优的。选项 1 看起来很老套,容易出现冗余问题。选项二似乎非常重复和不必要。我倾向于认为选项 2 是“官方”的做事方式(开始怀疑这是否是我听到关于 MySQL 的负面消息的原因)。
任何人?谢谢,
-马特