【Dongle】【数据库】超键、候选键、主键、外键

         最近做试题的时候,遇到数据关系中的各种键(超键、候选键、主键、外键)理解,发现自己能理解,但是和小伙伴讲总是讲不到点上,故而下来又重新总结了一番,相信下面的总结能对您认识数据库关系有一定帮助:    

     

定义

      超键(superkey):在关系中能唯一标识元组的属性集称为关系模式的超键

      候选键(candidatekey):不含有多余属性的超键称为候选键

      主键(primarykey):用户选作元组标识的一个候选键程序主键

      外键(foreignkey)如果关系模式R1中的某属性集不是R1的主键,而是另一个关系R2的主键则该属性集是关系模式R1的外键。


解释

     

      假设有如下两个关系模式:学生(学号,姓名,性别,身份证号,教师编号),教师(教师编号,姓名,工资)。

 

超键

      由超键的定义可知,学生表中含有学号或者身份证号任意组合都为此关系模式的超键。

      如:(学号)、(学号,姓名)、(身份证号,性别)等。

 

候选键

候选键属于超键,它是最小的超键,就是说如果再去掉候选键中的任何一个属性它就不再是超键了。学生关系中的候选键为:(学号)、(身份证号)。

 

主键

主键就是候选键里面的一个,是人为规定的,例如学生表中,我们通常会让“学号”做主键,教师关系中让“教师编号”做主键。

 

外键

外键比较简单,学生表中的外键就是“教师编号”。外键主要是用来描述两个表的关系。

 

主属性、非主属性和主键

严格来说

主属性:指主键列,即主键由一列构成

主键定义:能够唯一标识一个元组的属性或属性集,即可以由多列组成。

 

主属性——包含在任一候选关键字中的属性称主属性。

 

非主属性——不包含在主码中的属性称为非主属性。

非主属性是相对与主属性来定义的。

 

你可能感兴趣的:(数据库)