- 1、本文档共30页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[工学]5第五章第4讲关系模式的规范化
第4讲 关系模式的规范化 主要问题: 例:R=(S#,C#,GRADE,TNAME,TADDR), F={C#?TNAME,(S#,C#)?GRADE,TNAME?TADDR} 主要内容 范式 第一范式 第二范式 第三范式 BCNF 范式之间的关系和关系模式的规范化 向3NF的模式分解算法 一、范式 衡量关系模式好坏的标准就是关系模式的范式(Normal Forms,简记为NF)。 可以把范式的概念理解为符合某一条件的关系模式的集合。 二、第一范式(1NF) 在一个关系模式R中,如果R的每一个属性的值域中的值都是不可再分的最小数据单位,则称R是第一范式(1NF)的模式,也称R∈1NF。 二、第一范式(1NF) (续1) 例:R=(S#,C#,GRADE,TNAME,TADDR), F={C#?TNAME,(S#,C#)?GRADE,TNAME?TADDR} 二、第一范式(1NF) (续2) 二、第一范式(1NF) (续3) 例:R=(S#,C#,GRADE,TNAME,TADDR), F={C#?TNAME,(S#,C#)?GRADE,TNAME?TADDR} 三、第二范式(2NF) 定义: 如果一个关系模式R是1NF,且它的每一个非主属性都完全函数依赖于候选键,那么称R是满足第二范式(2NF)的关系模式。 三、第二范式(2NF)(续1) 例:R=(S#,C#,GRADE,TNAME,TADDR), F={C#?TNAME,(S#,C#)?GRADE,TNAME?TADDR} 三、第二范式(2NF)(续2) 三、第二范式(2NF)(续3) 例:R=(S#,C#,GRADE,TNAME,TADDR), F={C#?TNAME,(S#,C#)?GRADE,TNAME?TADDR} 三、第二范式(2NF)(续4) 例:R1(S#,C#,GRADE),F1={(S#,C#)?GRADE} R2(C#,TNAME,TADDR), F2={C#?TNAME,TNAME?TADDR} 四、第三范式(3NF) 定义: 如果一个关系模式R属于1NF,且R的任何一个非主属性都不传递依赖于R的候选键,那么称R是满足第三范式(3NF)的关系模式。 四、第三范式(3NF)(续1) 例:R1(S#,C#,GRADE), F1={(S#,C#)?GRADE} R2(C#,TNAME,TADDR), F2={C#?TNAME,TNAME?TADDR} 四、第三范式(3NF)(续2) 例:R2(C#,TNAME,TADDR), F2={C#?TNAME,TNAME?TADDR} 五、BCNF 定义: 设有关系模式R(U,F),F是R上的函数依赖集,X和A是U的子集,且A不是X的子集。如果对于F中的每一个函数依赖X→A,X都是R的一个候选键,则称R是鲍依斯-柯德范式,记为BCNF。 五、BCNF(续) 例:R(CITY,STREET,ZIP) , 候选键为{CITY,STREET}和{ZIP,STREET} F={{CITY,STREET}→ZIP,ZIP→CITY}。 六、范式之间的关系和关系模式的规范化 1、定理 定理5.6:一个3NF的关系模式一定是2NF的。 定理5.7:一个BCNF的关系模式一定是3NF的。 2、范式之间的关系 3、关系模式的规范化 关系模式的规范化就是通过对模式进行分解,将一个属于低级范式的关系模式转换成若干个属于高级范式的关系模式的过程,从而解决或部分解决数据冗余、更新异常等问题。 七、向3NF的模式分解算法 算法5.5 一个关系模式向3NF的保持依赖性的分解 输入:关系模式R(U,F), R上的函数依赖集F(最小依赖集) 输出:R的一个保持依赖的分解ρ={R1,R2…,Rk},每个Ri为3NF(i=1,2,…,k)。 方法: 七、向3NF的模式分解算法(续1) (1)若有函数依赖X→A?F,且XA=R,则ρ={R},转(5); (2)找出R的不在F中出现的所有属性,并把这些属性构成一个关系模式。然后把这些属性从U中去掉,将剩余的属性仍记为U。 (3)对F中的函数依赖按具有相同左部的原则进行分组,并按合并规则将每一组合并成一个新的函数依赖。比如若有X→A1,X→A2,…,X→Am,则可以将它们合并成X→A1A2…Am。 (4)对于F中的每一个X→Y,都构成一个关系模式Ri=XY。 (5)停止分解,输出ρ。 七、向3NF的模式分解算法(续2) 例:R=(S#,C#,GRADE,TNAME,TADDR), F={C#?TNAME,(S
您可能关注的文档
最近下载
- 通桥(2017)2101-Ⅱ时速160公里客货共线铁路预制后张法简支T梁24m.pdf
- 胡壮麟《语言学教程》(第5版)@第七章@复习笔记.pdf
- 2018年中级经济师考试《保险专业知识与实务》电子书.pdf VIP
- 公路收费站(所)风险管控清单.docx VIP
- 君正化工杜邦安全管理理念实施方案.pptx
- 在线网课学习课堂《空间句法与数据化设计——环境行为数据分析及设计应用》单元测试考核答案.docx
- 全面从严治党主体责任约谈资料汇编.docx VIP
- 2024年华为认证HCIA-5G(H35-660)考试题库(附答案).pdf VIP
- 《Web 程序设计》说课.ppt
- 数字经济-第1篇.pptx
文档评论(0)