什么是主键?在数据库的世界中,关系表的主键唯一地标识表中的每个记录。数据库使用密钥来比较,排序和存储记录,以及创建记录之间的关系。
选择数据库中的主键是该过程中最重要的步骤之一。它可以是一个普通的属性,保证是唯一的,例如每人不超过一条记录的表上的社会安全号,或者 - 最好 - 它可以由数据库管理系统生成,例如全局唯一标识符或GUID ,在Microsoft SQL Server中。主键可以由单个属性或多个属性组合而成。
主键是使用主键的其他表中相关信息的唯一链接。必须在创建记录时输入,并且永远不应更改记录。数据库中的每个表都有一列或两列专门用于主键。
主键示例
想象一下,您有一个学生表,其中包含大学每个学生的记录。学生的唯一学生ID号是STUDENTS表中主键的不错选择。学生的名字和姓氏不是很好的选择,因为总有可能有多个学生可能有相同的名字。
主键的其他不良选择包括邮政编码,电子邮件地址和雇主,所有这些都可以改变或代表许多人。 用作主键的标识符必须是唯一的。 当社会安全管理局将一个号码重新分配给受身份盗用影响的人时,甚至社会安全号码也会发生变化。有些人甚至没有社会安全号码。但是,因为这两种情况都很少见。社会安全号码可以是主键的不错选择。
选择好主键的提示
选择正确的主键时,数据库查找速度快且可靠。只记得:
- 保持简短。由于主键用于查找和比较,因此短主键意味着数据库管理系统可以比长主键更快地处理它。
- 使用数字 尽可能为主键。 SQL Server或其他数据库管理系统比字符数据类型更快地处理数字数据类型。
- 把事情简单化。 不要使用任何特殊字符,嵌入空格或大写和小写的混合。
- 从不改变 分配后的主键。




