我应该使用身份证吗?

时间:2014-05-17 13:40:16

标签: sql

我有一张包含

等产品的表格

产品

id
name
styles_id

我还有一个包含

等样式的表格

样式

id
name

当我向产品添加样式时,我使用Styles表中的外键id值。我在很多项目上做了几年,但我在想为什么?如果我有一个Styles表,其名称为主键且没有id,那么获取产品会容易得多。因此,我不必进行连接以获取产品的样式名称。我看到它已经完成了很多但是id表中Styles的优势是什么?

1 个答案:

答案 0 :(得分:2)

主要优点是您可以在不影响参考的情况下更改产品名称。

例如,如果您希望国际化数据库,则可以添加多个名称。

几乎每次我都没有在表格中添加自动增加的id,我就后悔了。这可能是表中出现重复项,我想删除它们。这可能是结构以意想不到的方式发生变化,例如国际化。那可能是我想知道输入的最后一件事 - 自动增加的id提供了这些信息。现在,我几乎在我创建的每个表中都添加了这样的id,即使是在数据库中也很痛苦,例如大多数Oracle版本。