【数据库系统概论】BCNF.ppt

【数据库系统概论】BCNF.ppt

ID:50934212

大小:204.00 KB

页数:50页

时间:2020-03-16

【数据库系统概论】BCNF.ppt_第1页
【数据库系统概论】BCNF.ppt_第2页
【数据库系统概论】BCNF.ppt_第3页
【数据库系统概论】BCNF.ppt_第4页
【数据库系统概论】BCNF.ppt_第5页
资源描述:

《【数据库系统概论】BCNF.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、§7.2.6BCNFBCNF比3NF更进一步,其消除主属性对码的部分与传递依赖。1.定义7.8:关系模式R∈1NF,若X→Y且YX时X必含有码,则R∈BCNF。即:R中,每一个决定因素都包含码,则R∈BCNF。2.结论:⑴.所有非主属性对每一个码都是完全函数依赖。显然,这是3NF的要求所达到的,非主属性不部分、传递函数依赖于码。⑵.所有主属性对每一个不包含它的码,是完全函数依赖。这是BCNF的特征:让主属性对不包含它的码也无部分、传递FD。如,有X∈U,Y∈U,且X→Y,Y→X,若Y′是Y中的码,则有Y′→X。⑶.无任何属性完全函数依赖于非

2、码的属性。BCNF中没有任何属性对非码属性完全函数依赖。3.实例:例子1:C〈C#,CN,PC#,C#→CN,C#→PC#〉没有对C#的部分和传递函数依赖。所以C∈3NF。又因C中C#是唯一的决定因素。所以C∈BCNF。例子2:S〈S#,SN,SD,SA,S#→SA,S#→SD,SN→SA,S#→SD〉S有两个码:S#、SN。它们都由单个属性组成,互不相交。没有对S#和SN的部分和传递函数依赖。所以S∈3NF。又因S中S#和SN是唯一的决定因素。所以S∈BCNF。4.讨论:⑴.若R∈BCNF,则R∈3NF。证明:假设R∈BCNF且R∈3NF,则必存在传递依赖有:X→Y,Y→Z,Y→

3、X,YX由于R∈BCNF,则Y→Z中的Y必含有码Y′∴Y→Y′(Y中包含有Y′)Y′→X(结论2)∴Y→X∴与假设不符故R∈3NF。⑵.若R∈3NF,则R未必属于BCNF。反例见书上166页的例2。5.3NF与BCNF的区别:3NF中可能存在主属性对码的部分、传递函数依赖。§7.2.7多值依赖1.引入:在书167页上的例子中在关系模式TEACH中,C—课程,T—教员,B—参考书,有一组值(C,B),则必有一个T值与之对应。同理,有一组值(C,T),则必有一个B值与之对应。所对应的值只由C决定。这就是要给大家介绍的多值依赖:C→→T,C→→B。2.定义7.9:设R(U)是属性集U上

4、的一个关系模式。X,Y,Z是U的子集,并且Z=U-X-Y,多值依赖X→→Y成立当且仅当对R(U)的任一关系r,给定的一对(x,z)值有一组Y的值,这组值仅仅决定于x值而与z值无关。3.实例:见书168页的例24.多值依赖的性质:⑴.若X→→Y,则X→→Z,其中Z=U-X-Y,即多值依赖的对称性。证明:假设X→→Z不成立,则根据多值依赖定义有元组在Z上的取值与Y有关,存在两组值:(x,yi),(x,yj),yi≠yj在Z上对应的元组不全相同一般可假设zk为(x,yi)所对应的Z值的集合,但不属于(x,yj)所对应的值集合,则有(x,yi,zk)∈r,(x,yj,zk)∈r,又由多值依

5、赖定义有yi与yj交换得一新元组(x,yj,zk)∈r,这与假设结论矛盾,故X→→Z成立。⑵.若X→Y,则X→→Y,即函数依赖是多值依赖的特殊情况。这是由于当X→Y时,对X的每一个值x,Y有一个确定的值y与之对应,由多值依赖的定义可知:X→→Y⑶.若X→→Y,而Z=○,则称X→→Y为平凡的多值依赖。5.多值依赖与函数依赖的区别:⑴.函数依赖:其有效性仅决定于X,Y这两个属性集的值,只要在R(U)的任何一个关系r中,元组在X和Y上的值满足定义7.1,则函数依赖X→Y在任何属性集W(XYWU)上成立。多值依赖:其有效性与属性集的范围有关,X→→Y在U上成立则在W(XYWU)上成

6、立,反之则不然。⑵.若函数依赖X→Y在R(U)上成立,则对于任何Y′Y均有X→Y′成立。若多值依赖X→→Y若在R(U)上成立,则不能断言对于任何Y′Y均有X→→Y′成立。∩∩§7.2.84NF4NF是消除了非平凡且非函数依赖的多值依赖。1.定义7.10:关系模式R∈1NF,若X→→Y(YX)是非平凡的多值依赖,且X含有码,则称R∈4NF。注:一个关系模式若属于4NF,则必然属于BCNF。R中所有平凡的多值依赖实际上是函数依赖。2.非4NF的反例:书168页上的例2,虽然W→→S,W→→C是非平凡的多值依赖,但是W不是码,(W,S,C)才是码。故WSC∈4NF。

7、3.非4NF的关系模式存在的问题:数据冗余。4.解决方法:投影分解。§7.2.9规范化小结规范化的目的是:消除关系模式中存在的插入异常、删除异常、修改复杂和数据冗余等毛病。基本思想是:逐步消除数据依赖中不合适的部分,使概念单一化。1NF→2NF:消除非主属性对码的部分函数依赖。2NF→3NF:消除非主属性对码的传递函数依赖。3NF→BCNF:消除主属性对码的部分和传递函数依赖。BCNF→4NF:消除非平凡且非函数依赖的多值依赖。方法:通过对关系模式的投影分解来实现的。

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。