主键和代理键有什么区别?

2024-06-28

我用谷歌搜索了很多,但没有找到带有示例的确切直接答案。

任何例子都会更有帮助。


主键是表中的唯一键,您选择它可以最好地唯一标识表中的记录。所有表都应该有一个主键,因为如果您需要更新或删除一条记录,您需要知道如何唯一标识它。

代理键是人工生成的键。当您的记录基本上没有自然键(例如Person表,因为同一日期出生的两个人可能具有相同的名字,或者日志中的记录,因为两个事件可能发生,因此它们带有相同的时间戳)。大多数情况下,您会看到它们作为自动递增字段中的整数实现,或者作为为每条记录自动生成的 GUID 实现。 ID 号几乎总是代理键。

然而,与主键不同,并非所有表都需要代理键。如果您有一个列出美国各州的表格,那么您实际上并不需要它们的 ID 号。您可以使用州缩写作为主键代码。

代理键的主要优点是很容易保证它们是唯一的。主要缺点是它们没有任何意义。例如,“28”是威斯康星州是没有意义的,但是当您在地址表的“州”列中看到“WI”时,您就知道您正在谈论哪个州,而无需查找您所在州的哪个州桌子。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

主键和代理键有什么区别? 的相关文章

随机推荐