DBMS 中各种类型的键


DBMS 中不同类型的键如下:

  • 候选键 - 表中的候选键定义为最小且可以唯一标识表中任何数据行的键集。
  • 主键 - 主键是从候选键中选择的一个键,并成为表的标识键。它可以唯一标识表的任何数据行。
  • 超键 - 超键是主键的超集。超键包含一组属性(包括主键),这些属性可以唯一标识表中的任何数据行。
  • 复合键 - 如果表的任何单个属性都不能作为键,即它不能唯一地标识一行,那么我们将组合两个或多个属性来形成一个键。这被称为复合键。
  • 次键 - 只有一个候选键被选择为主键。其余的被称为次键。
  • 外键 - 外键是表中充当另一个表主键的属性值。因此,外键用于将两个表链接在一起。应非常小心地在外键列中输入数据,因为输入错误的数据可能会使两个表之间的关系失效。

一个解释不同键的例子:

<学生>

学号学生姓名学生电话课程号
1Andrew661592728410
2Sara658365486520
3Harry464756746310

<课程>

课程号课程名称课程教师
10数据库管理系统(DBMS)Korth
20算法Cormen
30算法Leiserson

<选课>

学号课程号
110
220
310

<学生> 表中的超键:

{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_Number}
{Subject_Number,Subject_Name}
{Subject_Number,Subject_Instructor}
{Subject_Number,Subject_Name,Subject_Instructor}
{Subject_Name,Subject_Instructor}

<选课> 表中的超键:

{Student_Number,Subject_Number}

<学生> 表中的候选键是 {学号} 或 {学生电话}

<课程> 表中的候选键是 {课程号} 或 {课程名称,课程教师}

<选课> 表中的候选键是 {学号,课程号}

<学生> 表中的主键是 {学号}

<课程> 表中的主键是 {课程号}

<选课> 表中的主键是 {学号,课程号}

<选课> 表中的复合键是 {学号,课程号}

<学生> 表中的次键是 {学生电话}

<课程> 表中的次键是 {课程名称,课程教师}

{课程号} 是 <学生> 表的外键,也是 <课程> 表的主键。

更新于:2020-12-30

22K+ 次浏览

开启你的职业生涯

完成课程获得认证

开始学习
广告