关系型数据库的超键、候选键、主键

超键(super key):

在一个关系中,能唯一标识元组的属性或属性集,称为关系的超键。

 

候选键(candidate key):

不含有多余属性的超键,称为候选键。

 

主键(primary key):

用户选作元组的唯一标识的一个候选键,称为主键。

用主键可以实现关系定义中的“表中任意两行(行即元组,也可称为实体)不能相同”的约束。

主键可以是任意一个候选键,用户可以根据实际需要选择。

 

eg.学生信息表,包含属性:

身份证,姓名,性别,年龄。

其中身份证肯定是唯一的,可以作为超键;姓名、性别、年龄都可能重复,如果有重复则无法单独作为超键,但是如果姓名和年龄的集合,如果唯一,也可以成为一个超键,并且如果姓名唯一,也能成为一个超键。

同理身份证唯一,所以可以成为一个候选键;如果该关系中姓名没有重复,则也可以作为候选键。但是,身份证和性别的组合则无法成为候选键,因为没有性别,身份证已经是唯一的了,这里,性别就是那个多余的属性(参见上述候选键的定义)。

 

原文地址:https://www.cnblogs.com/mediocreWorld/p/8424173.html