- 1、本文档共37页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
关系数据库规范化理论new.ppt
关系模式的分解准则(续) 这三种分解方案是否都满足分解要求呢? 假设此关系模式的数据如表所示,此关系用r表示。 Sno Dept Loc S01 D1 L1 S02 D2 L2 S03 D2 L2 S04 D3 L1 关系模式的分解准则(续) 若按方案1将S-D-L投影到S-L和D-L的属性上,得到如左边两个表所示的关系。做自然连接得到结果如右表所示。 Sno Loc S01 L1 S02 L2 S03 L2 S04 L1 Dept Loc D1 L1 D2 L2 D3 L1 Sno Dept Loc S01 D1 L1 S01 D3 L1 S02 D2 L2 S03 D2 L2 S04 D1 L1 S04 D3 L1 关系模式的分解准则(续) 无损连接性 将关系模式RU,F分解为个关系模式R1U1,F1,R2U2,F2,…,RnUn,Fn,若对于R中的任何一个可能的r,都有r =r1*r2*…*rn,即r在R1,R2,…,Rn上的投影的自然连接等于r,则称关系模式R的这个分解具有无损连接性。 关系模式的分解准则(续) 再分析方案2。将S-D-L投影到S-D,S-L的属性上,得到的关系如左边两个表所示。做自然连接得到的关系右表所示。 Sno Loc S01 L1 S02 L2 S03 L2 S04 L1 Sno Dept S01 D1 S02 D2 S03 D2 S04 D3 Sno Dept Loc S01 D1 L1 S02 D2 L2 S03 D2 L2 S04 D3 L1 关系模式的分解准则(续) 分析: 方案2自然连接后恢复成了原来的关系,因此,分解方案2具有无损连接性。 但分解方案2没有保持原有的函数依赖关系,也不是好的分解方法。 关系模式的分解准则(续) 分解方案3既满足无损连接性,又保持了原有的函数依赖关系,因此它是有个好的分解方法。 分解具有无损连接性和分解保持函数依赖是两个独立的标准。具有无损连接性的分解不一定保持函数依赖;保持函数依赖的分解不一定具有无损连接性。 一般情况下,在进行模式分解时,应将有直接依赖关系的属性放置在一个关系模式中,这样得到的分解结果一般能具有无损连接性,并能保持函数依赖关系不变。 练习 1.设有关系模式R(A,B,C,D,E),R的函数依赖集: F={A→D,E→D,D→B,BC→D,CD→A}, 求R的候选关键字。 2、设有关系模式R(A,B,C,D,E),其上的函数依赖集: F={A→BC,CD→E,B→D,E→A},求R的候选关键字。 第7章 关系数据库规范化理论 7.1 函数依赖 7.2 关系规范化 7.3 关系模式的分解准则 7.1 函数依赖 定义:如果有一个关系模式R(A1,A2,…,An),X 和Y 为{A1,A2,…,An}的子集,那么对于关系R中的任意一个X值,都只有一个Y 值与之对应,则称X函数决定Y,或Y函数依赖于X。 例:Student(Sno, SName, Sdept, Sage) Sno→SName, Sno→Sdept, Sno→Sage 例: SC(Sno, Cno, Grade) (Sno, Cno)→Grade 一些术语和符号 1. X→Y,但Y不包含于X,则称X→Y是非平凡的函数依赖。如不作特别说明,我们总是讨论非平凡函数依赖。 2. 如果Y不如果函数依赖于X,则记作X—/→Y。 3. 如果X→Y,则称X为决定因子。 4. 如果X→Y,并且Y→X,则记作X←→Y。 一些术语和符号 5. 如果X→Y,并且对于X的一个任意真子集X’ 都有X’ —/→Y,则称Y完全函数依赖于X,记作: 6.如果X→Y(非平凡函数依赖,并且Y—/→X)、Y→Z,则称Z传递函数依赖于X。 如果X’→Y成立,则称Y部分函数依赖于X,记作: 示例 例1:有关系模式SC(Sno,Sname,Cno,Credit,Grade) 则函数依赖关系有: Sno→Sname (Sno, Cno)→ Sname (Sno, Cno)→ Grade 示例 例2:有关系模式S(Sno,Sname,Dept,Dept_master) 函数依赖关系有: Sno 由于:Sno Dept, Dept Dept_master 所以有:Sno Dept_master Sname 为什么要讨论函数依赖 Sno Sdept SLOC Cno Grade 9812101 计算机 2公寓 DB 80 9812101 计算机 2公寓 OS 85 9821101 信息 1公寓
文档评论(0)