关系数据库理论_第1页
关系数据库理论_第2页
关系数据库理论_第3页
关系数据库理论_第4页
关系数据库理论_第5页
已阅读5页,还剩50页未读 继续免费阅读

下载本文档

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

文档简介

关系数据库理论第一页,共五十五页,2022年,8月28日什么是好的数据库设计准确反映客观世界的信息无过度的冗余无插入异常无修改复杂无删除异常第二页,共五十五页,2022年,8月28日过度冗余——数据重复修改异常——修改代价大、可能导致数据不一致删除异常——部分信息的删除可能导致信息的丢失插入异常——必须有完整信息一个不好的设计第三页,共五十五页,2022年,8月28日关系模式的形式化定义关系模式由五部分组成,即它是一个五元组:

R(U,D,DOM,F)R:关系名U:组成该关系的属性名集合D:属性组U中属性所来自的域DOM:属性向域的映象集合F:属性间数据的依赖关系集合第四页,共五十五页,2022年,8月28日关系模式R(U,D,DOM,F)简化为一个三元组:

R(U,F)当且仅当U上的一个关系r满足F时,r称为关系模式R(U,F)的一个关系第五页,共五十五页,2022年,8月28日码(续)主属性与非主属性包含在任何一个候选码中的属性,称为主属性不包含在任何码中的属性称为非主属性全码整个属性组是码,称为全码(All-key)第六页,共五十五页,2022年,8月28日[例1]建立一个描述学校教务的数据库: 学生的学号(Sno)、所在系(Sdept) 系主任姓名(Mname)、课程名(Cname) 成绩(Grade)单一的关系模式:Student<U、F>U={Sno,Sdept,Mname,Cname,Grade}第七页,共五十五页,2022年,8月28日数据依赖对关系模式的影响(续)属性组U上的一组函数依赖F:

F={Sno→Sdept,Sdept→Mname,(Sno,Cname)→Grade}

SnoCnameSdeptMnameGrade第八页,共五十五页,2022年,8月28日关系模式Student<U,F>中存在的问题1.数据冗余太大2.更新异常(UpdateAnomalies)3.插入异常(InsertionAnomalies)4.删除异常(DeletionAnomalies)第九页,共五十五页,2022年,8月28日数据依赖对关系模式的影响(续)结论:Student关系模式不是一个好的模式。“好”的模式:不会发生插入异常、删除异常、更新异常,数据冗余应尽可能少原因:由存在于模式中的某些数据依赖引起的解决方法:通过分解关系模式来消除其中不合适的数据依赖第十页,共五十五页,2022年,8月28日分解关系模式把这个单一模式分成3个关系模式:

S(Sno,Sdept,Sno→Sdept);SC(Sno,Cno,Grade,(Sno,Cno)→Grade);DEPT(Sdept,Mname,Sdept→Mname)第十一页,共五十五页,2022年,8月28日数据依赖数据之间的相互关系函数依赖(FunctionalDependency,FD)多值依赖(MultivaluedDependency,MVD)根据数据间的依赖关系来设计模式第十二页,共五十五页,2022年,8月28日给定X的值,则Y的值也唯一确定,称X函数决定Y或Y函数依赖于X,记作X→Y.如果R的两个元组在属性A1,A2,…,An上的值相等,则它们在另一个属性B上的值也相等,称A1,A2,…,An函数决定B或B函数依赖于A1,A2,…,An,记作A1A2…An→B.函数依赖第十三页,共五十五页,2022年,8月28日X→Y中X叫做决定因素.平凡的函数依赖:X→Y但YX.否则称非平凡的函数依赖.若X→Y且Y→X则记做XY.完全函数依赖X→Y:Y不依赖于X的任何一个真子集.否则称部分函数依赖X→Y.传递函数依赖:X→Y且Y→Z则X→Z.术语和记号FP第十四页,共五十五页,2022年,8月28日如果关系模式R的属性组K满足条件KR,则K为R的码.即:K函数决定该关系模式的所有其他属性最小性:K的任何真子集都不具有上述性质R可能有多个满足上面条件的候选码,一般指定一个作为主码.包含在码中的属性叫做主属性,否则称非主属性.函数依赖与码F第十五页,共五十五页,2022年,8月28日坏设计--不符合某种规范好设计--必须符合规范范式:关系模式的规范形式.规范分成若干级别范式(NormalForms)第十六页,共五十五页,2022年,8月28日规范化:把不符合范式要求的关系模式转换成符合范式要求的关系模式一个关系满足某个范式所规定的一系列条件时,它就属于该范式低级范式可进一步规范化到高级范式:1NF→2NF→3NF→BCNF→4NF范式第十七页,共五十五页,2022年,8月28日若关系R的每一个属性只能取原子值(不可再分),R就属于第一范式,记做R∈1NF.关系数据模型的最基本要求第一范式(1NF)第十八页,共五十五页,2022年,8月28日2NF(续)[例4]关系模式S-L-C(Sno,Sdept,Sloc,Cno,Grade)Sloc为学生住处,假设每个系的学生住在同一个地方函数依赖包括:

