本文介绍Navicat16.1 中选择主键的相关内容。
自然键与代理键
身为数据库设计人员,你将面临的首要决定是你的表应使用哪种主键(PK)。如果你询问任何每天处理数据库的人,无论是数据库管理员、开发人员还是测试人员,你都会得到无数的意见和理由。使解决问题的障碍更加复杂的是,没有一种万能的解决方案。有鉴于此,本系列将介绍支持和反对不同类型 PK 的一些原因。在所有这些原因的某处,将会引导你找出 PK 的最佳类型,以满足你的组织需求。在第一部分中,我们将比较两种基本类型的 PK:自然键和代理键。稍后,我们将讨论是否使用数据库自动递增功能,以及哪些数据类型(如果有)是最好的 PK。
自然键
自然键是由表中已存在的一个或多个列组成的(例如,它们是数据模型中实体的属性),用于唯一标识表中的一条记录。由于这些列是实体的属性,因此它们本质上具有业务意义。以下是 Navicat Premium 16 的表设计器中有自然键的表示例。我们可以通过 “键”列中的钥匙图标轻松找到主键: