- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数据库第07盏穆
第7章 关系数据库设计理论;7.1 数据依赖对关系模式的影响;属性间的这种依赖关系类似于数学中的函数y = f(x),自变量x确定之后,相应的函数值y也就惟一地确定了。
现在我们建立一个描述学校教务的数据库,该数据库涉及的对象包括学生的学号(Sno)、所在系(Sdept)、系主任姓名(Mname)、 课程名(Cname)和成绩(Grade)。假设我们用一个单一的关系模式Student来表示,则该关系模式的属性集为:
U ={ Sno,Sdept,Mname,Cname,Grade }
;现实世界的已知事实(语义)告诉我们:
(1)一个系有若干学生,但一个学生只属于一个系。
(2)一个系只有一名主任。
(3)一个学生可以选修多门课程,每门课程有若干学生选修。
(4)每个学生所学的每门课程都有一个成绩。;从上述事实我们可以得到属性集U上的一组函数依赖F(如图7.1所示):
F ={ Sno → Sdept, Sdept → Mname, (Sno,Cname) → Grade }
如果只考虑函数依赖这一种数据依赖,我们就得到了一个描述学生的关系模式:
Student U,F;Evaluation only.
Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.
Copyright 2004-2011 Aspose Pty Ltd.;1.数据冗余太大
例如,每一个系主任的姓名重复出现。
2.更新异常(Update Anomalies)
例如,某系更换系主任后,系统必须修改与该系学生有关的每一个元组。
3.插入异常(Insertion Anomalies)
如果一个系刚成立,尚无学生,我们就无法把这个系及其系主任的信息存入数据库。;4.删除异常(Deletion Anomalies)
如果某个系的学生全部毕业了,我们在删除该系学生信息的同时,把这个系及其系主任的信息也丢掉了。
一个关系模式之所以会产生上述问题,是由存在于模式中的某些数据依赖引起的。规范化理论正是用来改造关系模式,通过分解关系模式来消除其中不合适的数据依赖,以解决插入异常、删除异常、更新异常和数据冗余问题。
;7.2 函数依赖;对于函数依赖,需要说明以下几点:
(1)函数依赖不是指关系模式R的某个或某些关系实例满足的约束条件,而是指R的所有关系实例均要满足的约束条件。
(2)函数依赖和别的数据之间的依赖关系一样,是语义范畴的概念。我们只能根据数据的语义来确定函数依赖。例如,“姓名→年龄”这个函数依赖只有在没有同名人的条件下成立。 如果有相同名字的人,则“年龄”就不再函数依赖于“姓名”了。;(3)X→Y,但YX 则称X→Y是非平凡的函数依赖。
(4)X→Y,但Y ? X 则称X→Y是平凡的函数依赖。对于任一关系模式,平凡函数依赖都是必然成立的,它不反映新的语义。若不特别声明,总是讨论非平凡的函数依赖。
(5)若X→Y,则X称为这个函数依赖的决定属性组,也称为决定因素(Determinant)。;(6)若X→Y,并且Y→X,则记为X←→Y。
(7)若Y函数不依赖于X,则记为XY。
(8)若X→Y,并且对于X的任何一个真子集X,都有X Y,则称Y完全函数依赖于X,记作XY,否则称Y部分函数依赖于X,记作X Y。;(9)若X→Y,Y→Z,且Y∈X,YX,则称Z传递函数依赖于X。
加上条件Y X,是因为如果Y →X,则X ←→Y,实际上是X → Z,即是直接函数依赖而不是传递函数依赖。
属性集U上的关系模式R(U)常常表示为R U,F,F是属性集U上的一组函数依赖。;7.2.2 码
码是关系模式中一个重要概念。下面我们用函数依赖的概念来定义码。
定义7.2 设K为关系模式R U,F 中的属性或属性组合,若KU,则K称为R的一个候选码(Candidate Key)。若关系模式R有多个候选码,则选定其中的一个作为主码(Primary key)。主码用下横线(_)显示出来。
;包含在任何一个候选码中的属性,叫作主属性(Prime attribute)。不包含在任何码中的属性称为非主属性(Nonprime attribute)或非码属性(Non-key attribute)。
最简单的情况,单个属性是码。最极端的情况,全部属性是码,称为全码(All-key)。
例如,在关系模式S(Sno,Sdept,Sage)中Sno是码。;关系模式R(P,W,A),属性P表示演奏者,W表示作品,A表示听众。假设一个演奏者可以演奏多个作品,某一作品可被多个演奏者演奏。听众也可以欣赏不同演奏者的不同作品,这个关系模式的码为(P,W,A),即All-key。
定义7.3 关系模式R中属性或属性组X并非R的码,但X
文档评论(0)