暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

技术文档翻译那些事儿之主键

技术文档翻译那些事儿 2022-07-26
788

数据库表的主键是什么?有哪些特点?


场景举例:李四是某互联网企业的员工,因为在公司做不开心,提出离职。HR需要从企业员工管理系统中更新/删除李四的一些相关记录。公司里有很多和李四重名的员工,但是HR能够精准地找到提离职的李四的相关记录。这得益于该公司的数据库管理员 张三 (database administrator, DBA) 在设计数据库表之初指定的主键。


说明:在该互联网企业中,有很多和李四重名的员工,这意味着不能用员工姓名唯一标识每一个员工。但是员工ID 对于每个员工而言都是独一无二的,类似现实生活中的身份证ID,可以唯一标识每个员工。这里的员工ID可以作为数据库表中的主键 (primary key)。


微软官网文档对主键的解释:主键是一个字段或一组字段,其值在整个表中是唯一的 (A primary key is a field or set of fields with values that are unique throughout a table.)


主键唯一标识在数据库表中的一行数据。一个表中,只能有一个主键。

以上场景举例中 员工ID (employee_id) 这个字段就是主键。当然,主键也可以由多个字段构成。比如,在上述场景中,DBA 张三发现把员工姓名 (employee_name) 和员工部门 (employee_dept) 作为组合条件也可以唯一标识一个员工,所以主键也可以由两个字段构成:employee_nameemployee_dept


补充说明

作为主键的单个字段/字段组合需要满足以下条件:

  • 表中任何两行对应的字段值不能相同。

  • 表中任一行对应的字段值不能为空。

  • 不能修改或更新字段值。

  • 不能复用字段值。比如,以上举例中李四离职之后,李四的ID 不能分配给新入职的员工。


不积跬步,无以至千里;不积小流,无以成江海。每天进步一点点,持续更新知识库。



文章转载自技术文档翻译那些事儿,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论