小编Der*_*rek的帖子

在SQL Server 2005中设计联系人数据库

我认为这是常见的事情......你有一个数据库服务器,并且你想在其中存储客户联系信息.

你需要这个人的姓名,地址,电话等.

存储地址和电话的最佳做法是什么?假设OLTP ......

多人可能拥有相同的电话号码(例如妻子和丈夫,或母亲和女儿).

多人共用一个家庭.

我读了这篇:http://sqlcat.com/sqlcat/b/whitepapers/archive/2008/09/03/best-practices-for-semantic-data-modeling-for-performance-and-scalability.aspx

对于所提到的特定模型,这将工作正常,但我不知道如何优化此模型,而不是非规范化.

例如:

  • 人员表=人名,姓,姓等......
  • 地址表=地址ID,地址行1等.
  • 电话表=电话号码,电话号码等...

因此,如果我像白皮书那样设计它,我会personid在我的address桌子和phone桌子上有一个.但是,由于多人可能共享同一地址,因此这是不可行的.一个人可能有多个地址甚至没有地址.所以我似乎需要一个人 - >地址映射表以及手机的映射表,否则我会对这两个表进行非规范化,并且在两个共享相同的人的不寻常情况下会有一些重复电话/地址.

无论如何,我提出这个问题的观点是因为看起来很难找到这种类型的"最佳实践",但它似乎就是任何类型的应用程序或数据库中出现的类型.

database-design sql-server-2005

0
推荐指数
1
解决办法
2715
查看次数

标签 统计

database-design ×1

sql-server-2005 ×1