极小函数依赖集
定义
记作F+
- F中每个函数依赖的右部仅含有一个属性;
- F中每个函数依赖的左部不存在多余的属性;
- F中不存在多余的函数依赖
计算极小函数依赖集方法
- 使F中每个函数依赖的右部都只有一个属性
- 去掉各函数依赖左部多余的属性
- 去掉多余的函数依赖
(如果第二步结果都是多余属性,则需要分类讨论)
范式
第一范式(1NF)
关系中不能有复合属性、多值属性及其组合
第二范式(2NF)
消除非主属性对候选键部分依赖
每个非主属性都完全函数依赖于主键
单属性 完全函数依赖 属于第二范式
模式分解
可以用模式分解的办法将非第二范式关系分解为多个第二范式关系
- 用组成主键的属性集合的每一个字集作为主键构成一个关系模式
- 将依赖于这些逐渐的属性放置到相应的关系模式中
- 最后去掉只由主键的子集构成的关系模式
第三范式(3NF)
第二范式关系同样可能存在操作异常情况,如数据插入问题
所以需要对第二范式关系模式继续分解
所有的非主属性都不传递依赖于主键
去掉传递函数依赖的分解过程
- 对于不是候选键的每个决定因子,从关系模式中删去依赖于它的所有属性
- 新建一个关系模式,新关系模式中包含原关系模式中所有依赖于该决定因子的属性
- 将决定因子作为新关系模式主键