我对MySQL没有超级经验,并且正在为客户构建一个简单的CRM。最初基于他如何工作的想法我设置了如下所示的数据库结构,因此每个帐户可以连接多个联系人,我只需使用匹配的帐号来关联它们。十分简单。
Account Table
+-------------+-------------+
| account_id | create_date |
+-------------+-------------+
|#10045 | 01/05/15 |
|#10046 | 01/07/15 |
+-------------+-------------+
Customer Contact Table
+-----------+-----------+-----------+
|contact_id |account_id |first_name |
+-----------+-----------+-----------+
|#124 |#10045 |John |
|#125 |#10045 |Bill |
|#126 |#10046 |Frank |
+-----------+-----------+-----------+
但是在项目中我发现他希望联系人可以在其他帐户上重复使用,而不必创建重复项。因此,仅仅根据上述帐号进行关联将无效。
所以我想我会从联系表中删除“account_id”行,并使用下面的第三个表。
Account Contact Link Table
+--+------------+------------+
|id| account_id | contact_id |
+--+------------+------------+
|#1| #10045 | #124 |
|#2| #10045 | #125 |
|#3| #10046 | #126 |
+--+------------+------------+
这会有效,但我想知道这是否是最佳做法。