函数依赖和范式-will.miao
Access软件网QQ交流学习群(群号码198465573),欢迎您的加入!
首页 >技术文章> ADP及SQL SERVER


函数依赖和范式

发表时间:2019/4/12 10:02:17 评论(0) 浏览(4701)  评论 | 加入收藏 | 复制
   
摘 要:函数依赖和范式
正 文:
一、函数依赖概念


1、函数依赖概念:相当于数学中的函数,U是属性全集,x和y是U上的子集,x对应唯一确定的y,即x->y(y依赖于x)。


2、完全依赖和不完全依赖:U是属性全集,x和y是U上的子集,x1是x的真子集,如果x->y,且x1不能确定y,则是完全函数依赖,反之x1->y,则是不完全函数依赖。


3、传递依赖:U是属性全集,x、y和z是U上的子集,x->y(但是y不能确定x),y->z,则x->z。


二、范式


作用与背景:消除关系模式的数据冗余,解决删除和插入操作的异常。从而为不同程度的规范化设立不同的标准。


1NF:属性不能再拆分。举一个反例,关系模式R(身份,身体状况),明显身份可以拆分为姓名,编号等,所以不是第一范式。


2NF:非主属性完全依赖于码。举一个反例,关系模式R(姓名,学号,班级编号,班级名),满足1NF,候选码为学号和班级编号,(学号,班级编号)->姓名,(学号,班级编号)->班级名,但是学号->姓名,班级编号->班级名,所以不是第二范式。(通过完全依赖概念得出)


3NF:非主属性不传递依赖于码。举一个反例,关系模式(姓名,学号,班级,班主任),满足2NF,,主键是学号,但是学号->班级,班级->班主任,得出学号->班主任,所以不是第三范式。(通过传递依赖概念得出)


BCNF:消除主属性对码的部分依赖和传递依赖。反例不好举出,凑一个吧,满足3NF,关系模式(姓名,学号,学科号,成绩),假设名字没有重复,得出依赖姓名->学号,学号->姓名,(学号,学科号)->成绩,(姓名,学科号)->成绩,可以看出主属性对码的部分依赖,达不到BCNF。


总结:一般达到3NF可在市场流通。


4NF:满足BCNF,消除“多对多”的关系模式。


如:“多对多”模式



可以看出学号,姓名,课程编号,课程名称重复,数据冗余,可以化为“一对多”的模式,从而实现4NF。

      

学生信息表(左)和选课表(右)(一对多)


课程表(左)


Access软件网交流QQ群(群号:198465573)
 
 相关文章
access数据库正规化之数据库的五大范式  【duen4696  2008/5/12】
再提access数据库正规化之数据库的五大范式  【UMVsoft整理  2008/12/24】
通俗易懂的数据库三范式   【缪炜  2013/2/24】
说说数据库范式  【茼蒿  2013/6/5】
数据库设计范式  【杜超-2号  2014/6/15】
范式麻雀-关于如何建表的若干知识【菜鸟必读】  【smileyoufu  2017/11/30】
数据库三范式视频讲解  【张志  2019/3/23】
常见问答
技术分类
相关资源
文章搜索
关于作者

will.miao

文章分类

文章存档

友情链接