第4章 数据依赖与关系模式规范化.ppt

  1. 1、本文档共131页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第4章 数据依赖与关系模式规范化

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 基于 (MVD)的关系规范化 定理: 设R(U,D)为关系模式,D为R的函数依赖和多值依赖集, ρ={R1,R2}是R的一个分解,则ρ为无损分解的充分必要条件是 U1∩ U2 →→(U1—U2)|(U2-U1) ∈ D+ 证: 定义4.27:关系模式R〈U,F〉∈lNF, 如果对于R的每个非平凡多值依赖X→→Y ,X都含有码,则称R为4NF 4NF就是限制关系模式的属性之间不允许有非平凡且非函数依赖的多值依赖。因为根据定义,对于每一个非平凡的多值依赖X→→Y,X都含有候选码,于是就有X→Y,所以4NF所允许的非平凡的多值依赖实际上是函数依赖。 基于 (MVD)的关系规范化 显然,如果一个关系模式是4NF,则必为BCNF,但反之不然 多值依赖的“毛病”在于数据冗余太大 我们可以用投影分解的方法消去非平凡且非函数依赖的多值依赖 函数依赖和多值依赖是两种最重要的数据依赖。如果只考虑函数依赖,则属于BCNF的关系模式规范化程度为最高 如果考虑多值依赖,则属于4NF的关系模式规范化程度为最高 规范化过程总结 1NF 2NF 3NF BCNF 消去非主属性对键的部分函数依赖 消去非主属性对键的传递函数依赖 消去主属性对键的传递函数依赖 4NF 消去非平凡且非函数依赖的多值依赖 关系模式设计的原则 我们在进行关系数据库设计时,应作权衡,尽可能使数据库模式保持最好的特性 一般尽可能设计成BCNF模式集,如果设计成BCNF模式集时达不到保持FD的特点,那么只能降低要求,设计成3NF模式集,以求达到保持FD和无损分解的特点 模式分解并不单指把泛关系模式分解成数据库模式,也可以把数据库模式转换成另一个数据库模式,分解和转换的关键是要“等价” 一个好的模式设计应符合三条原则:表达性、分离性和最小冗余性 作业(2) 4.8 4.9 4.11 4.12 * * * * * * * * * * * * * * * * * * * * * * * * * * * 定义4.24:如果关系模式R中的非主属性既不部分函数依赖也不传递函数依赖于R上的所有候选键,则称R满足3NF,表示为R∈3NF 3NF是在2NF的基础上消除非主属性对于键的传递依赖 如果数据库模式中每个关系模式都是3NF,则称其为3NF的数据库模式 第三范式(3NF) 第三范式(3NF) 在例4-15中,R2是2NF模式,而且也是3NF; R1(C#,TNAME,TADDR)是2NF,但不是3NF;因为R1中存在函数依赖C#→TNAME和TNAME→TADDR,C#→TADDR是一个传递依,此时R1的关系中也会出现冗余和异常操作;譬如一个教师开设五门课程,那么关系中就会出现五个元组,教师的地址就会重复五次 如果把R2分解成R21(TNAME,TADDR)和R22(C#,TNAME)后,C#→TADDR就不会出现在R21和R22中,R21和R22都是3NF模式 第三范式(3NF) 推论1:如果R是3NF模式,那么R也是2NF模式 证明: 推论2:设关系模式R,当R上每一个FD X→A满足下列三个条件之一:A∈X(即X→A是一个平凡的FD);X是R的超键;A是主属性。则关系模式R就是3NF模式 证明: 第三范式(3NF) 图6.15 违反3NF的传递依赖的三种情况 定义4.25:若对于R上的任何非平凡函数依赖X→Y都有X必包含R的某个候选键,则称R满足BCNF,表示为R∈BCNF 定义4.25’:如果关系模式R中的每个属性都不传递依赖于R的候选键,则称R是BCNF模式 BCNF 推论:如果R是BCNF模式,那么R也是3NF模式 BCNF是在3NF的基础上消除主属性对于键的部分依赖和传递依赖 如果数据库模式中每个关系模式都是BCNF,则称为BCNF的数据库模式 BCNF BCNF 图6.16 主属性对候选键的传递依赖 BCNF 上述定义说明,若关系模式RU,F中的每一个决定因素都包含键,则R∈BCNF 这就是说,在BCNF中,除了键决定其它所有属性这样的函数依赖及其所蕴涵的函数依赖外,不再有其它非平凡的函数依赖,特别是不存在以不含键的属性组作为决定子(即左部)的非平凡的函数依赖。 BCNF在概念上已足够“单纯”,就函数依赖而言,它已进行了所有必须的分解,并消除了增、删、改异常和数据冗余 BCNF举例 例l: 关系模式SJP(S,J,P)中,S表示学生,J表示课程,P表示名次;每一个学生选修每门课程的

文档评论(0)

wyjy + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档