如何理解超键、候选键、主键.

来源:互联网 发布:知矢头发的颜色 编辑:程序博客网 时间:2024/05/29 11:03

 

例如一个表id,name,sex,age四个字段,也就是四个属性.

 

 

其中id,name是能唯一标识一条记录的字段集,也就是属性集.

 

 

1.超键(Super Key):在关系中能惟一标识元组(数据库中的一条记录)的属性集称为关系模式的超键。

 

 

id,name,sex,age,是超键,id,name,sex或者id,name,age也是超键,就是必须包含候选键所包含属性的属性集。超键可以理解为所有能够有效区分数据记录的属性(列)的集合。这里边可以包括一些对区分数据记录无用的属性集。

超键,“超”在这里理解为“多于,有赘余”的意思就方便记忆了。

 

 

 

 

2.候选键(Candidate Key):不含有多余属性的超键称为候选键。也就是在候选键中,若要再删除属性,就不能唯一标识元组了。

 

 

id,name是候选键,因为删除了哪一个属性,都不能唯一标识一个元组。

 

 

 

 

3.主键:(Primary Key):用户选作元组标识的一个侯选键称为主键。一般,如不加说明,则键是指主键。

 

 

如果你选择一个候选键作为标识,这个候选键就称为主键,比如说上面的表里还有个字段叫no,代表你的学号,那么no就也是一个候选键,但你没用它做主键。

 

好好分清这三者之间的关系,理解记忆不难。