数据库原理-键

键的定义:所有的键都是一个集合,这个集合可以包括一个集,也可以是多个集。
超键(super key):在关系中能惟一标识元素属性的集称为关系模式的超键。
候选键:(Candidate Key):不含有多余属性的超键称为候选键。也就是说在候选键中在删除属性,就不是键了。
主键(Primary Key):用户选作元组标识的候选键为主键。一般不加说明,键就是主键。
外键(Froeign Key):如果模式R中的属性k是其他模式的主键,那么k在模式R中称为外键。

举例:
学生成绩信息表中有(学号、姓名、性别、年龄、系别、专业等)

超键:

  学生表中含有学号或者身份证号的任意组合都为此表的超键。如:(学号)、(学号,姓名)、(学号,性别)等

  我们假设学生的姓名唯一,没有重名的现象。

      学号唯一,所以是一个超键
      姓名唯一,所以是一个超键
     (姓名,性别)唯一,所以是一个超键
     (姓名,年龄)唯一,所以是一个超键
     (姓名,性别,年龄)唯一,所以是一个超键

 
候选键:

   学号唯一,而且没有多余属性,所以是一个候选键

   姓名唯一,而且没有多余属性,所以是一个候选键

  (姓名,性别)唯一,但是单独姓名一个属性就能确定这个人是谁,所以性别这个属性就是多余属性,所以(姓名,性别)不是候选键
  (姓名,年龄),(姓名,性别,年龄)同上,也不是候选键

 
主键:

  主键就是候选键里面的一个,是人为规定的,例如学生表中,我们通常会让“学号”做主键,学号能唯一标识这一个元组。

 
外键:外键就很简单了,假如我们还有一个教师表,每个教师都有自己的编号,假设老师编号在老师这个层次中是主键,在学生表中它就是外键。

猜你喜欢

转载自blog.csdn.net/xfcy1990/article/details/89453523
今日推荐