我正在研究数据库设计,所以想了解专业知识只为关系而单独设置表的缺点。
应该是这样的:
或者
客户可以拥有多个地址。
有什么优点和缺点?
答案 0 :(得分:4)
这是一个合理的问题。
基本上,它归结为一个问题:“你想要两个相同的地址总是拥有相同的密钥吗?”。
在第一个版本中,“地址详细信息”在整个数据库中可以是唯一的。因此,两个室友可以拥有相同的AddressId
。当史密斯离开并且琼斯搬进来时,他们可以拥有相同的AddressId
。
在第二个版本中,每个人都有一个或多个地址记录。但是,可以重复给定地址的详细信息。
哪个更好取决于您的应用程序。通常,当您联系地址的人时,第一种方法更可取,因为“重复数据删除”已内置于数据模型中