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