超键(super key): 在关系中能唯一标识元组的屬性集称为关系模式的超键
候选键(candidate key): 不含有多余属性的超键称为候选键也就是在候选键中,若再删除属性就不是键了!
主键(primary key): 用户选作元組标识的一个候选键程序主键
主键和外键和候选键区别(foreign key):如果关系模式R中属性K是其它模式的主键,那么k在模式R中称为主键和外键和候选键區别
-
在关系中能唯一标识元组的属性集称为关系模式的超键。
于是我们从例子中可以发现 学号是标识学生实体的唯一标识那么该元组嘚超键就为学号。
除此之外我们还可以把它跟其他属性组合起来比如:
-
不含多余属性的超键为候选键。
根据例子可知学号是一个可以唯一标识元组的唯一标识,因此学号是一个候选键实际上,候选键是超键的子集比如 (学号,年龄)是超键但是它不是候选键。因為它还有了额外的属性
-
用户选择的候选键作为该元组的唯一标识,那么它就为主键
简单的说,例子中的元组的候选键为学号但是我們选定他作为该元组的唯一标识,那么学号就为主键
-
主键和外键和候选键区别是相对于主键的,比如在学生记录里主键为学号,在成績单表中也有学号字段因此学号为成绩单表的主键和外键和候选键区别,为学生表的主键
主键为候选键的子集,候选键为超键的子集而主键和外键和候选键区别的确定是相对于主键的。
}