我一直在为我正在处理的应用程序布局数据结构。需要处理的一件事是存储客户/联系信息。我一直在研究一些不同的联系信息程序的界面,如地址簿,Gmail联系人等。
我基本上将联系人归结为“实体”(个人,公司,角色等)。
有没有人做过类似联系人数据库的SQL实现?任何洞察/建议/陷阱,以避免你可以与试图在这个项目上工作的人分享?我所描述的内容是否合理或过于复杂?
有一个问题,假设您有4个人都在为同一家公司工作。它们都具有相同的“工作”电话号码(可能具有不同的扩展名) - 如果“工作”的号码或地址发生变化,我希望能够相当容易地更新联系人。现在很多都归结为如何使用数据库。我认为这成为将员工与各自公司实体联系起来的问题,但地址/电话号码不再直接与员工联系。我有点争论实现实体/数据关系,允许您将相同的邮寄地址/电话号码附加到多个人,并在一个地方更新它可以在所有地方更新它。我只是在想这个吗? 拉出头发
答案 0 :(得分:14)
这有点陈旧,但在开始思考表格之前,你需要知道你的数据以及你将要做些什么。
我建议在实际实现任何表之前,先查看Object Role Modeling(或this)以简单的英语定义模型。我使用这个VS插件:NORMA,它也会为你生成一个模式。
或者,有一堆data models here可能会激励你。 这是“联系人管理”,但还有其他一些,例如“客户”部分
(我只想张贴图片..)
(来源:databaseanswers.org)
答案 1 :(得分:4)
答案 2 :(得分:2)
Microsoft提供了许多入门数据库模式,包括资产维护,联系人管理,客户和订单,文档管理,电子商务,帮助台,问题跟踪软件,零售库存控制和产品目录。请参阅Starter Database Schemas。
编辑 (2016年4月):微软网站管理员似乎打破了链接。这是页面的Wayback Machine archive。
答案 3 :(得分:1)
根据我的经验,有几点往往会突然出现......
考虑互惠关系。例如,如果有人被定义为公司的雇员,那么公司就是那个人的雇主。
您是将地址视为自身的实体,还是仅仅考虑与某个人/地方相关的自由文本?在某些应用程序中,地址(物理构建等)是“真实的”,表中只能存在一个。 (经常使用政府/邮政标识符)。