【发布时间】:2010-06-16 04:44:57
【问题描述】:
每当我设计数据库时,我都会自动为每个表(查找表除外)自动生成 GUID 主键
我知道我永远不会因为重复键、合并表等而失眠。对我来说,从哲学上讲,任何给定记录在所有域中都应该是唯一的,并且这种唯一性应该以一致的方式表示表到表。
我知道它永远不会是性能最高的选择,但抛开性能不谈,我想知道是否有反对这种做法的哲学论据?
根据回复让我澄清一下:
我说的是始终使用 GUID 代理键作为主键 - 无论是否以及如何在表上设计任何自然键或顺序键。这些是我的假设:
- 可以设计基于自然键的数据完整性,但不能假设。
- 主键的功能是参照完整性,与性能、顺序或数据无关。
【问题讨论】:
标签: sql database-design relational-database