属性:实体所具有的某一特性,例如学生的姓名,学号等
码/键:能唯一标识实体的属性或属性集,即其闭包包含R的所有属性,其包括主码,候选码,超码
域:某一属性的取值范围为域,如性别的男女,在关系二维表中,列为域
元组:关系二维表中的一行,即学生关系中一个学生记录为一个元组
候选码/候选键:能唯一标识元组的一个属性或属性集,且该属性的组合中不包含多余属性,一个关系可能有多个候选码
求解注意事项:
候选码不能包括候选码,即一个关系R模式(A,B,C,D)中,若A为候选码,则A不可出现在其它候选码中
若BC,BD为候选码,则BCD不可能为候选码,其为超码
主码:从候选码中任取其一
超码:一个或多个属性的集合,这些属性的组合可以使我们在一个实体集中唯一的标识一个实体,候选码是最小的超码
全码:候选码包括关系模式中的所有属性
外码:R2中的属性或属性组是关系模式R1的主码,则该属性或属性组为R2的外码
最小函数依赖集求解:
- 先将F中每个函数依赖的右边部分均变为单属性,例如D→BC转换为D→B,D→C
- 去掉F左边的多余属性,例如BD→A,(B+)包含A,则D为多余属性,去掉
- 去掉F中冗余的函数依赖,例如BD→,(BD+)包含C,则去掉
- 最终得出结果
主属性:包含在任一候选码中的属性,即候选码所有属性的并集
非主属性:不包含在任一候选码之中的属性
第一范式:关系模式中属性均为原子属性,每个属性均不可再分
第二范式:R属于第一范式,且每个非主属性完全依赖于R的主码
当主码为单属性或R的全体属性均为主属性,R必为第二范式
第三范式:R属于第二范式,且每个非主属性都不传递函数依赖于R的主码
BC范式:R属于第一范式,且所有的函数依赖X→Y(Y不属于X),决定因素X都包含了R的一个候选码
简单判定方式:函数依赖集F的左边均一定包含一个候选码