当前位置:首页>维修大全>综合>

数据库中的 主属性 码 主码 的区别是什么

数据库中的 主属性 码 主码 的区别是什么

更新时间:2023-07-23 19:11:16

数据库中的 主属性 码 主码 的区别是什么

码:唯一标识实体的属性或属性组合称为码。

超码:某一个能够唯一标识一条记录的属性或属性集。

候选码:某一个属性组的值能够唯一的标识一个元组,而其子集不能,则称该属性组为候选码,候选码是一类特殊的超码,包含候选码的属性组一定是超码。

主码:若一个关系中有多个候选码,则选定其中的一个为主码。

主属性:候选码属性组中的各个属性称为主属性。

非主属性:不包含在候选码中的属性称为非主属性。

全码:关系模式的所有属性是这个关系的候选码,则称该属性组为全码。

例子:学生表(学号、姓名、性别、年龄、班级、系)

学号可以唯一的标识出一个同学的身份,我们可以设置学号为主码。是最简单的候选码。

当姓名不重复的时候姓名也可以作为唯一标识,也可以用来作为候选码,所以姓名也可以作为候选码。以此类推,最极端的情况是全表都用来做主码,这时的主码也叫全码。

所以这里候选码可以是学号,或者姓名(前提是姓名不重复),但是学号+姓名不是候选码,由于它的子集例如学号,姓名能唯一标识一个元组,故不符合定义,它是超码,也就是说候选码中的所有属性都是必须的,缺少了任何一个属性,就不能唯一标识一个元组了,候选码是可以唯一标识一个元组的最少的属性集合。而超码是没有最少属性这个要求的。

由主码的定义可知,主码可以从这两者者之间选择一个即可。主属性为候选码属性组之间的各个属性,例如,候选码:学号,主属性为学号,非主属性为姓名,性别,年龄,班级,系

注意:主属性不能唯一的标识一个元组,而主码必定能够标识(因为主码必定是候选码),两者是不同的。

更多栏目