- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
定义设关系模式r
第八章 关系数据理论 数据库模式与关系模式 数据库模式由若干关系模式组成 关系模式是数据库中某一具体关系的描述 这些关系模式不是完全孤立的 关系数据理论主要研究关系规范化理论,旨在讨论如何构造一个好的关系数据库模式。 如何设计一个适合的关系数据库系统,关键是关系数据库模式的设计,一个好的关系数据库模式应该包括多少关系模式,而每一个关系模式又应该包括哪些属性,又如何将这些相互关联的关系模式组建一个适合的关系模型,这些工作决定了到整个系统运行的效率,也是系统成败的关键所在,所以必须在关系数据库的规范化理论的指导下逐步完成。 8.1 问题的提出 关系的形式化描述 R(U,D,dom,F) 这里: (1)关系名R,它是符号化的元组语义; (2)一组属性U; (3)属性组U中属性所来自的域D; (4)属性到域的映射dom; (5)属性组U上的一组数据依赖F。 关系模式可看作是一个三元组: R U,F 当且仅当U上的一个关系r满足F时,r称为关系模式R U,F 的一个关系。 数据依赖 数据依赖是通过一个关系中属性间的值的相等与否体现出来的数据间的相互关系。 两种主要的依赖 函数依赖(Functional Dependency,简称FD) 多值依赖(Multivalued Dependency,简称MVD) 一个例子 用于描述学生情况的一组属性: U={Sno, Cno, Sdept, Mname, Grade} 这里,这些属性分别描述学号、课程号、所在系、系负责人和成绩 由现实世界已知的事实可知: 一个系有若干学生,但一个学生只属于一个系; 一个系只有一名负责人; 一个学生可以选修多门课程,每门课程有若干学生选修; 每个学生学习每一门课程有一个成绩。 因此可得到属性集U上的一组函数依赖: F={Sno→Sdept, Sdept→Mname, (Sno,Cno) →Grade} Student表的实例 这组依赖如下图所示: 不好的模式常见的四个问题 数据冗余 更新异常 插入异常 删除异常 解决办法 S(Sno, Sdept, Sno→Sdept); SC(Sno, Cno, Grade, (Sno, Cno)→Grade); DEPT(Sdept, Mname, Sdept→Mname)。 8.2 规范化 规范化(Normalization)理论的主要内容 关系数据库的规范化理论最早是由关系数据库的创始人E.F.Codd提出的。 后经许多专家学者对关系数据库理论作了深入的研究和发展,形成了一整套有关关系数据库设计的理论。 在该理论出现以前,层次和网状数据库的设计只是遵循其模型本身固有的原则,而无具体的理论依据可言,因而带有盲目性,可能在以后的运行和使用中发生许多预想不到的问题。 关系数据库的规范化理论主要包括三个方面的内容: 函数依赖 范式(Normal Form) 模式设计 其中,函数依赖起着核心的作用,是模式分解和模式设计的基础,范式是模式分解的标准。 函数依赖 定义 设关系模式R(U),是属性集U上的关系模式, X和Y是U的子集。若对于R(U)的任意一个可能的关系r,r中不可能存在两个元组在X上的属性值相等,而在Y上的属性值不等,则称X函数决定Y,或Y函数依赖于X,记作X→Y。 一些术语和记号 X→Y,但Y?X则称X→Y是非平凡的函数依赖。若不特别声明,总是讨论非平凡的函数依赖。 X→Y,但Y包含于X则称X→Y是平凡的函数依赖。 若X→Y,则X叫做决定因素(Determinant)。 若X→Y,Y→X,则记作X ?Y。 若Y不函数依赖于X,则记作X?Y。 定义 在R(U)中,如果X→Y,并且对于X的任何一个真子集X′,都有 X′?Y,则称Y对X完全函数依赖,记作: F X→Y 若X→Y,但Y不完全函数依赖于X,则称Y对X部分函数依赖,记作: P X→Y 例子 在关系Student(Sno,Sname,Sdept,Sage)中, Sno→Sdept, Sno→Sage, Sno?Sname(若无重名)。 在关系SC(Sno,Cno,Grade)中, Sno?Cno, Sno?Grade。 在这里单个的属性不能作为决定因素,但属性的组合可以作为决定因素,即: F (Sno,Cno)→Grade, (Sno,Cno)就是决定因素。 定义 在R(U)中,如果X→Y,(Y?X),Y?X,Y→Z,则称Z对X传递函数依赖。 加上条件Y?X,是因为如果Y→X,则X?Y,
文档评论(0)