DBMS中的各种键

DBMS中不同类型的键是-

  • 候选键- 表中的候选键定义为最小的键集,可以唯一地标识表中的任何数据行。

  • 主键- 主键是从候选键之一中选择的,并成为表的标识键。它可以唯一地标识表的任何数据行。

  • 超级键- 超级键是主键的超集。超级键包含一组属性,包括主键,可以唯一地标识表中的任何数据行。

  • 复合键- 如果表的任何单个属性都不能作为键,即它不能唯一地标识行,则我们将两个或多个属性组合在一起以形成键。这称为复合键。

  • 辅助键- 仅选择一个候选键作为主键。它们的其余部分称为辅助键。

  • 外键- 外键是表中的属性值,在另一个表中用作主键。因此,外键在将两个表链接在一起时很有用。应当非常小心地在外键列中输入数据,因为错误输入的数据会使两个表之间的关系无效。

一个解释不同键的示例是-

<学生>

学生号码学生姓名学生电话主题编号
1安德鲁661592728410
2莎拉658365486520
3哈里464756746310

<主题>

主题编号主题名称Subject_Instructor
10数据库管理系统柯思
20演算法科门
30演算法莱森

<注册>

学生号码主题编号
110
220
310

<Student> 表中的超级键为-

{Student_Number}
{Student_Phone}
{Student_Number,Student_Name}
{Student_Number,Student_Phone}
{Student_Number,Subject_Number}
{Student_Phone,Student_Name}
{Student_Phone,Subject_Number}
{Student_Number,Student_Name,Student_Phone}
{Student_Number,Student_Phone,Subject_Number}
{Student_Number,Student_Name,Subject_Number}
{Student_Phone,Student_Name,Subject_Number}

 <Subject>表中的超级键为-

{Subject_Number}
{Subject_Number,Subject_Name}
{Subject_Number,Subject_Instructor}
{Subject_Number,Subject_Name,Subject_Instructor}
{Subject_Name,Subject_Instructor}

<Enroll>表中的超级键为-

{Student_Number,Subject_Number}

<Student>表中的候选键为{Student_Number}或{Student_Phone}

<Subject>表中的候选键为{Subject_Number}或{Subject_Name,Subject_Instructor}

<Student>表中的候选键为{Student_Number,Subject_Number}

<Student>表中的主键为{Student_Number}

<Subject>表中的主键是{Subject_Number}

<Enroll>表中的主键为{Student_Number,Subject_Number}

<Enroll>表中的组合键为{Student_Number,Subject_Number}

<Student>表中的辅助键为{Student_Phone}

<Subject>表中的辅助键为{Subject_Name,Subject_Instructor}

{Subject_Number}是<Student>表的外键和<Subject>表的主键。