我一直在为我正在开发的应用程序设计数据结构。它需要处理的一件事是存储客户/联系信息。我一直在研究一些不同的联系信息程序的界面,比如地址簿、gmail 联系人等。
我基本上将联系人归结为一个“实体”(个人、公司、角色等)。
- 每个实体可以有多个地址、电话、电子邮件条目。
- 这些中的每一个都定义了一种“关系”(家庭/工作/助理等)
- 实体{1} --{relationship}--> {0..*}数据
- 一个实体可以有多个字段,这些字段是其他“通用”数据(生日、AIM 帐户等)的自由格式数据存储
- 实体{1} --{fieldName}--> {0..*}字段数据
- 一个实体可以链接到另一个实体,例如作为雇员、配偶
- 实体{0.. } <--{关系}--> {0.. }实体
有没有人做过类似联系人数据库的任何 SQL 实现?有什么见解/建议/陷阱可以避免您可以在这里与尝试自己从事项目的人分享吗?我所描述的是否合理或过于复杂?
一个问题,假设您有 4 个人都在同一家公司工作。他们都有相同的“工作”电话号码(可能有不同的分机号)——如果“工作”的号码或地址发生变化,我希望能够相当容易地更新联系人。现在很多都归结为您将如何使用数据库。我认为这成为将员工与其各自公司实体联系起来的问题,但地址/电话号码不再直接与员工相关联。我有点争论使实体/数据关系多对多,允许您将相同的邮寄地址/电话号码附加给多个人,并且在一个地方更新它可以在所有地方更新它。我只是在想这个吗?拔头发