mysql - 我应该标准化还是非标准化?

标签 mysql database database-design

我有一张 table :

Person 包含列:

pID(PK)
FName
LName
plID(FK)

另一个表放置:

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

最佳答案

您应该规范化数据库以消除数据冗余。就您而言,很可能有很多人来自同一个地方,这会导致数据冗余。

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

关于mysql - 我应该标准化还是非标准化?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9780288/

相关文章:

mysql 选择静态列表

php - 将值分配给php中的对象

mysql - SQL 中使用 CAST 运算符的变量类型转换

mysql - 将单表拆分为多对多关系

mysql - 您可以更改表以更改 MySQL 中的引擎类型吗? (MYISAM 到 INNODB)

mysql - 不返回所有结果之间的 SQL

mysql - 插入唯一文本需要什么最低隔离级别?

c# - 如何在 MySQL 数据库中插入数据?

mongodb - 如何从 'n' 数量的服务器中识别 MongoDB 主服务器

sql - 如何设计星型模式