我认为这是常见的事情......你有一个数据库服务器,并且你想在其中存储客户联系信息.
你需要这个人的姓名,地址,电话等.
存储地址和电话的最佳做法是什么?假设OLTP ......
多人可能拥有相同的电话号码(例如妻子和丈夫,或母亲和女儿).
多人共用一个家庭.
我读了这篇:http://sqlcat.com/sqlcat/b/whitepapers/archive/2008/09/03/best-practices-for-semantic-data-modeling-for-performance-and-scalability.aspx
对于所提到的特定模型,这将工作正常,但我不知道如何优化此模型,而不是非规范化.
例如:
因此,如果我像白皮书那样设计它,我会personid在我的address桌子和phone桌子上有一个.但是,由于多人可能共享同一地址,因此这是不可行的.一个人可能有多个地址甚至没有地址.所以我似乎需要一个人 - >地址映射表以及手机的映射表,否则我会对这两个表进行非规范化,并且在两个共享相同的人的不寻常情况下会有一些重复电话/地址.
无论如何,我提出这个问题的观点是因为看起来很难找到这种类型的"最佳实践",但它似乎就是任何类型的应用程序或数据库中出现的类型.