通常,使用 native 主键(即现有列或列的组合)或将主键设置为自动生成的整数行更好吗?

编辑:
已经向我指出,这与this question非常相似。

这里的共识是使用代理键,这是我的自然选择,但老板告诉我,我还应该尽可能使用自然键。他的建议可能对于此特定应用程序是最佳的,因为“行中的名称”可以唯一地标识它,并且我们需要保持查看旧数据的能力,因此,对名称/规则的任何更改都将意味着新的唯一行。

尽管这里的答案都是有帮助的,但大多数答案都是基于主观的“这里是您应该做的”,并且没有引用支持性资料。我是否缺少一些必读的内容,或者最佳实践数据库设计是否过于主观和/或取决于应用程序?

最佳答案

这是一个很常见的话题。

  • How do you like your primary keys?
  • What’s the best practice for Primary Keys in tables?
  • Which format of primary key would you use in this situation.
  • Surrogate Vs. Natural/Business Keys
  • Should I have a dedicated primary key field?
  • 关于database - native 主键还是自动生成的?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/532363/

    10-11 12:04