第5章关系数据库设计理论重点讲解.ppt

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

* 无损连接性(lossless join property),确保在分解之后不会发生第5.1.4节中生成伪元组的问题。 依赖保持性(dependency preservation property),确保每个函数依赖会在分解之后产生的一些单独的关系中出现。F中的每个依赖都代表了数据库上的一个约束。如果一个依赖没能在分解的某个单独的关系中出现,就不能在处理一个单独的关系时执行这个约束。 * 下面给出形式化定义及相关算法: 定义5.12:设?={R1,R2,…, Rk}是关系模式R的一个分解,F是R的一个函数依赖集。若对于R的任一关系r都有 则称分解?具有无损连接性。简称?为无损分解。 定义5.13:设ρ={R1,R2,…, Rk}是R的一个分解,F是R上的函数依赖集,若 ,则称ρ具有依赖保持性。 * 算法5.2:无损连接性的检验。 输入:关系模式R(A1,A2,…,An); R上的函数依赖集F; R上的分解?={R1,R2,…,Rk}。 输出:确定?是否具有无损连接性。 方法:(1) 构造一个k行n列的表M,第i行对应于?中的一个关系模式Ri,第j列对应于R的一个属性Aj。表中元素M[i, j]的取值为:如果Aj?Ri,则在第i行第j列上放符号aj,否则放符号bij。 (2) 逐个地检查F中的每一个函数依赖,并修改表中元素。其方法为:取得F中一函数依赖X→Y,在X的分量中寻找相同的行,然后将这些行中Y的分量改为相同的符号。如果其中有aj ,则将bij改为aj;若其中无aj,则改为bij。 (3) 这样反复进行,如果发现某一行变成了a1,a2,…,an,则分解ρ具有无损连接性;如果检验完F中的所以依赖也没有发现这样的行,则分解ρ不具有无损连接性。 * 定理5.4:设ρ={R1, R2}是R的一个分解,F是R上的函数依赖集,ρ为无损分解的充分必要条件是(R1∩R2)→(R1–R2)或(R1∩R2)→(R2–R1)。 * 5.3.2 第一范式和第二范式 定义5.14:对于关系模式R的任一关系r,若其每一属性值都是单个的原子的(atomic)或不可再分的值(indivisible value),则称R为第一范式(first normal form)或规范化关系,记作R?1NF。不满足1NF的关系称为非规范化关系。 * 在对图5.5、5.7规范化后,可得满足1NF的关系,如图5.6、5.8所示。 * 要注意的是,1NF是最基本一级的模式,任何关系都应遵守。但对象关系系统(ORDBMS)允许非规范化的关系。 * 定义5.15:若关系模式R是第一范式,且每一个非主属性完全函数依赖于键,则称R是第二范式(second normal form),记作R?2NF。 也就是说,对于2NF,关系模式R中的非主属性不能有部分依赖于键。 对2NF的检验包括检验函数依赖左边属性是否是键的一部分。如果键只包含一个单个属性,则不需要应用该检验。 * 5.3.3第三范式 定义5.16:若关系模式R中,不存在这样的键X、属性组Y、及非主属性Z(Z?Y),使得X→Y(并且X不函数依赖于Y)、Y→Z成立,则称R是第三范式(third normal form),记作R?3NF。 从定义可知,R中的所有的非主属性对键不存在传递依赖。那么满足3NF是否一定满足2NF呢?答案是肯定的,因为部分依赖必然是传递依赖,所以若一关系模式R不存在传递依赖,则必不存在部分依赖,即若R?3NF?R?2NF。 * 定义5.17:若关系模式R中的每个非平凡的函数依赖X→Y,都有X是键或Y是主属性,则称R?3NF。 部分依赖和传递依赖是产生异常的两个主要原因。在3NF中不存在非主属性对键的部分依赖和传递依赖,因此消除了很大一部分异常问题,具有较好的性能。但是3NF并没有排除主属性对键的传递依赖,所以仍有可能产生存储异常问题。 * 5.3.4 Boyce-Codd 范式 Boyce-Codd 范式(Boyce-Codd normal form)是由Boyce和Codd提出的第三范式的改进形式。3NF不存在部分函数依赖和传递依赖,从而消除了大部分存储异常问题,但3NF中允许主属性对键的传递依赖,因此仍有可能存在异常。BCNF是对3NF的改进或修正。 定义5.18:设有关系模式R?1NF,F是R的函数依赖集,若F中的每个非平凡函数依赖X→Y(Y?X),X都含有键,则称R是Boyce-Codd 范式,记作R?BCNF。 也就是说,关系模式R中的每一个决定因素都包含键。 * 由BCNF的定义可知: (1) 非主属性对每一个键都是完全函数依赖; (2) 主属性对

文档评论(0)

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

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

1亿VIP精品文档

相关文档