回答

收藏

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

技术问答 技术问答 173 人阅读 | 0 人回复 | 2023-09-14

我在Google搜索了很多,但是没有找到有示例的确切直接答案。
$ N/ g$ ]5 t$ O+ J) H6 X: l2 [任何一个例子助的例子。& ~" E( Z1 g( \7 _' N; S
                                                                . W- H$ Z8 S1 P, A0 m7 h) a: X
    解决方案:                                                               
, V6 J, y. {# _2 w: @! x7 H$ Q" G                                                                主键是您在表中选择的唯一键,可以是唯一识别表中最好的记录。所有的表都应该有一个主键,因为如果你需要更新或删除一个记录,你需要知道如何识别它。2 E, U1 @2 A; o# V- a  w2 D# C1 @
代理密钥是人工密钥。当你的记录本质上没有自然键时(例如Person当表格)时,它们非常有用。因为两个出生在同一日期的人可能有相同的名字,或者记录在日志中,因为两个事件可能会发生,例如,他们有相同的时间戳)。通常,你会看到它们在自动增加的字段中实现为整数或自动生成每个记录GUID。身份证号码几乎总是代理钥匙。
* Q9 K) ?7 v, ?* R4 l9 }; J- l然而,与主键不同,并不是所有的表都需要代理键。如果你有一张列出美国各州的表格,你实际上不需要它ID号码。您可以将状态缩写作为关键代码。5 g* _: R* Y# J8 T
代理密钥的主要优点是很容易确保它们是唯一的。主要缺点是它们毫无意义。例如, 28并不意味着威斯康星州,但当你在地址表的状态列中看到
  J6 h4 c+ M1 v% qWI当你知道你想说什么状态时,你不需要找到你所在的州。
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则