搜索

什么是BCNF比第三范式多了哪些限制条件

gecimao 发表于 2019-06-03 10:41 | 查看: | 回复:

  可选中1个或多个下面的关键词,搜索相关资料。也可直接点“搜索资料”搜索整个问题。

  为了建立冗余小,结构合理的数据库,将关系数据库中关系划分为不同等级的范式。目前为止的范式系列有:第一范式,第二范式,第三范式,BCNF,第四范式和第五范式,这六种范式一级比一级要求高。 下面每种范式以一个例子来说明定义: 一个关系模型R中,有职工号,姓名,电话号码组成一个表。 第一范式: 在关系R中的每个具体关系r中,如果每个属性值都是不可分割的最小的数据单元,则R是第一范式。 例子中属性都是不可分割的,可知R属于第一范式,规范1NF的方法有: (1)重复存储职工号和姓名。关键字是电线)职工号为关键字,电话号码分为单位和住宅两个属性。 (3) 职工号为关键字,但强制每条记录一个电话号码。 第二范式: 关系模式R(U,F)中所有的非主属性都完全依赖于任何一个候选关键字。 如选课关系SCI(SNO,CNO,GRADE,CREDIT),SNO:学号,CNO:课程号,GRADE:成绩,CREDIT:学分 关键字组合(SNO,CNO),CREDIT依赖于CNO,不完全依赖与候选键,所以不是第二范式。 非第二范式产生的问题有: (1)数据冗余。一门课40个学生选,学分要重复40次。 (2)更新异常。若调整某课程的学分,相应CREDIT都需要更新,有可能出现同一门课不同学分。 (3)插入异常。如计划开课,由于没人选,没有学号关键字,只能等人选修才能把课程和学分录入。 (4)删除异常。 若学生结业,从当前数据库删除选修记录。某门课程新生尚未选修,此课程及学分无法保存。 解决方法: 分为两个关系模式SCI(SNO,SNO,GRADE),C2(CNO,CREDIT)。为第二范式。 第三范式: 关系模式R(U,F)中的所有非主属性对任何候选关键字都不存在传递依赖。 如SI(SNO,SNAME,DNO,DNAME,LOCATION)分别为学号,姓名,所在系,系名称和系地址。 SNO为单个关键字。肯定是2NF。但有大量冗余。 SNO-DNO,DNO-LOCATION.而DNO-SNO不存在。依次SNO对LOCATION是传递函数依赖。非第三范式。 解决方法: 分为两个关系S(SNO,SNAME,DNO),D(DNO,DNAME,LOCTION)。S中必须有外键DNO。 4.BCNF R(U,F)中的所有属性(包括主,非属性)都不传递函数依赖与R的任何候选关键字。 如:WPE(WNO,PNO,ENO,QNT)分别表示:仓库号,配件号,职工号和数量。 有如下条件:(1)一个仓库多个职工。(2)一个职工只在一个仓库工作。(3) 每个仓库里各型号的配件由专人负责,但一个人可管理几种配件。(4)同种型号的配件可以分放在几个仓库。由PNO不能确定QNT,由组合(WNO,PNO)来确定,有函数依赖(WNO,PNO)-QNT,同样(WNO,PNO)-ENO。可知(WNO,PNO)是一个候选关键字。而(PNO,ENO)同样也是候选关键字。所以WNO,PNO,ENO都是主属性,QNT是非主属性。由于QNT对任一个个候选关键字都是直接函数依赖,所以是3NF。对于候选关键字(PNO,ENO),由于(PNO,ENO)-ENO,ENO-WNO,可知主属性WNO传递函数依赖与候选关键字,所以该模式不是4NF。

本文链接:http://brazilianthongs.net/disanfanshi/483.html
随机为您推荐歌词

联系我们 | 关于我们 | 网友投稿 | 版权声明 | 广告服务 | 站点统计 | 网站地图

版权声明:本站资源均来自互联网,如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

Copyright @ 2012-2013 织梦猫 版权所有  Powered by Dedecms 5.7
渝ICP备10013703号  

回顶部