DBMS 中各种类型的键


DBMS 中的不同类型的键如下:

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

一个解释不同键的示例如下:

<学生>

学号学生姓名学生电话课程号
1安德鲁661592728410
2萨拉658365486520
3哈里464756746310

<课程>

课程号课程名称课程讲师
10数据库管理系统科斯
20算法科曼
30算法莱瑟森

<选课>

学号课程号
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+ 次查看

启动您的 职业生涯

通过完成课程获得认证

开始
广告