DBMS中不同类型的键是-
候选键- 表中的候选键定义为最小的键集,可以唯一地标识表中的任何数据行。
主键- 主键是从候选键之一中选择的,并成为表的标识键。它可以唯一地标识表的任何数据行。
超级键- 超级键是主键的超集。超级键包含一组属性,包括主键,可以唯一地标识表中的任何数据行。
复合键- 如果表的任何单个属性都不能作为键,即它不能唯一地标识行,则我们将两个或多个属性组合在一起以形成键。这称为复合键。
辅助键- 仅选择一个候选键作为主键。它们的其余部分称为辅助键。
外键- 外键是表中的属性值,在另一个表中用作主键。因此,外键在将两个表链接在一起时很有用。应当非常小心地在外键列中输入数据,因为错误输入的数据会使两个表之间的关系无效。
一个解释不同键的示例是-
<学生>
学生号码 | 学生姓名 | 学生电话 | 主题编号 |
---|---|---|---|
1 | 安德鲁 | 6615927284 | 10 |
2 | 莎拉 | 6583654865 | 20 |
3 | 哈里 | 4647567463 | 10 |
<主题>
主题编号 | 主题名称 | Subject_Instructor |
---|---|---|
10 | 数据库管理系统 | 柯思 |
20 | 演算法 | 科门 |
30 | 演算法 | 莱森 |
<注册>
学生号码 | 主题编号 |
---|---|
1 | 10 |
2 | 20 |
3 | 10 |
<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>表的主键。