超码:某一个能够唯一标识一条记录的属性或属性集候选码:某一个属性组的值能够唯一的标识一个元组,而其子集不能,则称该属性组为候选码,候选码是一类特殊的超码,包含候选码的属性组一定是超码主码:若一个关系中有多个候选码,则选定其中的一个为主码主属性:候选码属性组中的各个属性称为主属性非主属性:不包含在候选码中的属性称为非主属性全码:关系模式的所有属性是这个关系的候选码,则称该属性组为全码 例子:学生表(学号、姓名、性别、年龄、班级、系) 学号可以唯一的标识出一个同学的身份,我们可以设置学号为主码。是最简单的候选码。当姓名不重复的时候姓名也可以作为唯一标识,也可以用来作为候选码,所以姓名也可以作为候选码以此类推,最极端的情况是全表都用来做主码,这时的主码也叫全码。所以这里候选码可以是学号,或者姓名(前提是姓名不重复),但是学号+姓名不是候选码,由于它的子集例如学号,姓名能唯一标识一个元组,故不符合定义,它是超码,也就是说候选码中的所有属性都是必须的,缺少了任何一个属性,就不能唯一标识一个元组了,候选码是可以唯一标识一个元组的最少的属性集合。而超码是没有最少属性这个要求的。由主码的定义可知,主码可以从这两者者之间选择一个即可主属性为候选码属性组之间的各个属性,例如,候选码:学号,主属性为学号,非主属性为姓名,性别,年龄,班级,系注意:主属性不能唯一的标识一个元组,而主码必定能够标识(因为主码必定是候选码),两者是不同的.参考文章: /question/24696366/sumaliqinghua/article/details/85872446/hanghangde/article/details/50098353
600字范文,内容丰富有趣,生活中的好帮手!