如何为MySQL中的一个联系人存储多个电子邮件工作,个人等

时间:2011-09-21 03:57:15

标签: mysql database-design normalization

我需要为MySQL中的每个用户存储多个电子邮件地址并对其进行规范化。电子邮件可以用于工作,个人等,甚至可以将多个工作电子邮件或任何其他电子邮件链接到一个联系人。

我的想法是有3个表,一个用于存储电子邮件类型,另一个用于存储联系信息名称地址等,第三个用于存储名为contact_email地址的电子邮件/联系人关联,其中包含来自email_types和联系人表的pk

这里可以看到一个简单的图表https://bubbl.us/?h=a7f3b/13e72f/68J/1dgjeYVbs 这有效吗?这样,一个联系人就可以存储任何数量的电子邮件地址,并将其保留在联系人表格之外

由于

3 个答案:

答案 0 :(得分:3)

是的,你的设计很好。它代表了一种常见的规范化电子邮件地址数据模型。

答案 1 :(得分:2)

我就是这样做的。我认为你的设计很好。

答案 2 :(得分:1)

是的,您还可以使用contact_id和email_type_id在contact_emails表中使用复合键(使用主索引或唯一索引)。这样,一个联系人只有一个特定类型的电子邮件。如果没有索引,用户可以从同一电子邮件类型中保存1+封电子邮件。