关系型数据库中的关系需要满足一定的要求,而这些要求就是范式。而所谓第几范式就是说关系满足哪一个级别的要求。
下面的函数依赖范围内的几级范式做下总结:
一、概念简化:
1、1NF:不含表中表。
2、2NF:非主属性完全依赖于码。
3、3NF:非主属性完全依赖于码,并且不传递依赖于码。
4、BCNF:所有决定因素都含码。
二、3NF总结
      R∈3NF,则每一个非主属性既不部分依赖于码,也不传递依赖于码。
证明:反正法
      1、有3NF范式的定义:关系模式R<U,F>∈3NF,那么不存在这样的码 X ,属性组 Y 和非主属性 Z ( Z 不∈ Y ),使得 X→Y ( Y 不 ->X ), Y→Z。
设非主属性Z部分依赖于码X,Y∈X(Y不等于X)
那么,Y→Z
因为Y∈X(Y不等于X)
所以X->Y
与定义矛盾
2、有1得Y不属于X
所以由定义可知Z不传递依赖于X
3、由上可知,Y若Y∈X(Y不等于X),若Y不属于X则传递依赖于X,既与定义矛盾。
三、BCNF相关总结:
      1、所有非主属性完全依赖于每一个候选码。
R<U,F>,U = {A,B,C,D},{A,B},C是候选码。
A,B)->D,若A—>D,则A是候选码,这样(A,B)就不是候选码了。
      2、所有主属性对于不包含它的码完全依赖。
R<U,F>,U={A,BC,D},(A,B)->C,若A->C 则A是码,那么(A,B)就不是码了。
      3、没有任何属性完全函数依赖于非码的任何一组属性。
若存在完全函数依赖于非码属性组的属性,设R<U,F>,U={A,B,C,D,E}
C,D)->E,又(A,B)->(C,D),所以(A,B)->Z,既R不属于3NF。
4、有1、2、3可知不论主属性还是非主属性都完全依赖于码
5、3NF的不完整性表现在它相对于BCNF来说没有考虑主属性,即满足3NF的关系可能存在主属性部分依赖于码或传递依赖与码。
6、若关系R满足BNCF,则R满足3NF,反之不一定成立
证明:
      3NF范式的定义:关系模式R<U,F>∈3NF,那么不存在这样的码 X ,属性组 Y 和非主属性 Z ( Z 不∈ Y ),使得 X→Y ( Y 不 ->X ), Y→Z。
      BCNF范式定义:关系模式R<U,F>∈1NF,X->Y(Y不属于X),则X一定含码。
   R中存在这样的码 X ,属性组 Y 和非主属性 Z ( Z 不∈ Y ),使得 X→Y ( Y 不 ->X ), Y→Z。
因为Y->Z
所以Y含码
所以Y->X
Y 不 ->X定义矛盾
7、关系模式R(U,F)中所有的属性集合为候选码,则R既满足3NF也满足BCNF。
证明:由题设可知所有的属性都是主属性,即不存在非主属性
           所以满足非主属性完全依赖于码,并且不传递依赖于码。
           所以满足3NF
           U是码,所以所有的决定因素都含码。
 
 第一次写博客,还请大家海涵