(Sno,Cno)FGradeSno→Sdept(Sno,Cno)PSdeptSno→Sloc(Sno,Cno)PSlocSdept→Sloc第十九页,共五十五页,2022年,8月28日S-L-C不是一个好的关系模式(续)(1)插入异常(2)删除异常(3)数据冗余度大(4)修改复杂第二十页,共五十五页,2022年,8月28日S-L-C不是一个好的关系模式(续)原因

Sdept、Sloc部分函数依赖于码。解决方法

S-L-C分解为两个关系模式,以消除这些部分函数依赖SC(Sno,Cno,Grade)

S-L(Sno,Sdept,Sloc)第二十一页,共五十五页,2022年,8月28日2NF(续)函数依赖图:SnoCnoGradeSCS-LSnoSdeptSloc关系模式SC的码为(Sno,Cno)关系模式S-L的码为Sno这样非主属性对码都是完全函数依赖

第二十二页,共五十五页,2022年,8月28日

2NF(续)2NF的定义 定义6.6若R∈1NF,且每一个非主属性完全函数依赖于码,则R∈2NF。 例:S-L-C(Sno,Sdept,Sloc,Cno,Grade)∈1NFS-L-C(Sno,Sdept,Sloc,Cno,Grade)∈2NF SC(Sno,Cno,Grade)∈

2NF S-L(Sno,Sdept,Sloc)∈

2NF第二十三页,共五十五页,2022年,8月28日

6.2.53NF3NF的定义

定义6.7关系模式R<U,F>

中若不存在这样的码X、属性组Y及非主属性Z(ZY),使得X→Y,Y→Z成立,Y→X,则称R<U,F>∈3NF。若R∈3NF,则每一个非主属性既不部分依赖于码也不传递依赖于码。第二十四页,共五十五页,2022年,8月28日3NF(续)例:2NF关系模式S-L(Sno,Sdept,Sloc)中函数依赖:

Sno→SdeptSdept→SnoSdept→Sloc

可得:

Sno→Sloc,即S-L中存在非主属性对码的传递函数依赖,S-L∈3NF传递第二十五页,共五十五页,2022年,8月28日

3NF(续)函数依赖图:S-LSnoSdeptSloc第二十六页,共五十五页,2022年,8月28日3NF(续)解决方法采用投影分解法,把S-L分解为两个关系模式,以消除传递函数依赖:S-D(Sno,Sdept)

D-L(Sdept,Sloc)S-D的码为Sno,D-L的码为Sdept。分解后的关系模式S-D与D-L中不再存在传递依赖第二十七页,共五十五页,2022年,8月28日3NF(续)S-D的码为Sno,D-L的码为SdeptSnoSdeptS-DSdeptSlocD-L

S-L(Sno,Sdept,Sloc)∈2NFS-L(Sno,Sdept,Sloc)∈3NFS-D(Sno,Sdept)∈3NFD-L(Sdept,Sloc)∈3NF第二十八页,共五十五页,2022年,8月28日

6.2.6BC范式(BCNF)定义6.8

关系模式R<U,F>∈1NF,若X→Y且YX时X必含有码,则R<U,F>∈BCNF。等价于:每一个决定属性因素都包含码第二十九页,共五十五页,2022年,8月28日BCNF(续)若R∈BCNF所有非主属性对每一个码都是完全函数依赖所有的主属性对每一个不包含它的码,也是完全函数依赖没有任何属性完全函数依赖于非码的任何一组属性R∈BCNFR∈3NF充分不必要第三十页,共五十五页,2022年,8月28日BCNF(续)[例5]关系模式C(Cno,Cname,Pcno)C∈3NFC∈BCNF[例6]关系模式S(Sno,Sname,Sdept,Sage)假定S有两个码Sno,SnameS∈3NF。S∈BCNF第三十一页,共五十五页,2022年,8月28日BCNF(续)[例7]关系模式SJP(S,J,P)函数依赖:(S,J)→P;(J,P)→S(S,J)与(J,P)都可以作为候选码,属性相交SJP∈3NF,SJP∈BCNF第三十二页,共五十五页,2022年,8月28日

