构建联系人数据库 - 需要一点架构灵感

gna*_*arf 13 database-design street-address

我一直在为我正在处理的应用程序布局数据结构.需要处理的一件事是存储客户/联系信息.我一直在研究一些不同的联系信息程序的界面,如地址簿,Gmail联系人等.

我基本上将联系人归结为"实体"(个人,公司,角色等).

  • 每个实体可以有多个地址,电话,电子邮件条目.
    • 每个都定义了一个"关系"(家庭/工作/助理等)
    • 实体 {1} - {relationship} - > {0 ..*} 数据
  • 一个实体可以有多个领域是其他"通用"的数据(生日,AIM帐户等)自由数据存储
    • 实体 {1} - {fieldName} - > {0 ..*} 字段数据
  • 一个实体可以链接到另一个实体,例如作为一个员工,配偶
    • 实体 {0 .. } < - {relationship} - > {0 .. } 实体

有没有人做过类似联系人数据库的任何SQL实现?任何洞察/建议/陷阱,以避免你可以与试图在这个项目上工作的人分享?我所描述的内容是否合理或过于复杂?

一个问题,假设你有4个人都在为同一家公司工作.它们都具有相同的"工作"电话号码(可能具有不同的扩展名) - 如果"工作"的号码或地址发生变化,我希望能够相当容易地更新联系人.现在很多都归结为如何使用数据库.我认为这成为将员工与各自公司实体联系起来的问题,但地址/电话号码不再直接与员工联系.我有点争论实现实体/数据关系,允许您将相同的邮寄地址/电话号码附加到多个人,并在一个地方更新它可以在所有地方更新它.我只是在想这个吗?拉出头发

gbn*_*gbn 14

这有点陈词滥调,但在开始思考表格之前,你需要知道你的数据以及你将要做些什么.

我建议在寻找对象角色建模(或太),以简单的英语定义模型,你真正实现任何表之前.我使用这个VS插件:NORMA也会为你生成一个架构.

或者,这里有一堆数据模型可能会激发你的灵感.这是"联系人管理",但还有其他一些,例如"客户"部分

(我只是想张贴图片..) 联系管理http://www.databaseanswers.org/data_models/contact_management/images/contact_management_model.gif