欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > PPT文档下载  

    数据库原理及应用-第5章-关系数据库理论.ppt

    • 资源ID:6050178       资源大小:399.50KB        全文页数:40页
    • 资源格式: PPT        下载积分:15金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要15金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    数据库原理及应用-第5章-关系数据库理论.ppt

    数据库原理与应用,第5章 关系数据库设计理论,学习目标,理解关系模式可能的四种异常。掌握函数依赖和多值依赖的基本概念。掌握1NF、2NF、3NF、BCNF和4NF的概念和特点。掌握规范化的基本步骤。,给了一组数据,应该构造几个关系?每个关系由哪些属性组成?,问题的提出,这就是关系数据库的模式设计,关系数据库的模式:关系模式定义了关系,一个关系数据库包含了一组关系模式,一组关系模式便构成了关系数据库的模式。关系数据库的模式设计:借助近代数学工具而提出来的,形成了一整套定义、公理、定理及各种实用算法,产生了确定、评价关系数据库模式的方法。,关系数据库的规范化理论数据库模式设计的有力工具,问题的提出,一、关系数据库逻辑设计针对具体问题,如何构造一个适合于它的数据库模式,即应该构造几个关系模式、每个关系模式由哪些属性组成等,这是数据库逻辑结构设计的问题。以关系模型为背景,形成了数据库逻辑设计的一个有力工具关系数据库的规范化理论。二、概念回顾关系:描述实体、实体间的联系。从形式上看,它是一张二维表,是所涉及属性的笛卡尔积的一个子集。关系模式:用来定义关系。关系数据库:基于关系模型的数据库,由一组关系组成,这组关系模式的全体就构成了该数据库的模式。,问题的提出,关系模式的形式化定义:关系模式是一个五元组 R(U,D,DOM,F)R:关系名U:组成该关系的属性名集合D:属性组U中属性所来自的域DOM:属性向域的映象集合F:属性间数据的依赖关系集合 由于D,DOM对模式设计关系不大,因此本章把关系模式简化为一个三元组:R(U,F),关系数据库设计理论,数据依赖范式关系模式的规范化,属性间的联系:有1对1,1对n,m对n三种数据依赖的定义:通过一个关系中属性间值的相互关联(主要体现于值的相等与否)体现出来的数据间的相互联系。是现实世界属性间相互联系的抽象,是数据内在的性质,是语义的体现。,数据依赖,两类最重要的数据依赖,函数依赖,多值依赖,函数依赖 FD,不严格地讲,函数依赖指的是一组属性值唯一决定另一组属性值的这种数据依赖。,学生关系student中,当学号确定后,其姓名也就唯一确定了。主要有sno,sname,sphone等属性,由于一个学号对应一个学生,一个学生也决定了一个手机号,因而SNO值确定了,sname和sphone也就唯一地确定了。类似于数学中的函数Yf(X),自变量X确定了,相应的函数值Y也就唯一地确定了。我们称SNO函数决定SNAME和sphone,记为:SNOsname,SNOsphone。选课关系sc中,当学号sno和课程号cno确定后,其成绩grade也就唯一确定了。记为(sno,cno)grade,函数依赖 FD,定义:设R(U)是一个属性集U上的关系模式,X和Y是U的子集。若对于R(U)的任意一个可能的关系r,r中不可能存在两个元组在X上的属性值相等,而在Y上的属性值不等,或r中如果两个元组取相同X值而相等,必有这两个元组取Y值而相等则称“X函数确定Y”或“Y函数依赖于X”,记作XY,X叫做决定因素。,函数依赖 FD,说明1:函数依赖是指关系模式R的所有关系实例均要满足的约束条件。说明2:函数依赖是语义范畴的概念,只能根据数据的语义来确定函数依赖,设计者可对函数依赖作强制规定。说明3:函数依赖类似于变量间的单值函数关系(一个自变量只能对应一个函数值),因此也称为单值函数依赖;,函数依赖与属性间的联系类型有关1)一对一联系:XY,且YX2)多对一联系:XY3)多对多联系:不存在依赖关系,函数依赖 FD,平凡函数依赖与非平凡函数依赖:在关系模式R(U)中,对于U的子集X和Y,如果XY,但Y X,则称XY是非平凡的函数依赖;若XY,但Y X,则称XY是平凡的函数依赖,X叫做决定因素。例:在关系SC(Sno,Cno,Grade)中,非平凡函数依赖:(Sno,Cno)Grade 平凡函数依赖:(Sno,Sname)Sname(Sno,Sname)Sno对于任一关系模式,平凡函数依赖都是必然成立的,它不反映新的语义,因此若不特别声明,我们总是讨论非平凡函数依赖。,函数依赖 FD,完全函数依赖与部分函数依赖:在R(U)中,如果XY,并且对于X的任何一个真子集X,都有X Y(真子集X不决定Y),则称Y对X 完全函数依赖,记作:X Y。若XY,且存在一个X的真子集X,有X Y,则称Y部分函数依赖于X,记作X Y。,f,p,例:关系SC(Sno,Cno,Grade)中,由于SnoGrade,Cno Grade,因此:(Sno,Cno)Grade。,f,例:关系S(Sno,Sname,Sphone)中,由于Sno Grade(Sno,Sname)Grade,因此:(Sno,Sname)Grade。,p,传递函数依赖:在R(U)中,若X,Y,Z是R互不相同的属性集合,若 XY,YZ,YX,则称Z传递(Transfer)函数依赖于X。记作:XZ若XY,YX,YZ,则Z直接函数依赖于X,t,函数依赖 FD,传递函数依赖:例:在关系Std(Sno,Sdept,Mname)中,有:Sno Sdept,Sdept Sno,Sdept Mname 则Mname传递函数依赖于Sno。例:在关系S(Sno,Sname,Sdept)中,假设不重名时,有:SnoSname,SnameSno,且SnoSdept,则Sdept直接函数依赖于Sno。,定义:设K为R中的属性或属性组合,若K U,则K为R的候选码。若候选码多于一个,则选其中一个为主码(Primary key)。例:关系Student(Sno,Sname,Sage,Ssex,Sdept)若每个学生不允许重名,则Sno,Sname是两个候选码;关系SC(Sno,Cno,Grade)中(Sno,Cno)是一个候选码。,f,码(key):又称关键字或键,主属性与非主属性:包含在任一候选码中的属性称为主属性,不包含在任何候选码中的属性称为非主属性。外码(Foreign key):关系模式R中属性或属性组X并非R的码,但X是另一个关系模式的码,则称X是R的外码。例:关系SC(Sno,Cno,Grade)中Sno不是码,但 Sno是关系Student的码,则Sno是关系SC的外码。主码和外码一起提供了表示关系间联系的手段。,1)函数依赖是完整性约束的一种特殊形式2)函数依赖分为:完全函数依赖部分函数依赖传递函数依赖3)函数依赖是规范化理论的依据4)函数依赖是规范化程度的准则,关系模式可能的四种异常,例如:如果选修课系统的数据库模式仅由一个关系模式Student 构成该关系模式的属性集合为:USno,Sname,Cno,Cname,Grade。其中,学号(Sno)、学生名(sname)、课程号(Cno)、课程名Cname,成绩(Grade)。,关系模式可能的四种异常,USno,Sname,Cno,Cname,Grade。其函数依赖为F SnoSname,CnoCname,(Sno,Cno)Grade 函数依赖如图:,Grade,Sno,Cno,Sname,Cname,关系模式可能的四种异常,关系模式Student中存在的问题:USno,Sname,Cno,Cname,Grade 数据冗余太大:浪费大量的存储空间。每一个学生的名字Sname与该学生的每门课程的成绩出现的重复次数相同。插入异常:该插的数据插不进去。如果有学生但尚未选课,我们就无法把课程的信息存入数据库。,关系模式可能的四种异常,关系模式Student中存在的问题:USno,Sname,Cno,Cname,Grade 删除异常:不该删除的数据被删了。如果某课程只有一个学生选修,该学生毕业后,如果要删除该名学生的信息,则该门课程的信息也同时被删掉了。更新异常:更新数据时维护数据完整性代价大。如果要更改课程名,则必须更改所有选修该课程的元组。,是符合某一种级别的关系模式的集合。关系数据库中的关系模式必须满足一定的要求,满足不同程度要求的为不同的范式。目前主要有六种:第一范式(1NF)、第二范式(2NF)、第三范式(3NF)、BC范式(BCNF)、第四范式(4NF)、第五范式(5NF)。满足最低要求的叫第一范式,在第一范式基础上进一步满足一些要求的为第二范式。其余以此类推。各级范式关系:5NF 4NF BCNF 3NF 2NF 1NF如果关系满足某个范式要求,也会满足较低级别范式的要求通常将某一关系模式R为第n范式简记为RnNF,范式,定义:若关系模式R的所有属性都是不可分的基本数据项,则R 1NF。说明:1NF是关系模式的最起码要求若R 1NF,则R不是关系数据库,第一范式(1NF),如果选修课系统的数据库模式仅由一个关系模式Student 构成,USno,Sname,Cno,Cname,Grade。满足第一范式,其函数依赖为F SnoSname,CnoCname,(Sno,Cno)Grade 函数依赖如图:,Grade,Sno,Cno,Sname,Cname,p,f,存在的问题:数据冗余太大:浪费大量的存储空间。若某学生选修了多门课程,则他的sname值就要重复存储多次。插入异常:该插的数据插不进去。假设某学生还未选课,因cno是主属性,因此该学生信息无法插入。删除异常:若一门课程仅被选修一次,现因某种原因,这门课程也没有被选修。因课程号cno是主属性,此操作将导致包括该课程的所有信息一起整个元组都要删除。修改异常:更新数据时维护数据完整性代价大。如果要更改课程名,则必须更改所有选修该课程的元组。引起原因:sname、cname部分函数依赖于码(Sno,Cno)。,解决方法:分解关系模式,以此消除其中部分函数依赖。例如:把上述模式分成三个关系模式:S(Sno,Sname,SnoSname)SC(Sno,Cno,Grade,(Sno,Cno)Grade)C(Cno,Cname,CnoCname)这三个模式都不会发生插入异常、删除异常等,数据的冗余也得到了很好的控制。,定义:若关系模式R 1NF,且每个非主属性都完全函数依赖于R的码,则R 2NF。例S(Sno,Sname,Sage,Ssex,sphone)1NF,假设姓名Sname无重名Sno(Sname,Sage,Ssex,sphone)Sname(Sno,Sage,Ssex,sphone)Sno,Sname分别为候选码 Sage,Ssex,sphone是非主属性 Sage,Ssex,sphone完全依赖于每个码S 2NF,第二范式(2NF),SC(Sno,Cno,Sdept,Ssir,Grade)1NF,(Sno,Cno)是唯一的码。非主属性对码的函数依赖有:(Sno,Cno)Grade(Sno,Cno)Sdept(Sno Sdept)(Sno,Cno)Ssir(Sno Ssir)存在非主属性对码的部分函数依赖,SC 2NF,f,p,p,解决方法:分解关系模式,以此消除其中部分函数依赖。1.SC(Sno,Cno,Grade)(Sno,Cno)Grade 2.S(Sno,Sdept,Ssir)Sno Sdept,Sno Ssir,Sdept Ssir非主属性完全函数依赖于码,因此SC2NF,S2NF,Grade,Sno,Cno,f,Sno,Sdept,Ssir,(a)SC,(b)S,存在的问题:数据冗余度大:若一个系有100个学生,则该系学生的Ssir值就要重复存储100次。插入异常:如某系刚成立,暂无住校学生,该系的信息就无法插入。删除异常:如某系学生全部毕业时,删除了该系学生信息的同时该系的信息也被删除了。修改异常:如学校调整某系的系主任时,必须修改该系所有学生的Ssir值。引起原因:Ssir传递函数依赖于码Sno。,定义:若R 2NF,且每个非主属性都不传递依赖于R的任何码,则R 3NF说明每个非主属性既不部分依赖,也不传递依赖于R的候选码从1NF到2NF:消除非主属性对码的部分函数依赖从2NF到3NF:消除非主属性对码的传递函数依赖,第三范式(3NF),1)SC(Sno,Cno,Grade)2NF,SC 3NF 2)S(Sno,Sdept,Ssir)2NF S中有传递依赖:SnoSdept,SdeptSsir,SnoSsir 对S分解,消除传递依赖1)SD(Sno,Sdept),SnoSdept,SD 3NF 2)DM(Sdept,Ssir),SdeptSsir,DM 3NF,Sno,Sdept,Ssir,Sno,Sdept,Sdept,Ssir,SD,DM,S,t,3NF模式存在的问题,设在关系模式STC(S,T,C)中,其中S学生,T教师,C课程,假设每一教师只教一门课,每门课由若干教师教,某学生选定某门课就确定了一个固定教师。有函数依赖:(S,C)T,(S,T)C,TC,显然(S,C)和(S,T)都为候选码,该模式没有非主属性。所以,STC3NF。,C,T,S,C,T,S,存在的问题数据冗余度较大:虽一个教师只教一门课,但每个选修该教师该门课的学生元组都要记录这一信息。插入异常:如学生刚入校尚未选课,因主属性不能为空,该生信息就无法存入数据库;同样如某教师开设了新课,但尚未有学生选修,则该信息也无法存入数据库。删除异常:如选修某课的学生全部毕业时删除他们信息的同时相应教师开设该课的信息也被删除。修改异常:如某教师开设的某门课改名后,所有选修该教师该门课的学生都应进行修改。引起原因:存在(S,T)C。,p,BC范式(BCNF),定义:设关系模式R1NF,如果对于R的每个函数依赖XY,则X必为候选键,那么RBCNF。性质 若RBCNF,则R3NF。若R3NF,且R只有一个候选码,则R必属于BCNF。所有非主属性对每一个码都是完全函数依赖。所有的主属性对每一个不包含它的码都是完全函数依赖。没有任何属性完全函数依赖于非码的任何一组属性。,例:关系模式SCP(S,C,P)中,S、C、P分别表示学生、课程和名次,每个学生选修每门课程的成绩都有一定的名次,每门课程中每一名次只有一个学生(即没有并列名次)。则有函数依赖(S,C)P,(C,P)S,所以(S,C)与(C,P)都可以作为候选码,SCPBCNF。,C,P,S,C,P,S,例关系模式STC(S,T,C),其中:S学生,T教师,C课程,假设每个教师只教一门课;每门课由若干教师教,某一学生选定某门课,就确定了一个固定的教师。由其语义得到函数依赖:(S,C)T;(S,T)C;TC。(S,C),(S,T)都是候选码。没有任何非主属性对码传递依赖或部分依赖STC 3NF TC,T是决定因素,是主属性,不是候选码(S,C)T,存在主属性对码的部分依赖和传递依赖。STC BCNF,解决办法:对STC进行分解:(1)ST(S,T);(2)TC(T,C)函数依赖:ST中有ST;TC中有TC没有任何属性对码的部分函数依赖和传递函数依赖。所以,ST BCNF,TC BCNF,C,T,S,S,T,T,C,ST,TC,BC范式存在的问题,例设学校中某一门课程由多个教师讲授,他们使用相同的一套参考书。可以用一个关系模式Teach(C,T,B)表示课程C、教师T和参考书B之间的关系。Teach具有唯一候选码(C,T,B),即全码,因而TeachBCNF。,T,B,C,存在的问题:数据冗余度大:每一门课程的参考书是固定的,但在Teach关系中,有多少名任课教师,参考书就要存储多少次。操作复杂:当某一课程增加一名任课教师时,该课程有多少本参考书,就必须插入多少个元组。删除操作复杂:某一门课要去掉一本参考书,该课程有多少名教师,就必须删除多少个元组。修改操作复杂:某一门课要修改一本参考书,该课程有多少名教师,就必须修改多少个元组。引起的原因:参考书的取值和教师的取值是彼此独立毫无关系的,它们都只取决于课程名。,

    注意事项

    本文(数据库原理及应用-第5章-关系数据库理论.ppt)为本站会员(牧羊曲112)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开