数据库中-键(超键、候选键、主键、外键)相关简介说明


摘要:
下文讲述数据库中超键、候选键、主键、外键中的相关说明,如下所示:

在数据库中,数据表由字段组成,我们将这些字段进行了相关分类,分为以下四类:
1.超键(Super Key)
2.候选键(Candidate Key)
3.主键(Primary Key)
4.外键(Foreign Key)

各键概念说明:

超键(super key):在数据表中能唯一标识数据行属性的集合超键。
候选键:(Candidate Key):不含有多余属性的超键称为候选键。也就是说在候选键中在删除属性,就不是键了。
主键(Primary Key):用户用来标识元素唯一属性的键(可以为一个键或组合键)。
外键(Froeign Key):用于关联其它数据表关系键。

例:

一张学生信息表中包含以下数据列:
学号、姓名、性别、年龄、系别、专业、教师编号
超键:
学生信息表中含有学号或者身份证号的任意组合都为此表的超键。如:(学号)、(学号,姓名)、(学号,性别)等
如果 学生信息表 中 姓名 唯一,那么包含姓名的组合都有称之为“超键”
学号唯一,所以是一个超键
姓名唯一,所以是一个超键
(姓名,性别)唯一,所以是一个超键
(姓名,年龄)唯一,所以是一个超键
(姓名,性别,年龄)唯一,所以是一个超键
候选键:
学号唯一,而且没有多余属性,所以是一个候选键
姓名唯一,而且没有多余属性,所以是一个候选键
(姓名,性别)唯一,但是单独姓名一个属性就能确定这个人是谁,所以性别这个属性就是多余属性,所以(姓名,性别)不是候选键
(姓名,年龄),(姓名,性别,年龄)同上,也不是候选键
主键:
主键就是候选键里面的一个,是人为规定的,例如学生表中,我们通常会让“学号”做主键,学号能唯一标识这一个元组。
外键:
例:现在还存在一个教师表,在这张表中“教师编号”是一个主键,那么学生表中“教师编号”就是一个外键。