一个简单的问题。我应该如何在数据库中存储电话号码和电子邮件地址?只是像email@email.com这样的纯文本(或数字),还是用密钥对其进行编码更好(有点像数据库中保存密码的方式)。在这种情况下,除非您知道密钥,否则它将变得不可读(并且更长)。
唯一的原因是如果有人入侵了数据库,假设数据库中有许多重要的电子邮件和电话号码。
例如,linkedIn和facebook是如何保存所有这些数据的?
发布于 2013-07-02 10:41:51
电话号码是半唯一的Id。它们不是数字数量或计数。它们可以是数字,在某些情况下还可以是字母数字,例如1-(800)-flowers。
将电话号码存储为文本,因为您不想对它们进行加、减、乘或除。您可以将号码标准化为县代码,如果需要按国家或地区代码进行搜索,则可以将区号和号码标准化。一种替代方案是提供用于访问电话号码文本串并导出县代码和地区代码的功能。
另一个重要的方面是存储数字'(123) 456-7890‘的格式代码(括号、空格符号或破折号),还是只存储数字。如果你想拥有半唯一性或者能够搜索相等,那么只需存储数字即可。一些数字是像'*82‘这样的特殊代码,你想也允许这些数字吗?
如果您希望从电话号码中获得任何情报,那么您应该根据北美编号计划https://en.wikipedia.org/wiki/North_American_Numbering_Plan的文本字段来确定号码的结构。
https://stackoverflow.com/questions/16690189
复制相似问题