DBMS 中各种类型的键
DBMS 中的不同类型的键如下:
- 候选键 - 表中的候选键定义为一组最小的键,可以唯一标识表中的任何数据行。
- 主键 - 主键是从候选键中选择的一个键,并成为表的标识键。它可以唯一标识表中的任何数据行。
- 超键 - 超键是主键的超集。超键包含一组属性,包括主键,这些属性可以唯一标识表中的任何数据行。
- 组合键 - 如果表的任何单个属性都不能作为键,即它不能唯一标识一行,那么我们将两个或多个属性组合起来形成一个键。这被称为组合键。
- 次要键 - 候选键中只有一个被选为主键。其余的被称为次要键。
- 外键 - 外键是表中充当另一个表主键的属性值。因此,外键可用于将两个表链接在一起。应非常小心地在外键列中输入数据,因为错误输入的数据可能会使两个表之间的关系失效。
一个解释不同键的示例如下:
<学生>
学号 | 学生姓名 | 学生电话 | 课程号 |
---|---|---|---|
1 | 安德鲁 | 6615927284 | 10 |
2 | 萨拉 | 6583654865 | 20 |
3 | 哈里 | 4647567463 | 10 |
<课程>
课程号 | 课程名称 | 课程讲师 |
---|---|---|
10 | 数据库管理系统 | 科斯 |
20 | 算法 | 科曼 |
30 | 算法 | 莱瑟森 |
<选课>
学号 | 课程号 |
---|---|
1 | 10 |
2 | 20 |
3 | 10 |
<学生> 表中的超键为:
{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}
<学生> 表中的候选键为 {学号} 或 {学生电话}
<课程> 表中的候选键为 {课程号} 或 {课程名称,课程讲师}
<学生> 表中的候选键为 {学号,课程号}
<学生> 表中的主键为 {学号}
<课程> 表中的主键为 {课程号}
<选课> 表中的主键为 {学号,课程号}
<选课> 表中的组合键为 {学号,课程号}
<学生> 表中的次要键为 {学生电话}
<课程> 表中的次要键为 {课程名称,课程讲师}
{课程号} 是 <学生> 表的外键,也是 <课程> 表的主键。
广告