存储多个电子邮件,传真,移动和地址

时间:2016-08-18 20:54:14

标签: mysql

我知道之前已经问过这个问题,并且常见的解决方案就像在这个链接中一样。单独的表并使用join来获取信息

How to store multiple emails work, personal etc for one contact in MySQL

我只想问,如果我保存逗号分隔的电子邮件,号码,传真或地址,有任何缺点。这也将消除连接因此更好的性能。提前致谢

1 个答案:

答案 0 :(得分:0)

对于任何数据库驱动的应用程序,询问:"我的应用程序需要数据库回答哪些问题?"换句话说,查询的主要用例是什么?

您提供的链接基本上是规范化关系数据库体系结构的示例。正常形式旨在最小化重复数据并确保数据完整性。在那些"质量控制约束中,"查询编写应该是相当模式和可预测的。

您是否需要知道联系人是否有重复的电子邮件或电话号码?如果多个联系人共享同一封邮件或联系人?如果缺少phone1但是phone2没有丢失?如果所有电话号码都有国际前缀?这些都是可以通过数据库查询回答的问题。使用规范化数据库(如链接中的那个)编写这些查询更容易更直接。对于以逗号分隔值的单个字段中的数据,查询将很难,不切实际,丑陋或几乎无法管理。