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

第三篇关系范式规范化理论.ppt

  1. 1、本文档共97页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第四种分解方法 将SL分解为下面二个关系模式: ND(Sno, Sdept) DL(Sdept, Sloc) 这种分解方法就保持了函数依赖。 模式的分解(续) 第一种分解方法既不具有无损连接性,也未保持函 数依赖,它不是原关系模式的一个等价分解 第二种分解方法保持了函数依赖,但不具有无损连 接性 第三种分解方法具有无损连接性,但未持函数依赖 第四种分解方法既具有无损连接性,又保持了函数 依赖 小结(续) 规范化理论为数据库设计提供了理论的指南和工具 也仅仅是指南和工具 并不是规范化程度越高,模式就越好 必须结合应用环境和现实世界的具体情况合理地选择数据库模式 三、完全函数依赖与部分函数依赖 例: 在关系 SC(Sno, Cno, Grade)中, 用X 表示(Sno, Cno),用Y 表示 Grade, 那么, (Sno, Cno)→ Grade 但是 Sno →Grade,Cno → Grade, 因此 (Sno, Cno) F Grade 四、传递函数依赖 定义2.3 在关系模式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 → Sno,Sdept → Mname Mname 传递函数依赖于Sno 2.4 码 定义2.4 设 K 为关系模式 RU,F中的属性或属性组合。若 K f U,则 K 称为 R 的一个侯选码(Candidate Key)。若关系模式 R 有多个候选码,则选定其中的一个做为主码(Primary key)。 主属性与非主属性 全码(ALL KEY) 外部码 定义2.5 关系模式 R 中的属性或属性组 X 不是R 的码,但 X 是另一个关系模式的码,则称 X 是R 的外部码(Foreign key)也称外码。 主码和外部码一起提供了表示关系间联系的手段 SC(Sno,Cno,Grade) Student(Sno,Sname,Sdept,Sage) Course(Cno,Cname,Cpno,Ccredit) 2.5 范式 关系数据库中的关系必须满足一定的要求。 把满足不同程度要求的关系称为不同的范式。 范式的种类 第一范式 (1NF) 第二范式 (2NF) 第三范式 (3NF) BC范式 (BCNF) 第四范式 (4NF) 第五范式 (5NF) 2.5 范式 各种范式之间存在联系: 若某一关系模式 R 为第 n 范式,可简记为 R ∈ n NF 例:R ∈ 1 NF,R ∈ 3 NF 2.6 1NF的定义 1NF的定义 如果一个关系模式R 的所有属性都是不可再分的基本数据项,则 R∈1NF。 第一范式是对关系模式的最起码的要求。不满足第一范式的数据库不能称为关系数据库 但是满足第一范式的关系模式并不一定是一个好的关系模式。 例:SLC(Sno, Cno, Sdept, Sloc, Grade)∈1NF Sno Cno Sdept Sloc Grade 95001 数据库 信息系 1号楼 90 95001 英语 信息系 1号楼 85 2.6 1NF的定义 例:SLC(Sno, Sdept, Sloc, Cno, Grade)∈1NF 码为(Sno,Cno) 函数依赖如下: Sno → Sdept (Sno, Cno) F Grade Sno → Sloc (Sno, Cno) P Sdept Sno → Sloc (Sno, Cno) P Sloc Sdept → Sloc 2.6 1NF的定义 SLC(Sno, Cno, Sdept, Sloc, Grade)∈1NF,但其中存在很多问题: 1. 插入异常 一个新生刚报道,学号是 2004100,在信息系,住在 5#楼,但是他还没有选课,即没有Cno 属性。由于码(Sno,Cno)不存在,就不能把该学生的信息插入数据库。 2. 删除异常 学生 2004101 只选了一门课 C1,现在又退选了,那么就要删除 C1 属性,由于C1是主属性,就必须把 C1 所在元组全部删除。因此,学生2004101的其他信息也被删除了。 2.6 1NF的定义

文档评论(0)

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

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

1亿VIP精品文档

相关文档