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