DBMS 中的备用键

17 Mar 2025 | 阅读 2 分钟

备用键是次要候选键,它具有候选键的所有属性,但提供了备选方案。

在本节中,我们将学习备用键、它的用途,并看一个示例来理解它的工作原理。

什么是备用键

备用键是一个次要的候选键,能够唯一标识一行。但是,这样的键不被用作主键,因为正如我们在上一节中所讨论的,在所有生成的候选键中,只有一个键被选为主键。因此,其他剩余的键被称为备用键次要键

备用键的用途

备用键无非就是候选键,所以备用键的用途/作用是一样的。这意味着备用键也用于标识表中能够唯一标识表中所有记录的列。

备用键示例

让我们通过一些例子来理解备用键的工作原理。

示例 1

考虑一个 **EMPLOYEE_DETAIL** 表,其中包含以下属性

Emp_SSN: 员工的 SSN 号码存储在此字段中。

Emp_Id: 存储员工标识号值的属性。

Emp_name: 存储具有指定员工 ID 的员工姓名的属性。

Emp_email: 存储指定员工电子邮件 ID 的属性。

下面的 EMPLOYEE_DETAIL 表将帮助您更好地理解

Alternate Key in DBMS

因此,从上表中,有以下候选键

Alternate Key in DBMS

这些是我们从上述属性中得出的候选键。现在,我们必须选择一个最合适的主键,即 **Emp_Id**。*因此,主键是 Emp_Id。* 现在,剩下的两个候选键是 **Emp_SSN** 和 **Emp_email**。因此,Emp_SSN 和 Emp_Email 是备用键。

Alternate Key in DBMS

示例 2

考虑 **Student_Detail** 的另一个例子,其中包含以下属性

Stud_roll_no: 为学生提供识别号的属性。

Stud_name: 存储指定学号的学生姓名的属性。

Stud_email: 将存储指定学号的特定学生电子邮件 ID 的属性。

Stud_Course: 将存储具有指定学号的特定学生所修课程的属性。

下面显示了 Student_Detail 表

Alternate Key in DBMS

从表中,我们可以得出结论,学生的学号是设置主键最合适的选项。因此,**Stud_roll_no** 是**主键**,其余已识别的键将是候选键,因此是备用键。

因此,备用键本身就是一个候选键。


下一个主题DBMS 中的复合键