1.主键
关系模式中用户正在使用的候选键称为主键(primary key)。
一般,如不加说明,键是指主键。
主键的取值不能缺失,也不能为空值(null)。
2.外键
在关系模式中,如果某属性值是其他模式的候选键,那么该属性集对模式R来说是外键。
3.超键
在关系模式中,能唯一标识元组的属性集称为超键。
4.候选键
如果一个属性集能唯一标识元组,且由不包含多余属性,那么这个属性集称为候选键。
候选键是没有多余属性的超键。
举例
假设有如下两个表:
学生(学号,姓名,性别,身份证号,教师编号)
教师(教师编号,姓名,工资)
超键:
由超键的定义可知,学生表中含有学号或者身份证号的任意组合都为此表的超键。如:(学号)、(学号,姓名)、(身份证号,性别)等。
候选键:
候选键属于超键,它是最小的超键,就是说如果再去掉候选键中的任何一个属性它就不再是超键了。学生表中的候选键为:(学号)、(身份证号)。
主键:
主键就是候选键里面的一个,是人为规定的,例如学生表中,我们通常会让“学号”做主键,教师表中让“教师编号”做主键。
外键:
外键比较简单,学生表中的外键就是“教师编号”。外键主要是用来描述两个表的关系。