范式总结

 

关系型数据库中的关系需要满足一定的要求,而这些要求就是范式。而所谓第几范式就是说关系满足哪一个级别的要求。
下面的函数依赖范围内的几级范式做下总结:
一、概念简化:
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是码,所以所有的决定因素都含码。
 
 第一次写博客,还请大家海涵

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