【发布时间】:2017-06-08 15:11:13
【问题描述】:
我正在为一个使用 MySQL 的电子商务网站设计一个数据库。我已经列出了必要的表格列表以及表格所需的所有字段。我一共有 9 张桌子。
我所做的是在所有表上包含一个自动递增的 ID 作为主键。
除了 2 之外,我的所有表都归一化为 3NF。两个表“用户”和“出口”未标准化为 2NF。
在此过程中,我意识到使用自动递增 ID 作为主键时,规范化很麻烦。由于不严格要求规范化,我想知道在所有表上使用自动递增 ID 作为主键是否有任何缺点?
【问题讨论】:
-
桥接表(即用于表示多对多关系的表)上的自动递增 ID 没有用。如果你有这样的桌子,你应该避免它们。
标签: mysql sql database design-patterns database-design