关系规范化理论知识.ppt_第1页
关系规范化理论知识.ppt_第2页
关系规范化理论知识.ppt_第3页
关系规范化理论知识.ppt_第4页
关系规范化理论知识.ppt_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

计算机科学与技术系 郑海旭,数据库系统概论 An Introduction to Database System 第六章 关系数据理论,第六章 关系数据理论,6.1 问题的提出 6.2 规范化 6.4 模式的分解方法简介 6.5 小结,针对具体问题,如何构造一个适合于 它的数据模式 (使用的工具关系数据库的规范化理论),本章解决的问题,复习前一节的内容,例1试建立一个描述学校教务管理的数据库。 信息有: 学生的学号(sno)、姓名(sn)、性别(sex) 年龄(age)、住址(sloc) 学校所属系编号(dno)、系名(dn)、系主任(mn)、 系联系电话(phone)、所在地 课程号(cno)、课程名(cn)、学分(credit)、 成绩(grade),关系模式S_C_D中存在的问题,教务关系模式S_C_D(一个关系模式): (sno, sn,age,dn, mn, cno,cn, grade, ) 存在的问题: 1.删除异常(Deletion Anomalies) 2.插入异常(Insertion Anomalies) 3.数据冗余太大, 更新异常(Update Anomalies),分解关系模式,把这个单一模式分成5个关系模式: S(sno, sn, age, sloc, ) /*学生信息*/ C(cno, cn, credit, ) /*课程信息*/ DEPT(dno, dn,mn, ) /*系的信息*/ S_D(sno, dno) /*学生与系的联系*/ SC(sno,cno,grade) /*学生与课程的联系*/ 分解的本质:概念的单一化,本章要回答的问题: “好” 模式的标准? 不会发生插入异常、删除异常、更新异常, 数据冗余应尽可能少,即每个关系只有一个 主题。 满足3NF标准的关系模式是好模式 2. 分解的本质是什么? 概念的单一化过程 3. 一个关系模式如何分解成几个“好”的模式? (不丢失信息和语义的前提下),关系模式分解方法举例,关系模式(学生-所在系-住宿-课程-成绩) S-D-L-C(Sno, Sdept, Sloc, Cno, Grade),关系模式(学生选课情况) SC(Sno, Cno, Grade),关系模式(学生住宿情况) S-D-L(Sno, Sdept, Sloc),关系模式(学生-系) S-D(Sno, Sdept ),关系模式(系-住宿分配) S-D-L(Sdept, Sloc),5.2.6 规范化,关系数据库的规范化理论是数据库逻辑设计的工具。 一个关系只要其分量都是不可分的数据项,它就是规范化的关系,但这只是最基本的规范化。 规范化程度可以有多个不同的级别,规范化(续),规范化程度过低的关系不一定能够很好地描述现实世界,可能会存在插入异常、删除异常、修改复杂、数据冗余等问题 一个低一级范式的关系模式,通过模式分解可以转换为若干个高一级范式的关系模式集合,这种过程就叫关系模式的规范化,规范化步骤,1NF,2NF,3NF,BCNF,4NF,5NF,消除非主属性对码的部分依赖,消除非主属性对码的传递依赖,消除主属性对码的部分和传递依赖,消除多值依赖,消除连接依赖,规范化的基本思想,消除不合适的数据依赖 的各关系模式达到某种程度的“分离” 采用“一事一地”的模式设计原则 让一个关系描述一个概念、一个实体或者实体间的一种联系。若多于一个概念就把它“分离”出去 所谓规范化实质上是概念的单一化,规范化(续),不能说规范化程度越高的关系模式就越好 在设计数据库模式结构时,必须对现实世界的实际情况和用户应用需求作进一步分析,确定一个合适的、能够反映现实世界的模式 上面的规范化步骤可以在其中任何一步终止,对函数依赖(FD)的讨论,1、以下3个模式都是3NF,2、是3NF的模式是好模式,SC(Sno, Cno, Grade),S-D(Sno, Sdept ),S-D-L(Sdept, Sloc),3、是3NF的模式代表一个单一的主题,4、模式分解的本质 从语义上讲,是概念的单一化过程; 从数据依赖上说,是逐步去除非主属性对码的 部分依赖和传递依赖,6.3 模式的分解,规范化:把低一级的关系模式分解为若干个高一级的关系模式的过程。 只有能够保证分解后的关系模式与原关系模式等价,分解方法才有意义。,关系模式分解的标准,给定R(U,F), 将其分解成 R1(U1,F1), R2(U2,F2), .Rn(Un,Fn) 三种模式分解等价的定义: 分解具有无损连接性 U=U1U2 Un 分解要保持函数依赖 F与 Fi等价 分解既要保持函数依赖,又要具有无损连 接性,模式的分解(续),例:S-D-L(Sno, Sdept, Sloc) F= SnoSdept,SdeptSloc,SnoSloc 分解方法可以有多种: 1. S-D-L分解为三个关系模式 R1(Sno) R2(Sdept) R3(Sloc) 2. SL分解为下面二个关系模式 R1(Sno, Sloc) R2(Sdept, Sloc) 结论:1和2属于有损分解,模式的分解(续),例:S-D-L(Sno, Sdept, Sloc) F= SnoSdept,SdeptSloc,SnoSloc 分解方法可以有多种: 3. S-D-L分解为下面二个关系模式 S-L(Sno, Sloc) S-D(Sno, Sdept) 4. 将S-D-L分解为下面二个关系模式 S-D(Sno, Sdept) S-L(Sdept, Sloc) 结论:3和4属于无损分解; 3的分解不保持FD, 4的分解保持FD。,定理6.3.1 若要求分解既具有无损连接 性,又保持函数依赖,则模式分解一定能 够达到3NF。,模式分解的方法简介,1、形式化方法 给定R(U,F) 求F的较小函数依赖集候选码PK和Fmin Fmin=F1,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论