并且对于每一个非平凡函数依赖XY课件

上传人:仙*** 文档编号:241307546 上传时间:2024-06-17 格式:PPT 页数:33 大小:551.50KB
返回 下载 相关 举报
并且对于每一个非平凡函数依赖XY课件_第1页
第1页 / 共33页
并且对于每一个非平凡函数依赖XY课件_第2页
第2页 / 共33页
并且对于每一个非平凡函数依赖XY课件_第3页
第3页 / 共33页
点击查看更多>>
资源描述
第6章 关系数据库规范化理论 6.1 函数依赖 6.2 关系规范化 6.3 关系模式的规范化 6.1 函数依赖v定义:如果有一个关系模式R(A1,A2,An),X 和Y为A1,A2,An的子集,那么对于关系R中的任意一个X值,都只有一个Y 值与之对应,则称X函数决定Y,或Y函数依赖于X。例:Student(Sno,SName,Sdept,Sage)SnoSName,SnoSdept,SnoSage 例:SC(Sno,Cno,Grade)(Sno,Cno)Grade 一些术语和符号v1.如果XY,但Y不包含于X,则称XY是非平凡的函数依赖。如不作特别说明,我们总是讨论非平凡函数依赖。v2.如果Y不函数依赖于X,则记作X/Y。v3.如果XY,则称X为决定因子。v4.如果XY,并且YX,则记作XY。一些术语和符号(续)v5.如果XY,并且对于X的一个任意真子集X 都有X/Y,则称Y完全函数依赖于X,记作:6.如果XY(非平凡函数依赖,并且Y/X)、YZ,则称Z传递函数依赖于X。如果XY成立,则称Y部分函数依赖于X,记作:示例v例1:有关系模式:SC(Sno,Sname,Cno,Credit,Grade)v则函数依赖关系有:SnoSname(Sno,Cno)Sname(Sno,Cno)Grade示例v例2:有关系模式:S(Sno,Sname,Dept,Dept_master)v函数依赖关系有:Sno由于:Sno Dept,Dept Dept_master所以有:Sno Dept_masterSname为什么要讨论函数依赖SnoSdeptSLOCCnoGrade9812101计算机2公寓DB809812101计算机2公寓OS859821101信息1公寓C909821101信息1公寓DS 849821102信息1公寓OS 78存在问题v数据冗余问题 v数据更新问题 v数据插入问题 v数据删除问题6.2 关系规范化 v6.2.1 关系模式中的码 v6.2.2 范式6.2.1 关系模式中的码1候选码:设K为R(U,F)中的属性或属性组,若K fU,则K为R候选码。(K为决定R全部属性值的最小属性组)。主码:关系R(U,F)中可能有多个候选码,则选其中一个作为主码。全码:候选码为整个属性组。主属性与非主属性:在R(U,F)中,包含在任一候选码中的属性称为主属性,不包含在任一候选码中的属性称为非主属性示例例:SC(SNO,CNO,Grade)候选码:(SNO,CNO),也为主码主属性:SNO,CNO,非主属性:Grade例:教师_课程(教师号,课程号,授课学年)语义:一个教师在一个学年可以讲授多门课程,而且一门课程在一个学年也可以由多个教师讲授,同一个学年可开始多门课程。候选码:(教师号,课程号,授课学年)称这样的表为全码表6.2.1 关系模式中的码(续)外码:用于关系表之间建立关联的属性(组)。定义:若R(U,F)的属性(组)X(X属于U)是另一个关系S的主码,则称X为R的外码。6.2.2 范式v关系数据库中的关系要满足一定的要求,满足不同程度要求的为不不同的范式。5NF4NFBCNF3NF2NF1NF第一范式第一范式:若关系模式若关系模式R R中的所有属性都是不可中的所有属性都是不可分的基分的基 本数据项,则本数据项,则R1NFR1NF第二范式v2.第二范式:如果R(U,F)1NF,并且R中的每个非主属性都完全函数依赖于主码,则R(U,F)2NFv例:S-L-C(Sno,Sdept,SLOC,Cno,Grade)v有:Sno P SLOC,不是2NF。分解办法v首先,对于组成主码的属性集合的每一个子集,用它作为主码构成一个表。v然后,将依赖于这些主码的属性放置到相应的表中。v最后,去掉只由主码的子集构成的表。分解示例v对于S-L-C表,首先分解为如下形式的三张表:S-L(Sno,)C(Cno,)S-C(Sno,Cno,)v然后,将依赖于这些主码的属性放置到相应的表中S-L(Sno,Sdept,Sloc)C(Cno)S-C(Sno,Cno,Grade)v最后,去掉只由主码的子集构成的表,最终分解为:S-L(Sno,Sdept,Sloc)S-C(Sno,Cno,Grade)S-L(Sno,Sdept,Sloc)存在问题)存在问题v数据冗余:有多少个学生就有多少个重复的Sdept和SLOC;v插入异常:当新建一个系时,若还没有招收学生,则无法插入;第三范式 v定义定义:如果R(U,F)2NF,并且所有非主属性都不传递依赖于主码,则R(U,F)3NF。v3NF基本上基本上能消除冗余和更新异常消除冗余和更新异常v对S-L(Sno,Sdept,SLOC)Sno传递SLOC,不是3NF分解过程v对于不是候选码的每个决定因子,从表中删去依赖于它的所有属性;v新建一个表,新表中包含在原表中所有依赖于该决定因子的属性;v将决定因子作为新表的主码。vS-L分解后的关系模式为:S-D(Sno,Sdept)S-L(Sdept,Sloc)BCNFv定义:若定义:若 R 1NF,并且对于每一个非平凡函数依赖,并且对于每一个非平凡函数依赖X Y,X必必含有码含有码,则,则R BCNF。v结论:结论:所有所有非主属性非主属性都完全函数依赖于每个码都完全函数依赖于每个码 所有所有主属性主属性都完全函数依赖于每个不包含它的码都完全函数依赖于每个不包含它的码 没有任何属性完全函数依赖于没有任何属性完全函数依赖于非码非码的任何一组属性的任何一组属性v3NF与与BCNF的关系?的关系?第四范式1.多值依赖多值依赖v定义:设定义:设R(U)是属性集是属性集U上的一个关系模式,上的一个关系模式,X,Y,Z是是U的子集,的子集,Z=U-X-Y,若,若R(U)的任意一个关系,的任意一个关系,对于对于(X,Z)的每个值,存在的每个值,存在Y的一组值与其对应,且的一组值与其对应,且Y的这组值仅仅决定于的这组值仅仅决定于X值而与值而与Z值的无关,则:值的无关,则:v Z为空时,称X Y 为平凡的多值依赖v Z非空时,称X Y 为非平凡的多值依赖Teach(C,T,Teach(C,T,B)B)C C B BC C T TWMP(W,M,P)WMP(W,M,P)多值依赖第四范式定义:若定义:若 R 1NF,并且对于每一个,并且对于每一个非平凡非平凡多值多值依赖依赖X Y(Y不被不被X包含包含),X必必含有码含有码,则,则R 4NF。BCNF与与4NF的关系?的关系?WMP(W,M,P)WM(W,M)WP(W,P)投影分投影分解解4NF6.3 关系模式的规范化一、关系模式规范化的步骤一、关系模式规范化的步骤l1NF 消除消除非主属性非主属性对码的对码的部分部分函数依赖函数依赖l2NF 消除消除非主属性非主属性对码的对码的传递传递函数依赖函数依赖l3NF 消除消除主属性主属性对码的对码的部分和传递部分和传递函数依赖函数依赖lBCNF 消除非平凡且非函数依赖的消除非平凡且非函数依赖的多值多值依赖依赖l4NF 消除不是由候选码所蕴含的消除不是由候选码所蕴含的连接连接依赖依赖l5NF*消消除除决决定定属属性性集集非非码码的的非非平平凡凡函函数数依依赖赖6.3 关系模式的规范化二、关系模式的分解二、关系模式的分解定义:定义:关系模式R(U,F)的分解就是用一组关系模式R1(U1,F1),R2(U2,F2),Rn(Un,Fn)来取代R,其中U=U1U2Un,且不存在Ui Uj,Fi为F在Ui上的投影。v分解后的关系模式应与原关系模式等价l 无损连接的分解无损连接的分解 不丢失信息,且定能达到不丢失信息,且定能达到4NFl 保持函数依赖的分解保持函数依赖的分解 减轻异常,且定能达到减轻异常,且定能达到3NFl 既保持函数依赖又无损连接的分解既保持函数依赖又无损连接的分解 定能达到定能达到3NF二、关系模式的分解6.3 关系模式的规范化例:在一个选课系统中,假设每个学生可以选多门课,但在一门课中只能选一位老师;每门课可以由多个老师授课,每位老师可授多门课。下表给出的关系SC用于描述选课系统。SnoSno学号学号CnoCno课程号课程号CtitleCtitle课程名课程名InameIname教师姓名教师姓名IlocaIloca教师住址教师住址GradeGrade成绩成绩80152C1OS王平D17080153C2DB李雨D28580154C1OS王平D18680154C3AI刘键中D37280155C4CL李雨D2926.3 关系模式的规范化v问:关系SC为第几范式?是否存在插入、删除异常?若存在,则说明是什么情况下发生?发生的原因是什么?将它分解为高一级范式,分解后的关系能否解决操作异常问题?(1)本关系中所有的键均不可再分,因此,本关系符合1NF。v由题意,本关系的主键为:(Sno,Cno,Iname)。本关系中有如下函数依赖:CnoCtitle、InameIlocav因此,此关系中存在部分函数依赖,故此关系不符合2NF。由此可知,此关系为1NF。6.3 关系模式的规范化(2)本关系存在插入异常和删除异常。v如果系统中需新增教师、课程均会发生插入异常。因为此时无法确定选课的学生,因此插入的学号将为空,系统会因为主键为空而出错。v按上图如果删除第2、4或5行,均会发生删除异常。因为在删除这些行后,相应的课程和教师的信息也被删除了。6.3 关系模式的规范化(3)将上面的关系分解为如下三个将上面的关系分解为如下三个关系可符合关系可符合2NF及及3NF。SnoSno学号学号CnoCno课程号课程号InameIname教师姓名教师姓名GradeGrade成绩成绩80152C1王平7080153C2李雨8580154C1王平8680154C3刘键中7280155C4李雨92选课CnoCno课程号课程号CtitleCtitle课程名课程名C1OSC2DBC3AIC4CLInameIname教师姓名教师姓名IlocaIloca教师住址教师住址王平D1李雨D2刘键中D3课程程教教师这个分解后的关系可解决操作异常问题。这个分解后的关系可解决操作异常问题。小结v3NF消除了很大一部分数据冗余和更新异常,在通常的数据库设计中,一般要求达到3NF即可。v规范化的过程是通过把范式程度低的关系模式分解为若干个范式程度高的关系模式来实现的。v分解的最终目的是使每个规范化的关系只描述一个主题。v规范化的方法是进行模式分解,但要注意的是分解后产生的模式应与原模式等价,即模式分解不能破坏原来的语义,同时还要保证不丢失原来的函数依赖关系。小结小结v在函数依赖范畴内,在函数依赖范畴内,BCNF是规范化程度最高的;是规范化程度最高的;v在多值依赖范畴内,在多值依赖范畴内,4NF是规范化程度最高的;是规范化程度最高的;v连接依赖与连接依赖与5NF。
展开阅读全文
相关资源
相关搜索

最新文档


当前位置:首页 > 管理文书 > 施工组织


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!