我有一张包含
等产品的表格产品
id
name
styles_id
我还有一个包含
等样式的表格样式
id
name
当我向产品添加样式时,我使用Styles
表中的外键id值。我在很多项目上做了几年,但我在想为什么?如果我有一个Styles
表,其名称为主键且没有id
,那么获取产品会容易得多。因此,我不必进行连接以获取产品的样式名称。我看到它已经完成了很多但是id
表中Styles
的优势是什么?
答案 0 :(得分:2)
主要优点是您可以在不影响参考的情况下更改产品名称。
例如,如果您希望国际化数据库,则可以添加多个名称。
几乎每次我都没有在表格中添加自动增加的id,我就后悔了。这可能是表中出现重复项,我想删除它们。这可能是结构以意想不到的方式发生变化,例如国际化。那可能是我想知道输入的最后一件事 - 自动增加的id提供了这些信息。现在,我几乎在我创建的每个表中都添加了这样的id,即使是在数据库中也很痛苦,例如大多数Oracle版本。