2012-07-10 68 views
0

在我的数据库中,我有一个名为Person的表,其中包含ID和名称的行,这对于暂时的工作很好。稍后,在部署之后,我意识到我想要一个人也有一个地址(每个人一个地址)。做这个的最好方式是什么?使用地址的新列更新表,或者为地址创建新表地址并将两个表与参考链接起来?或者,也许我应该有一个表Person,一个表Address和一个表PersonAddressRelation以及两个键。更新域(DB)实体时添加列或创建新表?

我知道一些关于表格标准化的知识。我的问题是:如果你预测他们可能会改变,如何建立一个表格?

回答

2

总是在每个表中使用主自动递增键;并确保从一开始就拥有最佳的db结构;为什么?因为一旦你开始琢磨信息,分贝表会增加,你不知道他们会得到多大;如果让我们说每张桌上有1000万个信息,那么你需要添加一个新字段,这没关系,这需要一些时间......但是如果你尝试了1亿美元......你完成了......游戏结束了......所以,从一开始就尽力而为,并始终以唯一的身份识别每个信息

1

我建议额外的address表。通过这种方式,您可以将外键添加到person表中,也许有一天您需要拥有多个地址的人员。