超键
是一个或多个属性的集合,这些属性的组合可以使我们在一个实体集中唯一的标识一个实体。例如:学生是一个实体,则学生的集合是一个实体集,而超码是用来在学生的集合中区分不同的学生。假设学生具有多个属性:学号,身份证号,姓名,性别。因为通过学号可以找到唯一一个学生,所以{学号}是一个超码,同理{学号,身份证号}、{学号,身份证号,姓名}等等也是超码.
候选键
是从超码中选出的,自然地候选码也是一个或多个属性的集合。因为超码的范围太广,很多是我们并不感兴趣即无用处的。所以候选码是最小超码,它们的任意真子集都不能成为超码。例如,如果A是超码,那么所有包含A的集合都不能是候选码;如果A,B都不是超码,那么A和B组成的集合(A,B)有可能是候选码。
主键
就是从多个候选码中任意选出一个,如果候选码只有一个,那么候选码就是主码。例如:超码中说到的学号就是要给主码
外键
在一个关系A中,有一个属性b不是关系A主键或候选键,但是是另一关系B的主键,这中情况属性b则是关系A中的外键
全键
可以理解为是候选码的一种特殊情况,如果关系中只有一个候选码,且这个候选码中包含了全部属性,那么这个候选码为全码