我已经将联系人基本上沸腾到一个“实体”(个人,公司,角色等).
>每个实体可以有多个地址,电话,电子邮件条目.
>每个都定义了一个“关系”(家庭/工作/助理等)
>实体{1} – {关系} – > {0 .. *}数据
>实体可以有多个字段,可以为其他“通用”数据(生日,AIM帐户等)自由格式存储数据,
>实体{1} – {fieldName} – > {0 .. *}字段数据
>实体可以链接到另一个实体,例如作为雇员,配偶
>实体{0 ..}< - {relationship} - > {0 ..}实体
有没有人做过类似联系人数据库的任何sql实现?任何洞察/建议/陷阱,以避免你可以分享一个人试图在一个项目自己在这里工作?我所描述的看起来是合理还是过于复杂?
一个问题,让你说有4个人都在同一家公司工作.他们都有相同的“工作”电话号码(可能有不同的扩展名) – 如果“工作”的号码或地址发生变化,我想能够相当容易地更新联系人.现在很多事情归结于如何使用数据库.我认为这是将员工与其各自公司实体联系起来的问题,但是地址/电话号码不再直接连接到员工.我很讨论使得实体/数据关系成为许多,允许您将相同的邮寄地址/电话号码附加到多个人,并且在一个地方更新它可以在所有地方更新.我刚刚想到了吗?拉出头发
解决方法
在建立任何表格之前,我建议您查看Object Role Modeling(或this)以简单的英文定义模型.我使用这个VS插件:NORMA也将为你生成一个模式.
或者,有一堆data models here可能会激励你.
这是“联系人管理”,但还有其他的,如“客户”部分
(我只是想张贴图片..)
Contact Management http://www.databaseanswers.org/data_models/contact_management/images/contact_management_model.gif