10--ch6--关系数据库规范化理论.ppt_第1页
10--ch6--关系数据库规范化理论.ppt_第2页
10--ch6--关系数据库规范化理论.ppt_第3页
10--ch6--关系数据库规范化理论.ppt_第4页
10--ch6--关系数据库规范化理论.ppt_第5页
已阅读5页,还剩45页未读 继续免费阅读

付费下载

下载本文档

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

文档简介

1、王建民 信息科学与技术学院 2011-4-14,数据库系统原理 Theory of Database System,-2-,17:53,问题的提出,Re:关系模式,五元组:R(U, D, DOM, F),R:关系名,U:组成该关系的属性名集合,D:属性组U中属性所来自的域,DOM:属性向域的映象集合,F:属性间数据的依赖关系集合,-3-,17:53,问题的提出(Cont.),关系模式R(U, D, DOM, F),简化为一个三元组,R(U, F),当且仅当U上的一个关系r满足F时,r称为关系模式 R(U, F)的一个关系。,-4-,17:53,问题的提出(Cont.),例:建立一个描述学校教务

2、的数据库,包括:学生的学号(Sno)、所在系(Sdept)、系主任姓名(Mname)、课程名(Cname)、成绩(Grade) 建立单一的关系模式 : R(U, F) U Sno, Sdept, Mname, Cname, Grade ,-5-,17:53,问题的提出(Cont.),U Sno, Sdept, Mname, Cname, Grade 存在的问题 1. 数据冗余太大 2. 更新异常(Update Anomalies) 3. 插入异常(Insertion Anomalies) 4. 删除异常(Deletion Anomalies),-6-,17:53,存在的问题,U Sno, Sd

3、ept, Mname, Cname, Grade 问题1:数据冗余太大 学生所在的系Sdept及其系主任姓名Mname多次重复出现。 系Sdept及其系主任姓名Mname不仅随着每个学生Sno重复出现,而且随着每个学生Sno选的每门课Cname重复出现。,-7-,17:53,存在的问题(Cont.),U Sno, Sdept, Mname, Cname, Grade 存在的问题 1. 数据冗余太大 2. 更新问题(Update Anomalies) 3. 插入异常(Insertion Anomalies) 4. 删除异常(Deletion Anomalies),-8-,17:53,存在的问题(

4、Cont.),U Sno, Sdept, Mname, Cname, Grade 问题2:更新问题(Update Anomalies) 由于数据冗余问题,当更新数据时,需要很高的代价来保证数据库的一致性。 如更换系主任后,必须修改与该系学生有关的每一个元组中系主任姓名Mname。,-9-,17:53,存在的问题(Cont.),U Sno, Sdept, Mname, Cname, Grade 存在的问题 1. 数据冗余太大 2. 更新问题(Update Anomalies) 3. 插入异常(Insertion Anomalies) 4. 删除异常(Deletion Anomalies),-10

5、-,17:53,存在的问题(Cont.),U Sno, Sdept, Mname, Cname, Grade 问题3: 插入异常(Insertion Anomalies) 如果学号Sno是码属性,则当一个系新成立但尚无学生时,其系Sdept及系主任姓名Mname就不能保存至数据库中。,-11-,17:53,存在的问题(Cont.),U Sno, Sdept, Mname, Cname, Grade 存在的问题 1. 数据冗余太大 2. 更新问题(Update Anomalies) 3. 插入异常(Insertion Anomalies) 4. 删除异常(Deletion Anomalies),

6、-12-,17:53,存在的问题(Cont.),U Sno, Sdept, Mname, Cname, Grade 问题4: 删除异常(Deletion Anomalies) 如果某个系的学生全部毕业了,在删除该系学生信息的同时,该系Sdept及系主任姓名Mname也被删除了。,-13-,17:53,总 结,结论 R(U, F) :USno, Sdept, Mname, Cname, Grade不是一个好的模式。 “好”的模式: 不会发生插入异常、删除异常、更新异常, 数据冗余应尽可能少。 原因 关系模式不够“规范”。,-14-,17:53,规范化,函数依赖 码 范式(Normal Form)

