数据模型中的键

关系得每个元组是互不相同的,但不同的元组在部分属性上的投影可能相同。例如学生关系中,不同的元组在年龄属性上的投影可能相同。但是,元组在有些属性上的投影是绝对不能相同的,例如学生关系中的学号属性。

1 什么是候选键(candidate key, 简称为键)

如果关系的某一属性或某一些属性的值唯一地决定其他所有属性的值,也就是唯一地决定一个元组,而其任何真子集都不具有上述性质,则这个属性或属性组称为该关系的候选键。

2 什么是超键 (super key)

若属性组虽然可决定其他属性的值,但它的真子集也有此性质,则这种属性组称为超键。

3 什么是主键 (primary key)

一个关系至少有一候选键,也可能有多个候选键,一般从候选键中挑选一个作为主键 。 主键的值可以用来识别和区分元组,它应该是唯一的,即每个元组的主键的值是不能相同的。

在最简单的情况下,候选键只包含一个属性。在最极端的情况下,关系模式的所有属性组是这个关系模式的候选键,称为全键(all-key)。包含在任何一个候选键中的属性称为主属性(prime attribute)。在关系模式中,常在主键的主属性下加下划线,以标出主键。不包含在任何候选键中的属性称为非主属性(non-prime attribute)。

例如,在学生关系中,只有学号是主属性,而其他属性都是非主属性。姓名虽然有时用来识别学生,但由于有同名的可能,因此姓名不能作为主键。

4 什么是外键(foreign key)

如果关系中的属性或属性组不是本关系的键,而是引用其它关系的键,则称为次关系的外键。

绿程网坚持自由、开放、共享的原则

围绕web开发生物分析提供免费在线编程教程生物教程等资源。