怎样判断一个函数依赖集属于第几范式

判断一个函数依赖集属于第几范式——
首先,要懂得以下几条概念:
1.完全函数依赖: 如果X→Y,且对于任意一个X的子集X’,都有X’↛ Y,则称Y完全函数依赖于X
2.部分函数依赖:Y不完全函数依赖于X
总之,如果一个属性Y既依赖于X,也依赖于X的某个子集,则说明Y部分依赖于X
3.传递函数依赖:如果X→Y,Y→Z,且Y∉X,Y↛ X,则称Z传递函数依赖于X
4.直接函数依赖:如果X→Y,Y→Z,且Y→X,即X←→Y,则称Z直接函数依赖于X

范式分别会有的特征
1级范式:所以属性都是不可分的基本数据项
2级范式:所有非主属性都完全函数依赖于码(没有部分函数依赖
3级范式:所有非主属性都完全函数依赖于码,且不存在对码的传递函数依赖(没有部分函数依赖和传递函数依赖
BC范式:所有属性(非主、主)都完全函数依赖于码,不存在对码的部分函数依赖和传递函数依赖,每一个决定属性集都包含码
注:这里说的码都是候选码

                   1NF
            	    ↓  消除非主属性对码的部分函数依赖
                   2NF
                    ↓  消除非主属性对码的传递函数依赖
                   3NF
            	    ↓  消除主属性对码的部分和传递函数依赖
           	       BCNF 
            	    ↓  消除非平凡且非函数依赖的多值依赖
           	       4NF
                    ↓  消除不是由候选码所蕴含的连接依赖 
           	       5NF

1NF→5NF:消除决定属性集非码的非平凡函数依赖

你可能感兴趣的:(数据库范式)