通常是使用本机主键(即现有列或列组合)还是将主键设置为自动生成的整数行更好?
编辑:
有人向我指出这与这个问题非常相似。
这里的共识是使用代理键,这是我的自然倾向,但我的老板告诉我,我也应该尽可能使用自然键。他的建议可能最适合这个特定的应用程序,因为行中的名称唯一标识它,我们需要保持查看旧数据的能力,因此对名称/规则的任何更改都将意味着新的唯一行。
虽然这里的答案都很有帮助,但它们中的大多数都是基于主观的“这是你应该做的”,并且没有引用支持来源。我是否遗漏了一些必要的阅读材料,或者最佳实践数据库设计是否高度主观和/或依赖于应用程序?