我应该正常化还是非规范化?

时间:2012-03-20 01:31:05

标签: mysql database database-design

我有一张桌子:

带有列的

Person

pID(PK)
FName
LName
plID(FK)

另一个表格Place

plID(PK)
plCity
plState
plZip

Person成为:

更好吗?
pID(PK)
FName
LName
City
State
Zip

例如:

John Doe New York, NY 00000
Jane Doe New York, NY 00000
Jim Doe New York, NY 00000

1 个答案:

答案 0 :(得分:5)

您应该规范化数据库以消除数据冗余。在您的情况下,您很可能会有来自同一地方的很多人,这会导致数据冗余。

因此答案是。您应该绝对规范化您的数据库。您可以在Person表中包含邮政编码,并将其作为Person中的外键和Place中的主键。