Surrogate key(代理键/替代键):在数据库表中人为添加的、通常无业务含义的唯一标识列,用来唯一标识每一行数据(例如自增整数、UUID)。它常用于替代“自然键”(由业务字段组成的键),以简化关联与提高稳定性。(该术语在不同语境下也可能延伸到“替代性标识/占位标识”的一般含义,但最常见的是数据库领域。)
/ˈsɜːrəɡət kiː/ (美式常见也可读作 /ˈsɝːrəɡət kiː/)
We use a surrogate key to identify each customer record.
我们用代理键来标识每一条客户记录。
Although the email address is unique today, the database uses a surrogate key so relationships won’t break if the email changes.
尽管邮箱地址目前是唯一的,数据库仍使用代理键,这样即使邮箱变更,表之间的关联也不会被破坏。
surrogate 来自拉丁语 surrogare,意为“指派替代、代替”。在数据库里,surrogate key 就是“用来代替真实业务字段充当主键的键”。key 在数据库语境中指“键/关键字段”,用于唯一定位记录。