BCNF(续)[例8]在关系模式STJ(S,T,J)中,S表示学生,T表示教师,J表示课程。函数依赖:

(S,J)→T,(S,T)→J,T→J(S,J)和(S,T)都是候选码第三十三页,共五十五页,2022年,8月28日

BCNF(续)

JSJTSTSTJ中的函数依赖第三十四页,共五十五页,2022年,8月28日BCNF(续)STJ∈3NF

没有任何非主属性对码传递依赖或部分依赖

STJ∈BCNFT是决定因素,T不包含码第三十五页,共五十五页,2022年,8月28日BCNF(续)解决方法:将STJ分解为二个关系模式:

ST(S,T)∈BCNF,TJ(T,J)∈BCNF

没有任何属性对码的部分函数依赖和传递函数依赖SJSTTJTJ第三十六页,共五十五页,2022年,8月28日3NF与BCNF的关系R∈BCNFR∈3NF如果R∈3NF,且R只有一个候选码

R∈BCNFR∈3NF充分不必要充分必要第三十七页,共五十五页,2022年,8月28日6.2规范化6.2.1函数依赖6.2.2码6.2.3范式6.2.42NF6.2.53NF6.2.6BCNF6.2.7多值依赖6.2.84NF6.2.9规范化小结第三十八页,共五十五页,2022年,8月28日6.2.7多值依赖[例9]学校中某一门课程由多个教师讲授,他们使用相同的一套参考书。每个教员可以讲授多门课程,每种参考书可以供多门课程使用。

第三十九页,共五十五页,2022年,8月28日………课程C教员T参考书B

物理

数学

计算数学李勇王军

李勇张平

张平周峰

普通物理学光学原理物理习题集

数学分析微分方程高等代数

数学分析...…

多值依赖(续)非规范化关系第四十页,共五十五页,2022年,8月28日普通物理学光学原理物理习题集普通物理学光学原理物理习题集数学分析微分方程高等代数数学分析微分方程高等代数…李勇李勇李勇王军王军王军李勇李勇李勇张平张平张平

…物理物理物理物理物理物理数学数学数学数学数学数学…

参考书B教员T课程C多值依赖(续)用二维表表示Teaching第四十一页,共五十五页,2022年,8月28日多值依赖(续)Teaching∈BCNFTeaching具有唯一候选码(C,T,B),即全码

第四十二页,共五十五页,2022年,8月28日多值依赖(续)

Teaching模式中存在的问题(1)数据冗余度大(2)插入操作复杂(3)删除操作复杂(4)修改操作复杂存在多值依赖第四十三页,共五十五页,2022年,8月28日多值依赖(续)定义6.9

设R(U)是一个属性集U上的一个关系模式,X、Y和Z是U的子集,并且Z=U-X-Y。关系模式R(U)中多值依赖

X→→Y成立,当且仅当对R(U)的任一关系r,给定的一对(x,z)值,有一组Y的值,这组值仅仅决定于x值而与z值无关例Teaching(C,T,B)第四十四页,共五十五页,2022年,8月28日对于关系R,若R∈1NF,且每一个非主属性完全函数依赖于码,则R∈2NF。不能部分依赖于码例如:sc(sno,sname,cno,grade)中sno,cno→gradesno→sname第二范式(2NF)PF第四十五页,共五十五页,2022年,8月28日第二范式(2NF)snocnogradesname完全依赖非完全依赖第四十六页,共五十五页,2022年,8月28日对于关系R,若R∈2NF,且每个非主属性都不传递依赖于码,则R∈3NF。例如:student(sno,sname,sdept,dept_head) sno→sname,sdeptsdept→dept_head传递依赖:sno→dept_head第三范式(3NF)第四十七页,共五十五页,2022年,8月28日第三范式(3NF)snosdeptsnamedept_head第四十八页,共五十五页,2022年,8月28日对于关系R,若R∈1NF,且对于所有非平凡的函数依赖X→Y,X必包含码,则R∈BCNF。满足BCNF的关系模式中:决定因素都包含码决定因素可以是超键满足BCNF必满足3NF,但反之不然.BoyceCodd范式(BCNF)第四十九页,共五十五页,2022年,8月28日例如sct(s,c,t)//学生,课程,教师t→c//假设每位教师只上一门课s,c→t//假设学生只向一个老师学某门课s,t→c //学生向某个老师只能学一门课BoyceCodd范式(BCNF)第五十页,共五十五页,2022年,8月28日scts

温馨提示

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

评论

0/150

提交评论