第03章_关系数据库设计理论.pptVIP

  1. 1、本文档共40页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第三章 关系数据库设计理论 3.1 问题的提出 3.2 函数依赖 3.3 关系模式的规范化 3.1问题的提出 一个有问题的关系 假设有如下关系: S(Sno,Sname,Sgen,Scour,Sdegr),即对应学号、姓名、性别、课程、成绩;其中(Sno,Scour)是主键。 3.1问题的提出 这个关系有如下问题: S(Sno,Sname,Sgen,Scour,Sdegr) 数据冗余:一个学生选修多门课程,导致表中“姓名”和“性别”被多次重复存贮; 不一致性:由于数据存贮冗余,当更新某些数据项时,有可能一部分记录修改了,而另一部分未修改,造成存贮数据的不一致性。 插入异常:如果某个学生尚未选修课程,那么他的(学号,姓名,性别)信息无法插入。这是因为“课程”为空,关系数据模式规定主关键字不能为空,这就导致了插入异常。 删除异常:当删除所有学生的成绩时,将所有(学号,姓名,性别)信息也删除了,这就是删除异常。 3.1问题的提出 为了克服这些异常,可以将S关系分解成下面的两个关系: S1(Sno,Sname,Sgen), S2(Sno,Scour,Sdegr) 3.2 函数依赖 一、函数依赖 二、平凡函数依赖与非平凡函数依赖 三、完全函数依赖与部分函数依赖 四、传递函数依赖 一、函数依赖 定义: 设R(U)是一个属性集U上的关系模式,X和Y是U的子集。 若对于R(U)的任意一个可能的关系r,r中不可能存在两个元组在X上的属性值相等, 而在Y上的属性值不等, 则称 “X函数确定Y” 或 “Y函数依赖于X”,记作X→Y。 例如:姓名→性别(假设没有同名的学生) X称为这个函数依赖的决定属性集(Determinant)。 Y=f(x) 说明: 1. 函数依赖不是指关系模式R的某个或某些关系实例满足的约束条件,而是指R的所有关系实例均要满足的约束条件。 2. 函数依赖是语义范畴的概念。只能根据数据的语义来确定函数依赖。 例如“姓名→年龄”这个函数依赖只有在不允许有同名人的条件下成立 3. 数据库设计者可以对现实世界作强制的规定。例如规定不允许同名人出现,函数依赖“姓名→年龄”成立。所插入的元组必须满足规定的函数依赖,若发现有同名人存在, 则拒绝装入该元组。 函数依赖(续) 例: Student(Sno, Sname, Ssex, Sage, Sdept) 假设不允许重名,则有: Sno → Ssex, Sno → Sage , Sno → Sdept, Sno ←→ Sname, Sname → Ssex, Sname → Sage Sname → Sdept 但Ssex →Sage 若X→Y,并且Y→X, 则记为X←→Y。 若Y不函数依赖于X, 则记为X─→Y。 二、平凡函数依赖与非平凡函数依赖 在关系模式R(U)中,对于U的子集X和Y, 如果X→Y,但Y ? X,则称X→Y是非平凡的函数依赖 若X→Y,但Y ? X, 则称X→Y是平凡的函数依赖 例:在关系SC(Sno, Cno, Grade)中, 非平凡函数依赖: (Sno, Cno) → Grade 平凡函数依赖: (Sno, Cno) → Sno (Sno, Cno) → Cno 平凡函数依赖与非平凡函数依赖(续) 对于任一关系模式,平凡函数依赖都是必然成立的,它不反映新的语义,因此若不特别声明, 我们总是讨论非平凡函数依赖。 三、完全函数依赖与部分函数依赖 定义: 在关系模式R(U)中,如果X→Y,并且对于X的任何一个真子集X’,都有 X’ Y, 则称Y完全函数依赖于X,记作X f Y。 若X→Y,但Y不完全函数依赖于X,则称Y部分函数依赖于X,记作X P Y。 四、传递函数依赖 定义: 在关系模式R(U)中,如果X→Y,Y→Z,且Y ?X,Y→X,则称Z传递函数依赖于X。 注: 如果Y→X, 即X←→Y,则Z直接依赖于X。 例: 在关系Std(Sno, Sdept, Mname)中,有: Sno → Sdept,Sdept → Mname Mname传递函数依赖于Sno 码 定义: 设K为关系模式RU,F中的属性或属性组合。若K f U,则K称为R的一个侯选码(Candidate Key)。若关系模式R有多个候选码,则选定其中的一个做为主码(Primary key)。 主属性与非主属性:包含在任何一个候选码中的属性称为主属性;不包含在任何码中的属性称为非主属性。 ALL KEY(全码):整个属性组是码 外部码 定义: 关系模

文档评论(0)

82393aa + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档