7、 1NF 2NF 3NF BCNF 多值依赖、 4NF 连接依赖、 5NF,-15-,17:53,第6章 关系数据库规范化理论,6.1 函数依赖 6.2 关系规范化,-16-,17:53,函数依赖(Functional Dependency),函数依赖 平凡函数依赖与非平凡函数依赖 完全函数依赖与部分函数依赖 传递函数依赖,-17-,17:53,函数依赖(Cont.),定义:如果有一个关系模式R(A1,A2,An),X 和Y为A1,A2,An的子集,那么对于关系R中的任意一个X值,都只有一个Y 值与之对应,则称X函数决定Y,或Y函数依赖于X。记做: X Y,-18-,17:53,函数依赖(Co

8、nt.),例:Student(Sno, SName, Sdept, Sage) SnoSName SnoSdept SnoSage 例: SC(Sno, Cno, Grade) (Sno, Cno)Grade,-19-,17:53,学生-课程数据库,Student,SnoSName、SnoSdept、SnoSage,-20-,17:53,学生-课程数据库(Cont.),SC,(Sno, Cno)Grade,-21-,17:53,一些术语和符号,1. 如果XY,但Y不包含于X,则称XY是非平凡的函数依赖。 2. 如果XY,但Y包含于X,则称XY是平凡的函数依赖。 如不作特别说明,我们总是讨论非平

9、凡函数依赖。 3. 如果Y不函数依赖于X,则记作XY。 4. 如果XY,则称X为决定因子。 5. 如果XY,并且YX,则记作XY。,non trivial 非平凡的,trivial 平凡的,-22-,17:53,一些术语和符号(Cont.),6. 如果XY,并且对于X的一个任意真子集X 都有X Y,则称Y完全函数依赖于X,记作:,7.如果XY(YX)、YZ,则称Z传递函数依赖于X。记作:,如果XY成立,则称Y部分函数依赖于X,记作:,full dependency,partial dependency,transitive dependency,-23-,17:53,示例,例:关系模式: SC

10、(Sno,Sname,Cno,Credit,Grade) 则函数依赖关系有: SnoSname (Sno, Cno) Sname (Sno, Cno) Grade,-24-,17:53,示例(Cont.),例:关系模式: S(Sno,Sname,Dept,Dept_master) 函数依赖关系有:,由于:Sno Dept ,Dept Dept_master 所以有:Sno Dept_master,Sname,Sno,t,-25-,17:53,第6章 关系数据库规范化理论,6.1 函数依赖 6.2 关系规范化,-26-,17:53,关系规范化,关系模式中的码 范式,-27-,17:53,码,Re

11、: 实体联系模型:唯一标识实体的属性集称为码。 关系模式:码是表中的某个属性组,它可以唯一确定一个元组。,-28-,17:53,关系模式中的码,候选码:设K为R (U,F)中的属性或属性组,若存在KU,则K为R的候选码。(K为决定R全部属性值的最小属性组)。 主码:关系R (U,F)中可能有多个候选码,则选其中一个作为主码。 全码:候选码为整个属性组。 主属性与非主属性:在R (U,F)中,包含在任一候选码中的属性称为主属性,不包含在任一候选码中的属性称为非主属性。,f,-29-,17:53,关系模式中的码(Cont.),S(Sno,Sdept,Sage):单属性码Sno SC(Sno,Cno

12、,Grade):(Sno,Cno)多属性码 主属性:SNO、CNO。非主属性:Grade。 R(P,W,A):P:演奏者, W:作品,A:听众 一个演奏者可以演奏多个作品 某一作品可被多个演奏者演奏 听众可以欣赏不同演奏者的不同作品 码为(P,W,A),即全码(All-Key),-30-,17:53,关系模式中的码(Cont.),外码:用于关系表之间建立关联的属性(组)。 定义:若R(U,F)的属性(组)X(X U)是另一个关系S的码,则称X为R的外码。 Sno是关系模式S(Sno,Sdept,Sage)的码,在SC(Sno,Cno,Grade)中,Sno不是码,Sno是关系模式SC的外码。

13、主码与外部码一起提供了表示关系间联系的手段。,-31-,17:53,范式,关系模式满足不同标准化程度称为满足不同范式。 1971-1972年E.F.Codd系统提出了1NF、2NF、3NF。后来又和他人一起提出了BCNF、4NF、5NF。 范式的种类: 第一范式(1NF) 第二范式(2NF) 第三范式(3NF) BC范式(BCNF) 第四范式(4NF) 第五范式(5NF),-32-,17:53,范式(Cont.),各种范式之间存在联系: 某一关系模式R为第n范式,可简记为RnNF。 一个低一级范式的关系模式,通过模式分解可以转换为若干个高一级范式的关系模式的集合,这种过程就叫规范化。,-33-

