我一直在为正在开发的应用程序设计数据结构。它需要处理的事情之一是存储客户/联系信息。我一直在研究一些不同的联系人信息程序的界面,例如通讯录,Gmail联系人等。
我基本上将联系简化为一个“实体”(个人,公司,角色等)。
每个实体可以具有多个地址,电话,电子邮件条目。
这些中的每一个都定义了一个“关系”(家庭/工作/助理等)
实体{1}-{关系}-> {0 .. *}数据
实体可以具有多个字段,这些字段可以自由形式存储其他“通用”数据(生日,AIM帐户等)的数据
实体{1}-{fieldName}-> {0 .. *}字段数据
一个实体可以链接到另一个实体,例如作为雇员,配偶
实体{0 ..} {0 ..}实体
有没有人做过类似联系人数据库的任何SQL实现?有什么见解/建议/陷阱可以避免您在这里与尝试自己从事某项工作的人分享?我描述的内容看起来合理还是过于复杂?
一个问题,假设您有4个人都在同一家公司工作。他们都具有相同的“工作”电话号码(也许具有不同的分机号)-如果“工作”的电话号码或地址发生了变化,我希望能够相当容易地更新联系人。现在,很多事情都归结为如何使用数据库。我认为这已成为将员工链接到其各自公司实体的问题,但随后地址/电话号码不再直接与员工连接。我有点想使实体/数据关系变得多对多,从而允许您将相同的邮寄地址/电话号码附加到多个人,并且在一处进行更新可以在所有地方进行更新。我只是在想这个吗?拉出头发
最佳答案
这有点陈旧,但是在开始思考表之前,您需要了解数据以及如何处理数据。
我建议您在实际实现任何表之前,先查看Object Role Modeling(或也this)以简单的英语定义模型。我使用此VS插件:NORMA也会为您生成一个架构。
另外,还有许多data models here可能会启发您。
这是“联系人管理”,但还有其他一些内容,例如“客户”部分
(我只是想发布一张图片。)
(来源:databaseanswers.org)
关于database-design - 建立联系人数据库-需要一些模式启发,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1835532/