光辉飞翔

导航

 

一、超键

是指可以唯一标识关系模式中的元组(数据记录)的一个或多个属性的集合。简单来说,超键是在给定关系模式中,能够唯一标识一个元组的属性集合。超键中的属性可以是关系模式中的任意属性,它可以是单个属性或多个属性的组合。
举例来说,对于一个关系模式R(A,B,C,D),其中A、B、C、D为属性,(A,B)、(A,C)、(A,B,C)、(A,D)、(B,D)等都是R的超键,它们都能够唯一标识R中的元组。

超键可以作为候选键和主键的基础,它们之间没有直接的联系和区别。

二、候选键

是指能够唯一标识一个关系模式中元组的属性集合。简单来说,候选键是超键的子集,它们的属性组合能够唯一标识一个元组。
在一个关系模式中,可能存在多个候选键。候选键必须满足两个条件:唯一性和最小性。唯一性指候选键的属性组合能够唯一标识一个元组,即不存在重复的元组。最小性指候选键的属性组合中任何一个属性去掉后,就不能唯一标识一个元组。
举例来说,对于一个关系模式R(A,B,C,D),其中A、B、C、D为属性,(A,B)、(A,C)、(A,B,C)都是R的候选键,它们的属性组合能够唯一标识R中的元组,并且不能再去掉任何一个属性。
候选键可以作为主键的候选,主键的选择一般是从候选键中选取的。候选键也可以作为外键的参照。

 三、主键

是在关系模式中选择的一个候选键,用来唯一标识关系模式中的元组。简单来说,主键是一个关系模式中能够唯一标识一个元组的属性组合。

主键必须满足两个条件:唯一性和非空性。唯一性指主键的属性组合能够唯一标识一个元组,即不存在重复的元组。非空性指主键的属性组合中的任何一个属性都不能为空。

根据实际需求和关系模式的特点,可以选择一个或多个属性作为主键,但主键值必须在整个关系模式中是唯一的。
举例来说,对于一个关系模式R(A,B,C,D),其中A、B、C、D为属性,如果选择(A,B)为主键,则(A,B)的属性组合能够唯一标识R中的元组,并且不能为空。
主键可以作为外键的参照,用于建立不同表之间的关系。


四、外键

是用来建立关系模式之间的联系和引用其他关系模式的主键的一个或多个属性。简单来说,外键是一个关系模式中的属性,它引用了其他关系模式的主键。
外键用于建立关系数据库中的表与表之间的关联关系,用于维护数据的完整性和参照完整性。

举例来说,对于一个关系模式R(A,B,C)和关系模式S(D,E),其中A、B、C、D、E为属性,如果在R中的属性C引用了S中的主键D,则C为R中的外键,D为S中的主键。
外键可以确保数据的完整性。当插入、更新或删除一个关系模式中的元组时,如果有外键引用关系,数据库系统会自动检查外键的完整性,并根据约束规则执行相应的操作。

 

五、联系和区别

1.超键、候选键、主键和外键都是关系数据库中的重要概念,用于定义和约束数据实体之间的关系以及数据的完整性。
2.超键是在给定关系模式中能够唯一标识一个元组的属性集合。候选键是超键的子集,它们的属性组合能够唯一标识一个元组。主键是在候选键中选择的一个候选键,用来唯一标识一个元组。外键是一个关系模式中的属性,它引用了其他关系模式的主键。

3.超键可以作为候选键和主键的基础。候选键中选择的一个候选键可以作为主键。主键可以作为外键的参照。
4.超键、候选键、主键和外键之间的唯一区别在于它们的功能和作用:超键是属性集合,用于唯一标识一·个元组:候选键是超键的子集,用于唯一标识一个元组:主键是选择的一个候选键,用于唯一标识一个元组并且不能为空:外键是引用其他关系模式的主键,用于建立关系和维护数据的完整性。
5.建立关系模式之间的联系时,可以使用外键引用其他关系模式的主键。通过外键可以建立关系数据库中的表与表之间的关联关系,并维护数据的完整性和参照完整性。

6.在数据库设计中,主键和外键是两个最常用的约束关系,它们在维护数据的完整性和参照完整性面起着重要的作用。主键用于唯一标识一个元组,外键用于建立表与表之间的关联关系。

 

举例:

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

超键

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

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

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

 

候选键

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

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

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

 

主键:

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

 

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

 

posted on 2025-07-07 11:56  光辉飞翔  阅读(190)  评论(0)    收藏  举报