五章第4讲关系模式的规范化.ppt

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

文档评论(0)

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

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

1亿VIP精品文档

相关文档