14、,17:53,第一范式:1NF,1NF的定义 如果一个关系模式R的所有属性都是不可分的基本数据项,则R1NF。 第一范式是对关系模式的最起码的要求。不满足第一范式的数据库模式不能称为关系数据库。 但是满足第一范式的关系模式并不一定是一个好的关系模式。,-34-,17:53,关系模式 S-L-C(Sno, Sdept, Sloc, Cno, Grade),例:关系模式 S-L-C(Sno, Sdept, Sloc, Cno, Grade), Sloc为学生住处,假设每个系的学生住在同一个地方。 函数依赖包括: (Sno, Cno) F Grade Sno Sdept (Sno, Cno) P S

15、dept Sno Sloc (Sno, Cno) P Sloc Sdept Sloc,-35-,17:53,S-L-C不是一个好的关系模式,S-L-C(Sno, Sdept, Sloc, Cno, Grade) 码:(Sno,Cno) (1) 数据冗余度大 (2) 删除异常 (3) 插入异常 (4) 更新复杂,-36-,17:53,S-L-C不是一个好的关系模式(Cont.),原因 Sdept、 Sloc部分函数依赖于码。 解决方法 S-L-C分解为两个关系模式,以消除这些部分函数依赖 SC(Sno, Cno, Grade) S-L(Sno, Sdept, Sloc),-37-,17:53,第

16、二范式:2NF,2NF的定义 定义:若R1NF,且每一个非主属性完全函数依赖于码,则R2NF。 S-L-C(Sno, Sdept, Sloc, Cno, Grade) 1NF S-L-C(Sno, Sdept, Sloc, Cno, Grade) 2NF ? 答案:S-L-C(Sno, Sdept, Sloc, Cno, Grade) 2NF ! 原因:存在部分依赖 (Sno, Cno) P Sdept, (Sno, Cno) P Sloc。,1NF且没有部分依赖,-38-,17:53,第二范式:2NF (Cont.),解决办法:采用投影分解法将一个1NF的关系分解为多个2NF的关系,可以在一

17、定程度上减轻原1NF关系中存在的插入异常、删除异常、数据冗余度大、修改复杂等问题。 S-L-C(Sno, Sdept, Sloc, Cno, Grade) 2NF SC(Sno, Cno, Grade) 2NF S-L(Sno, Sdept, Sloc) 2NF,-39-,17:53,分解办法,首先,对于组成主码的属性集合的每一个子集,用它作为主码构成一个表。 然后,将依赖于这些主码的属性放置到相应的表中。 最后,去掉只由主码的子集构成的表。,-40-,17:53,分解: S-L-C(Sno, Sdept, Sloc, Cno, Grade),对于S-L-C表,首先分解为如下形式的三张表: S

18、-L(Sno,) C(Cno,) S-C(Sno, Cno,) 然后,将依赖于这些主码的属性放置到相应的表中 S-L(Sno,Sdept, Sloc) C(Cno) S-C(Sno, Cno, Grade) 最后,去掉只由主码的子集构成的表,最终分解为: S-L(Sno,Sdept, Sloc) S-C(Sno, Cno, Grade),-41-,17:53,第二范式:2NF (Cont.),但是,将一个1NF关系分解为多个2NF的关系,并不能完全消除关系模式中的各种异常情况和数据冗余。 S-L(Sno, Sdept, Sloc) 2NF (1) 数据冗余 (2) 删除异常 (3) 插入异常

19、(4) 更新复杂,-42-,17:53,第三范式 :3NF,3NF的定义 定义:关系模式R 中每一个非主属性既不部分依赖于码也不传递依赖于码,则称R 3NF。 或:R 2NF且非主属性不传递函数依赖于码。,1NF且没有部分依赖 没有传递依赖,2NF且没有传递依赖,-43-,17:53,第三范式 : 3NF (Cont.),例:2NF关系模式S-L(Sno, Sdept, Sloc) 函数依赖: SnoSdept Sdept Sno SdeptSloc 因此: SnoSloc S-L中存在非主属性对码的传递函数依赖,S-L 3NF,t,-44-,17:53,第三范式 : 3NF (Cont.),解决方法:采用投影分解法,把S-L分解为两个关系模式,以消除传递依赖。 分解过程 (1)对于不是候选码的每个决定因子,从表中删去依赖于它的所有属性; (2)新建一个表,新表中包含在原表中所有依赖于该决定因子的属性; (3)将决定因子作为新表的主码。,-45-,1

温馨提示

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

最新文档

评论

0/150

提交评论