DBMS 中的备用键17 Mar 2025 | 阅读 2 分钟 备用键是次要候选键,它具有候选键的所有属性,但提供了备选方案。 在本节中,我们将学习备用键、它的用途,并看一个示例来理解它的工作原理。 什么是备用键备用键是一个次要的候选键,能够唯一标识一行。但是,这样的键不被用作主键,因为正如我们在上一节中所讨论的,在所有生成的候选键中,只有一个键被选为主键。因此,其他剩余的键被称为备用键或次要键。 备用键的用途备用键无非就是候选键,所以备用键的用途/作用是一样的。这意味着备用键也用于标识表中能够唯一标识表中所有记录的列。 备用键示例让我们通过一些例子来理解备用键的工作原理。 示例 1考虑一个 **EMPLOYEE_DETAIL** 表,其中包含以下属性 Emp_SSN: 员工的 SSN 号码存储在此字段中。 Emp_Id: 存储员工标识号值的属性。 Emp_name: 存储具有指定员工 ID 的员工姓名的属性。 Emp_email: 存储指定员工电子邮件 ID 的属性。 下面的 EMPLOYEE_DETAIL 表将帮助您更好地理解 ![]() 因此,从上表中,有以下候选键 ![]() 这些是我们从上述属性中得出的候选键。现在,我们必须选择一个最合适的主键,即 **Emp_Id**。*因此,主键是 Emp_Id。* 现在,剩下的两个候选键是 **Emp_SSN** 和 **Emp_email**。因此,Emp_SSN 和 Emp_Email 是备用键。 ![]() 示例 2考虑 **Student_Detail** 的另一个例子,其中包含以下属性 Stud_roll_no: 为学生提供识别号的属性。 Stud_name: 存储指定学号的学生姓名的属性。 Stud_email: 将存储指定学号的特定学生电子邮件 ID 的属性。 Stud_Course: 将存储具有指定学号的特定学生所修课程的属性。 下面显示了 Student_Detail 表 ![]() 从表中,我们可以得出结论,学生的学号是设置主键最合适的选项。因此,**Stud_roll_no** 是**主键**,其余已识别的键将是候选键,因此是备用键。 因此,备用键本身就是一个候选键。 下一个主题DBMS 中的复合键 |
我们请求您订阅我们的新闻通讯以获取最新更新。