数据库中的非主属性和主属性、以及候选码和关键码分别指什么?

如题所述

1、非主属性

不包含在任何一个候选码中的属性称为非主属性。非主属性是相对与主属性来定义的。

2、主属性

在一个关系中,如果一个属性是构成某一个候选关键字(候选码)的属性集中的一个属性,则称它为主属性(Primeattribute)。

3、候选码

若关系中的一个属性或属性组的值能够唯一地标识一个元组,且他的真子集不能唯一的标识一个元组,则称这个属性或属性组做候选码。

4、关键码

关键码在数据结构中关键码指的是数据元素中能起标识作用的数据项,例如,书目信息中的登陆号和书名等。其中能起唯一标识作用的关键码称为“主关键码”,如登陆号;反之称为“次关键码”。

扩展资料

求解候选码基本算法的具体步骤:

第1 步,求关系模式R< U,F > 的最小函数依赖集F。

第2步,按照上面的定义,分别计算出UL,UR,UB(UL表示仅在函数依赖集中各依赖关系式左边出现的属性的集合;UR表示仅在函数依赖集中各依赖关系式右边出现的属性的集合;另记UB=U-UL-UR)。

第3步,若UL≠Φ,计算UL的闭包,若UL+=U,则UL为R的唯一的候选码,算法结束;若UL+≠U,转第4步,若UL=Φ,转第5步。

第4步,将UL依次与UB中的属性组合,利用上述的定义4判断该组合属性是否是候选码;找出所有的候选码后,算法结束。

第5步,对UB中的属性及属性组合利用上述的定义4依次进行判断;找出所有的候选码后,算法结束.。

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-10-11
主属性——包含在任一候选关键字中的属性称主属性。

非主属性——不包含在主码中的属性称为非主属性。
非主属性是相对与主属性来定义的。

候选码——若关系中的某一属性组的值能唯一的标识一个元组,而其任何真子集都不能再标识,则称该属性组为候选码。
例如:在学生实体中,“学号”是能唯一的区分学生实体的属性,同时又假设“姓名”、“年龄”的属性组合足以区分学生实体,那么{学号}和{姓名,年龄}都是候选码

关键码——唯一可以决定整个关系的码就是关键码
关系模式R(A,B,C,D),F是R上成立的FD集,F={AB→C,D→A}
——D→A AB→C——
因为D决定A,所以AB可以决定C 就相当于DB决定C,所以DB可以决定A和C,即DB可以决定整个R关系本回答被提问者采纳
相似回答