- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
 - 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
 - 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
 - 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
 - 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
 - 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
 - 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
 
                        查看更多
                        
                    
                第四章  4.1 关系模式的设计问题 如何构造一个关系模式? 例:假设有学生关系模式    第四章  4.1 关系模式的设计问题  2.数据修改复杂。  3.插入异常。     插入异常是指应该插入到数据库中的数据不能执行插入操作的情形。   第四章  4.1 关系模式的设计问题 4.删除异常。   删除异常是指不应该删去的数据被删去的情形。   例如:选修某门课的所有学生都退选时,删除相关元组,会丢失该课程老师的信息。 解决:关系模式分解(关系规范化) 分解为  ST(S#,SNAME,CLASS)           CT(C#,TNAME)           TA(TNAME,TAGE,ADDRESS)           SC(S#,C#,GRADE)  4.2  关系模式的规范化 1. 函数依赖 设:R(A1,A2,…An)=R( U ) X,Y,Z 为U的子集 4.2  关系模式的规范化 例:指出下列关系R中的函数依赖。  4.2  关系模式的规范化    一般,函数依赖与属性间的关系有: 若X,Y是1—1关系,     则存在 X?Y或Y ?X 。 若X,y是m一1关系,     则存在 X?Y但 Y+ X。  若X,y是m—m关系,     则X,Y间不存在函数依赖关系。 4.2  关系模式的规范化 例 试指出学生关系S(S#,SNAME,CLASS,C#,TNAME,TAGE,ADDRESS,GRADE)中存在的函数依赖关系。  S#→SNAME(每个学号只能有一个学生姓名) S#→CLASS(每个学号只能有一个班级) TNAME→TAGE(每个教师只能有一个年龄) TNAME→ADDRESS(每个教师只能有一个地址) (S#,C#)→GRADE(每个学生学习一门课只能有一个成绩)  C#→TNAME(设每门课程只有一个教师任教,而一个教师可教多门课程,见CT表) (S#,C#)→SNAME、 (S#,C#)→CLASS、 (S#,C#)→C#、 (S#,C#)→TNAME、 (S#,C#)→TAGE、  (S#,C#)→ADDRESS  4.2  关系模式的规范化 X?Y,但Y ? X 则称X是非平凡的函数依赖。 X?Y,但Y ? X 则称X是平凡的函数依赖。    若X?Y ,则X叫做决定因素。 若X?Y,Y ?X,则记作: X— —Y。  定义4.2:在R( U)中 完全函数依赖: 是指 X?Y,且对任何X的真子集X’,                          都有X’+Y,记作:X   F    Y。 部分函数依赖:  是指X?Y,且存在X’-Y,                           记作:X    P  Y。  定义4.3:在R( U )中 传递函数依赖:是指若X?Y (Y ? X), Y+X ,                           而Y ? Z。记作: X   T  Z 。 4.2  关系模式的规范化 例:试指出学生关系S中存在的完全函数依赖和部分函数依赖。 解:左部为单属性的函数依赖一定是完全函数依赖,所以  S#→SNAME,S#→CLASS,TNAME→TAGE,     TNAME→ADDRESS,C#→TNAME都是完全函数依赖。 (S#,C#)→GRADE 是一个完全函数依赖,因为S#+GRADE,C#+GRADE。 (S#,C#)→SNAME,(S#,C#)→CLASS,   (S#,C#)→TNAME,(S#,C#)→TAGE,   (S#,C#)→ADDRESS都是部分函数依赖,因为S#→SNAME,S#→CLASS,C#→TNAME,C#→TAGE,C#→ADDRESS。  4.2  关系模式的规范化 例:试指出学生关系S中存在的传递函数依赖。 解:因为C#→TNAME,TNAME+C#,TNAME→TAGE,所以C#→TAGE 是一个传递函数依赖。类似地,C#→ADDRESS也是一个传递函数依赖。  4.2  关系模式的规范化 2. 码    用函数依赖的概念来定义码。 定义4.4 :  设X为RU,F中的属性或属性组合,若 X  F    U   则X为R的候选码。 说明: X   F    U  X -  U   X能决定整个元组  X’+  U  X中无多余的属性  术语:    主码 主属性: 侯选码中的属性 非主属性 全码:整个属性组为码     例:R(顾客,商品,日期)  4.2  关系模式的规范化 例:试指出下列关系R中的侯选码、主属性和非主属性。   4.2  关系模式的规范化 3.函数依赖与基础范式    关系的规范化是将一个低级范式的关系模式,通过关系模式的分解转换为若干个高级范式的过程。 第一范式:1NF 定
                
原创力文档
                        

文档评论(0)