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