范式总结
原创
©著作权归作者所有:来自51CTO博客作者TuxYue的原创作品,请联系作者获取转载授权,否则将追究法律责任
关系型数据库中的关系需要满足一定的要求,而这些要求就是范式。而所谓第几范式就是说关系满足哪一个级别的要求。
下面的函数依赖范围内的几级范式做下总结:
一、概念简化:
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,B,C,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是码,所以所有的决定因素都含码。
第一次写博客,还请大家海涵
下一篇:我的友情链接
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
mysql范式简单总结
mysql范式简单总结
mysql 范式 简单总结 -
【软考总结】——数据库之范式
设计关系数据库时,遵从不同的规范要求,设计出合理的关系型
主键 函数依赖 三范式 -
DM@命题公式范式@析取范式和合取范式@主范式基础
- 命题公式有两种常用的规范表示方法;- 规范的表达式能表达真值表所提供的一切信息- 这里介绍任意命题一般规范化和主范式化
数理逻辑 命题公式 析取范式 合取范式 重言式