网站大量收购独家精品文档,联系QQ:2885784924

关系模式的规范化设计理论.ppt

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

4.3.4 第三范式(3NF) 定义4.14 设关系模式R(U)?2NF,且每一个非主属性不传递函数依赖于R(U)的候选键,则称R(U)为第三范式,即R(U)?3NF。 由定义可知,若R(U)? 3NF,则关系模式R(U)的每一个非主属性既不部分依赖于候选键也不传递函数依赖于候选键。 例4.14 StudentDept(Sno, Sname, DeptName, DeptHead)已是2NF,但不是3NF。 因为Sno是唯一候选键,也就是主键,所以有DeptName, DeptHead均是非主属性,因为Sno?DeptName且DeptName?DeptHead,即非主属性DeptHead传递函数依赖于候选键Sno。 4.3.4 第三范式(3NF) 2NF 但不是3NF的关系模式R(U),如StudentDept,仍可能存在数据冗余过多、删除异常和插入异常等问题。解决的办法仍然是模式分解,如将StudentDept分解为: Departments(DeptName, DeptHead) Students(Sno, Sname, DeptName) 它们分别有唯一候选键DeptName和Sno,就不存在非主属性传递函数依赖于候选键的情况,因此都是3NF的关系模式。 这样,例4.1的关系模式StudyInfo已被分解成如下三个模式且都已经是3NF的关系模式: Students(Sno, Sname, DeptName); Reports(Sno, Cname, Grade); Departments(DeptName, DeptHead)。 对应关系分别为表4.2,表4.3,表4.4 。 4.3.5 BC范式(BCNF) 定义4.15 若关系模式R(U)?1NF,对于R(U)的任意一个函数依赖X?Y,若Y?X ,则X必含有候选键,那么称R(U)为BC范式,即R(U)?BCNF 等价于:在满足1NF的关系模式R(U)中,若每一个非平凡函数依赖的决定因素都包含有候选键,则R(U)?BCNF。 定义4.15’ 若关系模式R(U)?1NF,且R(U)的每个属性都不传递依赖于R的候选键,则称R(U)为BC范式,即R(U)?BCNF。 4.3.5 BC范式(BCNF) 若关系模式R(U)?BCNF,则下结论成立。 ⑴ R(U)的所有非主属性都完全函数依赖于每一个候选键,因此R(U)?2NF。 ⑵ R(U)的所有主属性都完全函数依赖于不包含它的候选键。 ⑶ R(U)中没有属性完全函数依赖于任何一组非候选键属性。 定理4.8 若R(U)?BCNF,则R(U)?3NF。 定理4.9 如果R(U)?3NF,R(U)有唯一候选键X?,且不存在使 的平凡函数依赖X?Y,则必有R(U)?BCNF。 例如:关系模式 Students(Sno, Sname, DeptName)的唯一候选键为Sno; Reports(Sno, Cname, Grade)的唯一候选键为(Sno, Cname); Departments(DeptName, DeptHead)的唯一候选键为DeptName。 由定理4.9,它们都是属于BCNF 4.3.5 BC范式(BCNF) X’?X 例4.15 设关系模式StudyPlace(Sno, Cname, Place) 中Sno, Cname, Place分别表示学号,课程名和学习名次,且已知: (1) 每个学生学习每门课程都有一定的名次: (2)每门课程中每一名次只有一个学生,无并列; 因此,由属性及相互联系的语义可知,关系模式StudyPlacem满足: (1) 没有单个属性构成的候选键; (2) {Sno, Cname}和{Cname, Place}是候选键。 所以,StudyPlace的所有属性都是主属性,即没有非主属性对候选键传递函数依赖或部分函数依赖,故它属于 3NF。下面看是否BCNF? 4.3.5 BC范式(BCNF) 关系模式StudyPlace(Sno, Cname, Place) 所有可能的非平凡函数依赖只能为以下3个: ⑴{Sno, Cname}?Place(√) ⑵{Cname, Place}?Sno(√) ⑶{Sno, Place}?Cname (╳) 而

文档评论(0)

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

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

1亿VIP精品文档

相关文档