极小函数依赖集
对关系模式R(U,F),如果函数依赖集F满足下列条件,则称F未R的一个极小函数依赖集(或称为最小依赖集,最小覆盖),记为Fmin
F中每个函数依赖的右部仅含有一个属性;F中每个函数依赖的左部不存在多余的属性;F中不存在多余的函数依赖
计算极小函数依赖集的算法:
(1)使F中每个函数依赖的右部都只有一个属性(属性集用分解)
(2)去掉各函数依赖左部多余的属性
(3)去掉多余的函数依赖
范式
第一范式:要求关系中不能有复合属性,多值属性及其组合
第二范式:
如果某个第一范式的主键是由多个属性共同构成的复合主键,并且存在非主属性对主键的部分函数依赖,则这个关系就不是第二范式
第二范式分解:
(1)用组成主键的属性集合的每一个子集作为主键构成一个关系模式
(2)将依赖于这些主键的属性放置到相应的关系模式中
(3)最后去掉只由主键构成的关系模式
第三范式:如果R(U,F)属于第二范式,并且所有的主属性都不传递依赖于主键,则R(U,F)属于第三范式
第三范式分解:
(1)对于不是候选键的每个决定因子,从关系模式中删去依赖于它的所有属性
(2)新建一个关系模式,新关系模式中包含原关系模式中所有依赖于该决定因子的属性
(3)将决定因子作为新关系模式的主键