数据库原理与应用ppt课件_第1页
数据库原理与应用ppt课件_第2页
数据库原理与应用ppt课件_第3页
数据库原理与应用ppt课件_第4页
数据库原理与应用ppt课件_第5页
已阅读5页,还剩31页未读 继续免费阅读

下载本文档

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

文档简介

数据库原理与应用,15关系数据理论-范式郑捷,.,数据库原理与应用,2,郑捷,数据库完整性,完整性概念实体完整性参照完整性用户定义的完整性命名子句触发器,.,数据库原理与应用,3,郑捷,什么是完整性,完整性是指数据的正确性和相容性完整性和安全性是不同的概念防止不合语义、不正确的数据进入数据库但是完整性不确保数据的准确性和真实性,.,数据库原理与应用,4,郑捷,实体完整性,即所谓的主键(主码),PRIMARYKEY要求在关系中,主码字段或者字段的组合唯一主码是关系中元组(记录)的标识完整性约束可以是表级约束,也可以是字段级约束当码仅有一个字段构成时,两种方法都可以当码有一个以上的字段时,只能是表级约束,.,数据库原理与应用,5,郑捷,参照完整性,即所谓的外码(外键),FOREIGNKEY外键同样可以定义为表级和字段级参照完整性涉及两个表,参照表和被参照表在使用参照完整性的时候,要注意两个表的联系和区别,不要反向关联参照完整性是数据库范式、数据库设计的基础,.,数据库原理与应用,6,郑捷,用户定义的完整性,根据具体的应用对数据提出的要求包括非空约束(NOTNULL)唯一约束(UNIQUE)检查约束(CHECK)非空约束只能是字段级的,且只能针对一个字段唯一约束和检查约束可以是字段级的,也可以是表级的,.,数据库原理与应用,7,郑捷,约束的命名,在创建约束的语句中,约束的命名是可选的未明确命名的约束,DBMS会自动为其增加名称。自动命名的规则一般是类型前缀+表名+序列号约束的命名要求在全数据库中唯一建议对约束进行手工命名!,.,数据库原理与应用,8,郑捷,触发器Trigger,之前所说的约束,都属于简单语句的约束,功能简单但是快捷,适用于大多数的情况对于一些比较复杂的规则,无法用简单的约束实现的,这个时候就需要编程实现触发器就是一段代码,这段代码在指定的数据修改时被执行,用来检查对数据的修改是否符合规则触发器能做的不仅仅是判断是否操作合法,还可以更新其他数据,确保数据之间的一致性,.,数据库原理与应用,9,郑捷,关系数据理论,问题的提出规范化公理系统模式的分解,.,数据库原理与应用,10,郑捷,问题的提出,关系数据库的逻辑设计针对具体问题,如何构建一个合适的数据模式数据库逻辑设计的工具关系数据库的规范化理论,.,数据库原理与应用,11,郑捷,问题的提出2,关系模式数据依赖数据依赖对关系模式的影响,.,数据库原理与应用,12,郑捷,关系模式,关系模式的形式化描述一个五元组R(U,D,DOM,F)在本章中,D和DOM关系不大我们关注的是其中的三元组:R,.,数据库原理与应用,13,郑捷,数据依赖,一个关系内部属性与属性之间的一种约束关系现实世界属性间相互联系的抽象数据内在的性质,语义的体现,.,数据库原理与应用,14,郑捷,数据依赖的类型,函数依赖(FunctionalDependency,FD)多值依赖(MultivaluedDependency,MVD)其他依赖,.,数据库原理与应用,15,郑捷,数据依赖对关系模式的影响,例.学校教务的数据库中部分实体:学生的学号(Sno)所在系(Sdept)系主任姓名(Mname)课程名(Cname)成绩(Grade),.,数据库原理与应用,16,郑捷,函数依赖,函数依赖的存在极为普遍例如:每个学号仅对应一个学生,因此当学号的值确定后,学生的姓名也就被唯一地确定了类似于数学上函数y=f(x),当x确定,y也确定记为Sname函数依赖于Sno:SnameSno,.,数据库原理与应用,17,郑捷,数据依赖对关系模式的影响,关系模式:StudentU=Sno,Sdept,Mname,Cname,Grade属性组U上的一组函数依赖F:F=SnoSdept,SdeptMname,(Sno,Cname)Grade,.,数据库原理与应用,18,郑捷,数据依赖图,.,数据库原理与应用,19,郑捷,只考虑函数依赖下的表,.,数据库原理与应用,20,郑捷,上述模式存在的问题,数据冗余太大更新异常(UpdateAnomalies)插入异常(InsertionAnomalies)删除异常(DeletionAnomalies),.,数据库原理与应用,21,郑捷,问题的原因,Student关系模式不是一个好的模式。“好”的模式:不会发生插入异常、删除异常、更新异常,数据冗余应尽可能少原因:由存在于模式中的某些数据依赖引起的,.,数据库原理与应用,22,郑捷,解决办法,通过分解关系模式来消除其中不合适的数据依赖把这个单一模式分成3个关系模式:S(Sno,Sdept;SnoSdept)SC(Sno,Cno,Grade;(Sno,Cno)Grade)DEPT(Sdept,Mname;SdeptMname),.,数据库原理与应用,23,郑捷,规范化,规范化理论正是用来改造关系模式,通过分解关系模式来消除其中不合适的数据依赖,以解决插入异常、删除异常、更新异常和数据冗余问题,.,数据库原理与应用,24,郑捷,规范化,函数依赖码范式2NF3NFBCNF多值依赖4NF5NF.,.,数据库原理与应用,25,郑捷,函数依赖,设R(U)是一个属性集U上的关系模式,X和Y是U的子集。若对于R(U)的任意一个可能的关系r,r中不可能存在两个元组在X上的属性值相等,而在Y上的属性值不等,则称“X函数确定Y”或“Y函数依赖于X”,记作XY。,.,数据库原理与应用,26,郑捷,平凡与非平凡依赖,在关系模式R(U)中,对于U的子集X和Y,若XY,但YX,则称XY是非平凡的函数依赖若XY,但YX,则称XY是平凡的函数依赖例:在关系SC(Sno,Cno,Grade)中,非平凡函数依赖:(Sno,Cno)Grade平凡函数依赖:(Sno,Cno)Sno(Sno,Cno)Cno,以下用小于号代替集合的包含符号,.,数据库原理与应用,27,郑捷,决定因素,若XY,则X称为这个函数依赖的决定属性组,也称为决定因素(Determinant)。若XY,YX,则记作XY。若Y不函数依赖于X,则记作XY。,.,数据库原理与应用,28,郑捷,完全和部分函数依赖,在R(U)中,如果XY,并且对于X的任何一个真子集X,都有XY,则称Y对X完全函数依赖,记作XFY。若XY,但Y不完全函数依赖于X,则称Y对X部分函数依赖,记作XPY。例:Student模式中的(Sno,Cno)Grade是完全函数依赖(Sno,Cno)Sdept是部分函数依赖,.,数据库原理与应用,29,郑捷,传递函数依赖,在R(U)中,如果XY,(YX),YXYZ,则称Z对X传递函数依赖。记为:X传递Z例:在关系Std(Sno,Sdept,Mname)中,有:SnoSdept,SdeptMnameMname传递函数依赖于Sno,.,数据库原理与应用,30,郑捷,码、候选码,主码,设K为R中的属性或属性组合。若KFU,则K称为R的侯选码(CandidateKey)。若候选码多于一个,则选定其中的一个做为主码(PrimaryKey)。,.,数据库原理与应用,31,郑捷,码中的属性,主属性与非主属性包含在任何一个候选码中的属性,称为主属性(Primeattribute)不包含在任何码中的属性称为非主属性(Nonprimeattribute)或非码属性(Non-keyattribute)全码整个属性组是码,称为全码(All-key),.,数据库原理与应用,32,郑捷,范式,范式(NormalFormal)是符合某一种级别的关系模式的集合关系数据库中的关系必须满足一定的要求。满足不同程度要求的为不同范式范式的种类1NF,2NF,3NF,BCNF,4NF,5NF,.,数据库原理与应用,33,郑捷,范式,各种范式之间存在联系:1NF=2NF=3NF=BCNF=4NF=5NF一个低一级范式的关系模式,通过模式分解可以转换为若干个高一级范式的关系模式的集合,这种过程就叫规范

温馨提示

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

评论

0/150

提交评论