资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,自考,04735,数据库系统原理,笔记,原创;雷神,2018-08-20,1,第一部分课程说明,数据库系统原理,课程,学习目标,:,数据库是计算机科学的一个重要研究领域,是专门研究数据处理、数据管理和数据分析的技术,从,20,世纪,60,年代末开始,经过,40,多年的发展,已成为计算机软件学科的一个重要分支。,数据库系统原理,课程的主要目的:使同学们了解数据库的基本原理,掌握数据库技术的基本方法和应用技术,能够有效的使用现有的数据库管理系统,掌握数据库结构的设计和数据库应用系统的开发方式,同时能够利用前端开发工具完成企业管理信息系统的开发。,2,数据库系统原理,课程,地位图示,B/S,结构,C/S,结构,浏览器端:,HTML/CSS/JavaScript/VBScript,服务器端:,ASP(.NET),/,PHP/,JSP,C/S,结构:,VB/VC/VC#/Delphi/Java/.NET,系列,数据库支持:,SQL Server,/,Oracle,/Sybase/MySQL/Informix/Access,两大语法体系:,Basic,系:,VB/VBScript/,VBA,C,系:,Java,/JavaScript/,C+/,C#,3,参考教材介绍,自学教材,数据库系统原理,,全国高等教育自学考试指导委员会组编,丁宝康主编,经济科学出版社,2007,年版。,本教材共分为,9,章,详细介绍了数据库系统的基本原理、方法和应用技术。内容包括:数据库系统基本概念(第一章)、数据库的设计和,ER,模型(第二章)、关系模式设计理论(第三章)、关系运算(第四章)、,SQL,语言(第五章)、数据库管理(第六章)、,SQL Server2000,简介及应用(第七章)、,PowerBuilder9.0,简介及应用(第八章)、数据库的技术的发展(第九章)。,4,第二部分内容串讲,我们分章节进行串讲,在串讲每一章前我把本章的考核的目标和重点、难点做简要说明。,5,第一章数据库基础知识,学习目的与要求:,本章属于基础知识,主要是对一些概念的理解和记忆。没有难点,相对的重点是数据模型的四个层次,数据库管理系统的功能,数据库系统的全局结构。,6,考核知识点与考核要求,1.1,数据管理技术的发展阶段,(识记),1.2,数据描述的术语,(领会),1.3,数据抽象的级别,(领会),1.4,数据库管理系统,(DBMS),(,领会,),1.5,数据库系统(,DBS,),(领会),7,1.1,数据管理技术的发展,几个数据库的基本术语:,数据:,描述事物的符号记录,数据处理,:,是指从某些已知的数据出发,推导加工出一些新的数据,这些新的数据又表示了新的信息。,数据管理,:,是指数据的收集、整理、组织、存储、维护、检索、传送等操作,这部分操作是数据处理业务的基本环节,而且是任何数据处理业务中必不可少的共有部分。,数据管理技术:,对数据的收集、整理、组织、存储、维护、检索、传送等操作,基本目的就是从大量的,杂乱无章的,难以理解的数据中筛选出有意义的数据。,数据处理是与数据管理相联系的,数据管理技术的优劣,将直接影响数据处理的效率。,8,1.1,数据管理技术的发展,1.,人工管理阶段(,20,世纪,50,年代中期以前),)数据不保存在机器中;,)没有专用软件对数据进行管理;,)只有程序的概念,没有文件的概念;,)数据面向程序。,9,2.,文件系统阶段特点与缺陷(,20,世纪,50,年代后期至,60,年代中期),)数据可长期保存在磁盘上;,)数据的逻辑结构与物理结构有了区别;,)文件组织呈现多样化;,)数据不再属于某个特定程序,可以重复使用;,)对数据的操作以记录为单位。,文件系统三个缺陷:,)数据冗余性,)数据不一致性,)数据联系弱,10,3.,数据库阶段(,20,世纪,60,年代后,至今),数据管理技术进入数据库阶段的标志是,20,世纪,60,年代末三件大事:,),1968,年美国,IBM,公司推出层次模型的,IMS,系统;,),1969,年美国,CODASYL,组织发布了,DBTG,报告。总结了当时各式各样的数据库,提出网状模型,尔后于,1971,年,4,月正式通过。,),1970,年美国,IBM,公司的,E.F.Codd,连续发表论文,提出关系模型,奠定了关系数据库的理论基础。,11,数据库管理阶段特点:,1)采用数据模型表示复杂的数据结构;,2)有较高的数据独立性;,3)数据库系统为用户提供了方便的用户接口。,4)数据库系统提供以下四个方面的数据控制功能:,数据库的恢复;,数据库的并发控制;,数据库的完整性;,数据库的安全性;,5)增加了系统的灵活性。,增加了系统的灵活性对数据的操作不一定以记录为单位,可以以数据项为单位。,12,数据库技术中的四个名词,:DB,、,DBMS,、,DBS,、数据库技术。其概念是不同的,要分清。,DB,:数据库(,Database),长期存储在计算机内、有组织的、统一管理的相关数据的集合。,DBMS,:数据库管理系统(,Database Management System),,,DBMS,是位于用户与操作系统之间的一层数据管理软件,为用户或应用程序提供访问,DB,的方法,包括,DB,的建立、查询、更新及各种数据控制。,DBMS,总是基于某种数据模型,可以分为层次型、网状型、关系型、面向对象型,DBMS,。,DBS,:数据库系统(,Database System),DBS,是实现有组织地、动态地存储大量关联数据,方便多用户访问的计算机软件、硬件和数据资源组成的系统,即采用了数据库技术的计算机系统。,数据库技术,:是一门研究数据库结构、存储、管理和使用的一门软件学科。,13,4.,高级数据库阶段:,)面向对象的概念建模,)开放数据库互连技术,14,1.2,数据描述,在数据处理中,数据描述将涉及不同的范畴。从事物的特性到计算机中的具体表示,数据描述经历了三个阶段,概念设计、逻辑设计和物理设计。,15,1.,概念设计中的的数据描述,)实体,)实体集,)属性,)实体标识符,2.,逻辑设计中的数据描述,)字段,)记录,)文件,)关键码,16,3.,物理设计中的数据描述,物理存储介质层次,)高速缓冲存储器,)主存储器,)快擦写存储器,)磁盘存储器,)光盘存储器,)磁带,物理存储中的数据描述,位、字节、字、块、桶和卷。,17,4.,数据联系的描述,联系及元数定义:,二元联系有以下三种类型:,1,:,1,联系,:如果实体集,E1,中的每个实体最多只能和实体集,E2,中的一个实体有联系,反之亦然,好么实体集,E1,对,E2,的联系称为,“,一对一联系,”,,记为,“,1,:,1,”,。,1,:,N,联系,:如果实体集,E1,中每个实体与实体集,E2,中任意个(零个或多个)实体有联系,而,E2,中每个实体至多和,E1,中的一个实体有联系,那么,E1,对,E2,的联系是,“,一对多联系,”,,记为,“,1,:,N,”,。,M,:,N,联系,:如果实体集,E1,中每个实体与实体集,E2,中任意个(零个或多个)实体有联系,反之亦然,那么,E1,对,E2,的联系是,“,多对多联系,”,,记为,“,M,:,N,”,。,18,1.3,数据抽象的级别,1.,数据抽象的过程,根据抽象的级别定义了四种模型:,)概念数据模型,)逻辑数据模型,)外部数据模型,)内部数据模型,19,2.,概念模型,)四种模型中,概念模型的抽象级别最高。,)概念模型的特点:(,p12),20,3.,逻辑模型,逻辑模型的特点:,(,p13),(,1,),(,4,),逻辑模型的分类:,)层次模型,)网状模型,)关系模型,三种逻辑数据模型的比较?如,P17,图,21,4.,外部模型,外部模型的特点:,(,p17),从整个系统考察,外部模型的优点。,5.,内部模型,是数据库最底的抽象,它描述数据在磁盘或磁带上的存储方式、存取设备和存取方法。,22,6.,三层模式和两级映象,三层模式体系结构,)外模式:是用户与数据库系统的接口,是用户用到的那部分数据的描述。,)逻辑模式:是数据库中全部数据的整体逻辑结构的描述。,)内模式:是数据库在物理存储方面的描述,定义所有内部记录类型、索引和文件的组织方式,以及数据控制方面的细节。,两级映象,外模式,/,逻辑模式映象:,用于定义概念模式和内模式之间的对应性。一般在内模式中描述。,逻辑模式,/,内模式映象:,用于定义外模式和概念模式间的对应性。一般在外模式中描述。,23,7.,高度的数据独立性,什么叫数据独立性?,是指应用程序和数据库的数据结构之间相互独立,不受影响。在修改数据结构时,尽可能不修改应用程序,则称系统达到了数据独立性目标。,数据独立性分为物理数据独立性和逻辑数据独立性:,物理数据独立性,:修改内模式时尽量不影响概念模式及外模式,则达到物理数据独立性。,逻辑数据独立性,:修改概念模式时尽量不影响外模式和应用程序。,24,1.4,数据库管理系统(,DBMS,),1.,DBMS,的目标与任务:,数据库管理系统的主要任务是完成用户对数据库的存取请求,即检索、插入、更新或删除等操作。,DBMS,的目标:用户界面友好、功能完善、结构清晰、高效率、开放性,2.,DBMS,的工作模式,(,p20,图),25,3.DBMS,的主要功能:,)数据库的定义功能,)数据库的操纵功能,)数据库的保护功能(数据库恢复、数据库并发控制、数据库完整性和数据库安全性),)数据库的维护功能,)数据字典,26,1.5,数据库系统,(DBS),1.,DBS,由四部分组成:数据库、硬件、软件、数据库管理员。,2.,数据库管理员定义及职责。(素质+职责),3.,DBS,的全局结构及,DBS,的效益。(数据库用户+界面+,DBMS+,磁盘+,DBS,的效益),本章结束,27,第二章数据库设计和,ER,模型,学习目的与要求:,本章总的目的要求是了解和掌握数据库应用系统设计的全过程。首先掌握,ER,模型和关系模型的基本概念,然后掌握概念设计中,ER,模型的设计方法,逻辑设计中,ER,模型向关系模型转换方法。,28,考核知识点与考核要求,2.1,数据库系统生存期,(领会),2.2ER,模型的基本概念,(综合应用),2.3,关系模型的基本概念,(综合应用),2.4ER,模型到关系模型的转换规则,(综合应用),2.5ER,模型实例分析,(简单应用),2.6,增强,ER,模型,(简单应用),29,从软件生存期谈起,软件生存期:是指从软件的规划、研制、实现、投入运行后的维护、直到它被新的软件所取代而停止使用的整个期间。它包括六个阶段:,(,规需设编试运维,),(1),规划阶段,(2),需求分析阶段,(3),设计阶段,(4),程序编制阶段,(5),调试阶段,(6),运行维护阶段,30,2.1,数据系统生存期,1.,什么叫数据库系统生存期?,我们把数据库应用系统从开始规划、设计、实现、维护到最后被新的系统取代而停止使用的整个期间,称为数据库系统生存期。,2.,这个生存期一般可划分成以下七个阶段:,规划、需求分析、概念设计、逻辑设计、物理设计、实现、运行维护。,31,.2,ER,模型的基本概念,1.ER,模型的基本元素,实体、联系和属性,2.,属性的分类,(简单属性和复合属性、单值属性和多值属性、存储属性和派生属性),3.,联系的设计,4.ER,模型的操作,(分裂、合并和增删),32,5.,采用,ER,模型的数据库概念设计步骤,采用,ER,方法进行数据库概念设计分成三步进行:,首先设计局部,ER,模式,然后把各局部,ER,模式综合成全局,ER,模式,最后对全局,ER,模式进行优化,33,2.3,关系模型的基本概念,.,关系模型定义:,用二维表格结构表示实体集、外键表示实体间联系的数据模型称为关系模型。,2.,基本术语有:,字段,(,属性,),、字段值,(,属性值,),、记录,(,元组,),、二维表格,(,元组集合、关系或实例,),。在这里,括号中的表述为关系模型中的术语。它与表格中术语可以一一对应。还有,关系中属性个数称为元数,元组个数为基数。,34,3.,键:,由一个或几个属性组成。,(,注意键不一定是唯一的一个属性,),。,1),超键:在关系中能唯一标识元组的属性集称为关系模式的超键。,(,注意,超键也是一个属性集,不一定只是一个属性,),2),候选键:不含有多余属性的超键称为候选键。,3),主键:用户选作元组标识的一个候选键为主键。,4),外键:某个关系的主键相应的属性在另一关系中出现,此时该主键在就是另一关系的外键,如有两个关系,S,和,SC,其中,S#,是关系,S,的主键,相应的属性,S#,在关系,SC,中也出现,此时,S#,就是关系,SC,的外键。,35,.,关系的定义和性质,)关系定义:关系是一个属性数目相同的元组的集合。,)关系性质(,p53),36,5.,三类完整性规则,)实体完整性规则:要求关系中组成主键的属性上不能有空值。,)参照完整性规则:要求不引用不存在的实体。,)用户定义完整性规则:由具体应用环境决定,系统提供定义和检验这类完整性的机制。,37,2.4,E-R,模型向关系模型的转换,E-R,模型可以向现有的各种数据库模型转换,对不同的数据库模型有不同的转换规则。这里只讨论,E-R,模型向关系模型的转换方法。,1.E-R,模型向关系模型的转换规则:,(1)实体类型的转换,将每个实体类型转换成一个关系模式,,实体的属性即为关系的属性,实体标识符即为关系的键。,(2)联系类型的转换,1),实体间的联系是,1:1,可以在两个实体类型转换成两个关系模式中的任意一个关系模式的属性中加入,另一个关系模式的键,和,联系类型的属性,。,38,系关系模式(,校名,,地址,电话,,系主任名,任职年月,),系主任关系模式(,姓名,,性别,年龄,,职称),职称,1,1,系主任,系,姓名,性别,年龄,校名,地址,任职年月,主管,电话,系主任关系模式(,姓名,,性别,年龄,,职称,,学校名,任职年月,),系关系模式(,校名,,地址,电话),39,N,1,工号,年龄,职工,车间,姓名,性别,车间号,车间名,电话,聘用,聘期,2),如实体间的联系是,1:N,则在,N,端实体类型转换成的关系模式中加入,1,端实体类型转换成的关系模式的键,和,联系类型的属性,。,车间关系模式(,车间号,,车间名,,电话),职工关系模式(,工号,,姓名,性别,年龄,,车间号,聘期,),40,3),如实体间的联系是,M:N,则将联系类型也转换成关系模式,其属性为,两端实体类型的键,加上,联系类型的属性,,而键为两端实体键的组合。,41,学生关系模式,S,(,S#,,,SNAME,,,AGE,,,SEX),课程关系模式,C,(,C#,,,CNAME,,,TEACHE-R),GRADE,SC,M,N,S,S#,SNAME,AGE,SEX,C,C#,CNAME,TEACHE-R,学生课程关系模式,SC,(,S#,,,C#,,,GRADE,),42,以上各转换规则,给出了一般情况下,E-R,模型向关系模型的转换方法。但在实际应用中往往还需要根具实际情况进行具体处理。,下面以图书借阅系统的,E-R,模型转换为关系模型为例。,43,借期,借阅,M,N,读者,编号,姓名,读者类型,已借数量,图书,编号,书名,出版社,还期,44,该例中,由于允许同一本书在不同的时间借给多个读者,特别是一个读者在不同的时间可以借同一本书。因而,在多对多联系,“,借阅,”,转换为关系模式时,仅有读者的,编号,和图书的,编号,是不能构成码的。,例如:,(,0406010,,,F33.33,2006-10-10:10:10,2007-02-20:3:00,),(,0406010,F33.33,2007-5-26,:,4,:,00,NULL),45,借期,借阅,M,N,读者,编号,姓名,读者类型,已借数量,图书,编号,书名,出版社,还期,读者关系模式读者,(,编号,,书名,出版社,出版日期,定价,),读者图书关系模式 借阅,(,读者编号,,,图书编号,,,借期,,还期),图书关系模式图书,(,编号,,姓名,读者类型,已借数量,),46,说明,按照上述介绍的转换方法得到的关系模型不一定是最好的。实际应用中,往往还要对得到的关系模型进行规范化。,47,2.5,和2.6,实例分析,同学们多看书!,1.库存管理系统的,ER,模型及转换,2.人事管理信息系统的,ER,模型,3.住院管理信息系统的,ER,模型,4.公司车队信息系统的,ER,模型,本章结束,48,第三章关系模式设计理论,学习目的与要求:,本章特点是理论性较强,学习者应从概念着手,搞清概念间的联系和作用。,本章总的要求是:了解关系数据库规范化理论及其在数据库设计中的作用。,本章的重点是函数依赖、无损分解、保持依赖和范式。掌握这些概念并能运用它们分析模式分解的特点。,49,考核知识点与考核要求,3.1,关系模式的设计准则,(简单应用),3.2,函数依赖,(FD),(简单应用),3.3,关系模式的分解特性,(简单应用),3.4,范式,1NF,、,2NF,、,3NF,(简单应用),BCNF,(领会),分解成,BCNF,模式集的,“,分解算法,”,(,识记,),分解成,3NF,模式集的,“,合成算法,”,(,综合应用,),模式设计方法小结,(领会),3.5,多值依赖和第四范式,(识记),50,3.1,关系模式的设计准则,1.,关系模式的冗余和异常问题,)数据冗余,)操作异常(修改异常、插入异常和删除异常),51,2.,关系模式的非形式化设计准则,)关系模式的设计应尽可能只包含有直接联系的属性,不包括有间接联系的属性,)关系模式的设计应尽可能使得相应关系中不出现插入、删除和修改异常。,)关系模式的设计应尽可能使得相应关系中避免放置经常为空值的属性。,)关系模式的设计应尽可能使得关系的等值连接在主键和外键的属性上进行,并且保证连接以后不会生成额外的元组。,52,3.2,函数依赖,1.,函数依赖的定义,设有关系模式,R(A1,,,A2,,,.An),或简记为,R(U),,,X,,,Y,是,U,的子集,,r,是,R,的任一具体关系,如果对,r,的任意两个元组,t1,t2,由,t1X=t2X,导致,t1Y=t2Y,,则称,X,函数决定,Y,,或,Y,函数依赖于,X,,记为,XY,。,XY,为模式,R,的一个函数依赖。,这个定义可以这样理解:,有一张设计好的二维表,,X,,,Y,是表的某些列,(,可以是一列,也可以是多列,),,若在表中的第,t1,行,和第,t2,行上的,X,值相等,那么必有,t1,行和,t2,行上的,Y,值也相等,这就是说,Y,函数依赖于,X,。,53,2.,函数依赖的逻辑蕴涵,设,F,是关系模式,R,的一个函数依赖集,,X,Y,是,R,的属性子集,如果从,F,中的函数依赖能够推出,XY,,则称,F,逻辑蕴涵,XY,,记为,F|=XY,。,而函数依赖的闭包,F+,是指被,F,逻辑蕴涵的函数依赖的全体构成的集合。,54,3.,键和,FD,的关系,键是唯一标识实体的属性集。对于键和函数依赖的关系:有两个条件:设关系模式,R(A1,A2.An),,,F,是,R,上的函数依赖集,,X,是,R,的一个子集:,1,X,A1A2.AnF,+,(它的意思是,X,能够决定唯一的一个元组),2,不存在,X,的真子集,Y,,使得,Y,也能决定唯一的一个元组,则,X,就是,R,的一个候选键。,(,它的意思是,X,能决定唯一的一个元组但又没有多余的属性集,),包含在任何一个候选键中的属性称为主属性,不包含在任何键中的属性为非主属性,(,非键属性,),,(注意),主属性应当包含在候选键中。,55,4.,函数依赖,(FD),的推理规则,前面我们举的例子中是以实际经验来确定一个函数依赖的逻辑蕴涵,但是我们需要一个推理规则才能完全确定,F,或,F+,的所有函数依赖。,设有关系模式,R(U),,,X,,,Y,,,Z,,,W,均是,U,的子集,,F,是,R,上只涉及到,U,中属性的函数依赖集,推理规则如下:,A1,自反性,:如果,Y X U,则,XY,在,R,上成立。,A2,增广性,:如果,XY,为,F,所蕴涵,,Z U,,则,XZYZ,在,R,上成立。,(XZ,表示,XZ,,下同,),A3,传递性,:如果,XY,和,YZ,在,R,上成立,则,XZ,在,R,上成立。,56,A4,合并性,:如果,XY,和,XZ,成立,那么,XYZ,成立。,A6,分解性,:如果,XY,和,Z Y,成立,那么,XZ,成立。,A5,伪传性,:如果,XY,和,WYZ,成立,那么,WXZ,成立。,A7,复合性:,XY,,,WZ,|=XW YZ。,A8,通用一致性定理:,XY,,,WZ,|=x(X-Y)YZ。,57,5.,函数依赖推理规则的完备性,函数依赖推理规则系统,(,自反性,、,增广性和传递性,),是完备的。由推理规则的完备性可得到两个重要结论:,1,属性集,X,+,中的每个属性,A,,都有,XA,被,F,逻辑蕴涵,即,X,+,是所有由,F,逻辑蕴含,XA,的属性,A,的集合。,2,F,+,是所有利用,Amstrong,推理规则从,F,导出的函数依赖的集合。,58,6.,函数依赖集的等价和覆盖,在关系模式,R(U),上的两个函数依赖集,F,和,G,,如果 满足,F,+,=G,+,,则称,F,和,G,是 等价 的,称,F,和,G,等价也称,F,覆盖,G,或,G,覆盖,F,。,每个函数依赖集,F,都可以被一个 右部只有单属性的函数依赖集,G,所覆盖。,如果函数依赖集合,F,满足:,(1)F,中每一个函数依赖的右部都是单属性;,(2)F,中的任一函数依赖,XA,,其,F-XA,是不等价的;,(3)F,中的任一函数依赖,XA,,,Z,为,X,的子集。,(F-XA)ZA,与,F,不等价。,则称,F,为最小函数依赖集合。,59,如果函数依赖集,F,和,G,等价,并且,G,是最小集,那么称,G,是,F,的一个 最小覆盖。,这一段并不要求掌握最小集的求法,但是应当通过其求法理解最小集的概念。,60,3.3,关系模式分解特性,1,.,模式分解中存在的问题,模式分解,就是将一个泛关系模式,R,分解成 数据库模式,,以,代替,R,的过程。它不仅仅是属性集合的分解,它是对关系模式上的函数依赖集、以及关系模式的当前值分解的具体表现。,分解一个模式有很多方法,但是有的分解会出现失去函数依赖、或出现插入、删除异常等情况,而有的分解则不出现相关问题。,衡量一个分解的标准有三种:分解具有无损联接;分解要保持函数依赖;分解既要保持依赖,又要具有无损联接。,那么什么是无损联接呢,?,什么又是保持依赖,?,61,2,.,无损联接的定义和性质,设,R,是一关系模式,分解成,=R1,R2,,,.,Rk,,,F,是,R,上的一个函数依赖集。无损联接就是指,R,中每一个满足,F,的关系,r(,也就是一个关系实例,),都有,r=R1(r)|X|R2(r).|X|R3(r),,即,r,为它在,Ri,上的投影的自然联接。,最简单的理解,,也就是说,分解后的关系 自然连接后完全等于 分解前的关系,则这个分解相对于,F,是无损联接分解。,62,设,R,的分解为,=R1,R2,F,为,R,所满足的函数依赖集,则分解,具有无损联接性的充分必要条件是:,R1R2(R1-R2),R1R2(R2-R1),也就是说,分解后的两个模式的交能决定这两个模式的差集,即,R1,、,R2,的公共属性能够函数决定,R1,或,R2,中的其他属性,这样的分解就必定是无损联接分解。,63,3,.,保持函数依赖的分解,在分解过程中,要求模式分解的无损联接是必要的,只有无损联接分解才能保证任何一个关系能由它的那些投影进行自然联接得到恢复。,同时,分解关系模式时还应保证关系模式的函数依赖集在分解后仍在数据库模式中保持不变,这就是保持函数依赖的问题。也就是所有分解出的模式所满足的函数依赖的全体应当等价于原模式的函数依赖集。只有这样才能确保整个数据库中数据的语义完整性不受破坏。,64,3.4,范式,1.1NF,、,2NF,、,3NF,、,BCNF,的定义:,1NF,:第一范式,即关系模式中的属性的值域中每一个值都是不可再分解的值。如果某个数据库模式都是第一范式的,则称该数据库模式是属于第一范式的数据库模式。,2NF,:第二范式,如果关系模式,R,为第一范式,并且,R,中每一个非主属性完全函数依赖于,R,的某个候选键,则称为第二范式模式。,65,非主属性、完全函数依赖、候选键,三个名词的含义。,候选键就是指可以唯一决定关系模式,R,中某元组值且不含有多余属性的属性集。,非主属性也就是非键属性,指关系模式,R,中不包含在任何建中的属性。,设有函数依赖,WA,,若存在,XW,,有,XA,成立,那么称,WA,是局部依赖,否则就称,WA,是 完全函数依赖。在分析是否为第,2,范式时,应首先确定候选键,然后把关系模式中的非主属性与键的依赖关系进行考察,是否都为完全函数依赖,如是,则此关系模式为,2NF,。如果数据库模式中每个关系模式都是,2NF,的,则此数据库模式属于,2NF,的数据库模式。,66,3NF,:第三范式,如果关系模式,R,是第二范式,且每个非主属性都不传递依赖于,R,的候选键,则称,R,为第三范式的模式。,这里首先要了解传递依赖的含义:在关系模式中,如果,YX,,,XA,,且,X,不决定,Y,和,A,不属于,X,,那么,YA,是传递依赖。,注意的是,这里要求非主属性都不传递依赖于候选键。,67,BCNF,:,这个范式和第三范式有联系,它是,3NF,的改进形式。若关系模式,R,是第一范式,且每个属性都不传递依赖于,R,的候选键。这种关系模式就是,BCNF,模式。,68,纵观四种范式,可以发现它们之间存在如下关系:,69,5.,分解成,BCNF,模式集的算法,对于任一关系模式,可找到一个分解达到,3NF,,且具有无损联接和保持函数依赖性。而对于,BCNF,分解,则可以保证无损联接但不一定能保证保持函数依赖集。,70,无损联接分解成,BCNF,模式集的算法:,(1),置初值,=R;,(2),如果,中所有关系模式都是,BCNF,,则转,(4);,(3),如果,中有一个关系模式,S,不是,BCNF,,则,S,中必能找到一个函数依赖集,XA,有,X,不是,S,的键,且,A,不属于,X,,设,S1=XA,,,S2=S-A,,用分解,S1,S2,代替,S,,转,(2),;,(4),分解结束。输出,。,在这个过程中,重点在于,(3),步,判断哪个关系不是,BCNF,,并找到,X,和,A,。这里,,S,的判断用,BCNF,的定义,而,X,不是,S,的键则依靠分析。,71,6.,分解成,3NF,模式集,算法:,(1),如果,R,中的某些属性在,F,的所有依赖的左边和右边都不出现,那么这些属性可以从,R,中分出去,单独构成一个关系模式。,(2),如果,F,中有一个依赖,XA,有,XAR,,则,=R,,转,(4),(3),对于,F,中每一个,XA,,构成一个关系模式,XA,,如果,F,有有,XA 1,,,XA 2.XA n,则可以用模式,XA 1 A 2.A n,代替,n,个模式,XA 1,XA 2.XA n;,(4)w,分解结束,输入,。,这个过程的重点是这一句,“,对于,F,中每一个,XA,,构成一个关系模式,XA,”,,这使我们的分解十分容易,然后依据合并律,(,合并律:如果,XY,和,XZ,成立,那么,XYZ,成立,),将有关模式合并即得到所需,3NF,模式。,72,7.,模式设计方法的原则,关系模式,R,相对于函数依赖集,F,分解成数据库模式,=R 1,R 2.R k,,一般具有下面四项特性:,中每个关系模式,R i,上应具有某种范式性质,(3NF,或,BCNF),无损联接性。,保持函数依赖集。,最小性,即,中模式个数应最少且模式中属性总数应最少。,一个好的模式设计方法应符合下列三条原则:,表达性,分离性,最小冗余性,73,8,.,多值依赖与第四范式(4,NF),例:,学校中某一门课程由多个教师讲授,他们使用相同的一套参考书。,关系模式,Teaching(C,T,B),课程,C、,教师,T,和 参考书,B,74,课 程,C,教 员,T,参 考 书,B,物理,数学,计算数学,李 勇,王 军,李 勇,张 平,张 平,周 峰,普通物理学,光学原理,物理习题集,数学分析,微分方程,高等代数,数学分析,表5.1,75,普通物理学,光学原理,物理习题集,普通物理学,光学原理,物理习题集,数学分析,微分方程,高等代数,数学分析,微分方程,高等代数,李 勇,李 勇,李 勇,王 军,王 军,王 军,李 勇,李 勇,李 勇,张 平,张 平,张 平,物 理,物 理,物 理,物 理,物 理,物 理,数 学,数 学,数 学,数 学,数 学,数 学,参考书,B,教员,T,课程,C,用二维表表示,Teaching,76,多值依赖与第四范式,TeachingBCNF:,Teach,具有唯一候选码(,C,T,B),,即全码,Teaching,模式中存在的问题,(1)数据冗余度大:有多少名任课教师,参考书就要存储多少次。,77,(2)插入操作复杂:当某一课程增加一名任课教师时,该课程有多少本参照书,就必须插入多少个元组。,例如物理课增加一名教师刘关,需要插入两个元组:,(物理,刘关,普通物理学),(物理,刘关,光学原理),78,(3)删除操作复杂:某一门课要去掉一本参考书,该课程有多少名教师,就必须删除多少个元组。,(4)修改操作复杂:某一门课要修改一本参考书,该课程有多少名教师,就必须修改多少个元组。,产生原因,存在多值依赖。,79,1)多值依赖,设,R(U),是一个属性集,U,上的一个关系模式,,X、Y,和,Z,是,U,的子集,并且,ZUXY,,多值依赖,XY,成立当且仅当对,R,的,任一关系,r,,r,在(,X,Z),上的每个值对应一组,Y,的值,这组值仅仅决定于,X,值而与,Z,值无关。,例,Teaching(C,T,B),对于,C,的每一个值,,T,有一组值与之对应,而不论,B,取何值。,80,2)第四范式(4,NF),关系模式,R1NF,,如果对于,R,的每个非平凡多值依赖,XY(Y,X),X,都含有候选码,则,R4NF。,如果,R 4NF,,则,R BCNF,不允许有非平凡且非函数依赖的多值依赖,允许的是函数依赖(是非平凡多值依赖),本章结束,81,第四章关系运算,学习目的与要求:,本章总的要求是:深刻理解关系模型的运算理论,了解查询优化的意义和启发式优化算法。,本章的重点是关系代数运算,应熟练掌握。关系演算是本章的难点。,82,考核知识点和考核要求,4.1,关系代数,4.1.1,关系代数的五个基本操作(并、差、笛卡儿积、投影、选 择),(,综合运用,),4.1.2,关系代数的四个组合操作,(,交、连接、自然连接、除法,),(综合运用),4.1.3,关系代数表达式的应用,(综合运用),4.1.4,关系代数的两个扩充操作(外连接、外部并),(领会),4.2,关系演算,4.2.1,元组关系演算的定义及表达式的含义,(,简单应用,),4.2.2,域关系演算的定义及表达式的含义,(,领会,),4.2.3,关系运算的安全约束和等价性,(,领会,),4.3,关系代数表达式的优化,(,领会,),83,关系模型有三个重要组成部分:,)数据结构,)数据操纵,)数据完整性规则,关系查询语言根据其理论基础的不同分成两类:,)关系代数语言,)关系演算语言,84,4.1,关系代数,1.,关系代数的五个基本操作:并、差、笛卡尔积、投影和选择。,并,(),:两个关系需有相同的关系模式,并的对象是元组,由两个关系所有元组构成。,差,(-),:同样,两个关系有相同的模式,,R,和,S,的差是由属于,R,但不属于,S,的元组构成的集合。,笛卡儿积(,):对于两个关系作运算,,列:(,n,+,m,)列的元组的集合,元组的前,n,列是关系,R,的一个元组后,m,列是关系,S,的一个元组,,行:,k,1,k,2,个元组。,投影,(),:对关系进行垂直分割,消去某些列,并重新安排列的顺序。,选择,(),:根据某些条件关系作水平分割,即选择符合条件的元组。,85,2.,关系代数的四个组合操作:交、联接、自然联接和除法,交,(),:,R,和,S,的交是由既属于,R,又属于,S,的元组构成的集合。,联接包括,联接和,F,联接,是选择,R,S,中满足,i(r+j),或,F,条件的元组构成的集合,特别注意等值联接,(,为等号,“,=,”,),。,自然联接,(R|X|S),:在,R,S,中,选择,R,和,S,公共属性值均相等的元组,并去掉,R,S,中重复的公共属性列。如果两个关系没有公共属性,则自然联接就转化为笛卡尔积。,除法,(,),:首先除法的结果中元数为两个元数的差,可以直接用观察法来得到结果,把,S,看作一个块,拿到,R,中去和相同属性集中的元组作比较,如果有相同的块,且除去此块后留下的相应元组均相同,那么可以得到一条元组,所有这些元组的集合就是除法的结果。,86,对于上述的五个基本操作和组合操作,应当从实际运算方面进行理解和运用,对其形式定义可不必深究。注意课本上的例子。,关系代数运算的三个要素:,运算对象:关系,运算结果:关系,运算符:四类,87,集合运算符,将关系看成元组的集合,运算是从关系的,“,水平,”,方向即行的角度来进行,专门的关系运算符,不仅涉及行而且涉及列,算术比较符,辅助专门的关系运算符进行操作,逻辑运算符,辅助专门的关系运算符进行操作,88,广义笛卡尔积(,Extended Cartesian Product,),R,n,目关系,,k,1,个元组,S,m,目关系,,k,2,个元组,R,S,列:(,n,+,m,)列的元组的集合,元组的前,n,列是关系,R,的一个元组,后,m,列是关系,S,的一个元组,行:,k,1,k,2,个元组,R,S,=,t,r,t,s,|,t,r,R,t,s,S,89,A,B,C,a1,b1,c1,a1,b2,c2,a2,b2,c1,A,B,C,a1,b1,c1,a1,b1,c1,a1,b1,c1,a1,b2,c2,a1,b2,c2,a1,b2,c2,a2,b2,c1,a2,b2,c1,a2,b2,c1,A,B,C,a1,b2,c2,a1,b3,c2,a2,b2,c1,R,S,R,S,A,B,C,a1,b2,c2,a1,b3,c2,a2,b2,c1,a1,b2,c2,a1,b3,c2,a2,b2,c1,a1,b2,c2,a1,b3,c2,a2,b2,c1,90,选择,(,Selection,),1),选择又称为限制(,Restriction,),2),选择运算符的含义,在关系,R,中选择满足给定条件的诸元组,F,(,R,)=,t,|,t,R,F,(,t,)=,真,F,:选择条件,是一个逻辑表达式,基本形式为:,(,X,1,Y,1,),(,X,2,Y,2,),:比较运算符(,或,),X,1,,,Y,1,等:属性名、常量、简单函数;属性名也可以用它的序号来代替;,:逻辑运算符(或),:表示任选项,:表示上述格式可以重复下去,91,3),选择运算是从行的角度进行的运算,4),举例,设有一个学生,-,课程数据库,包括学生关系,Student,、课程关系,Course,和选修关系,SC,。,92,学 号,Sno,姓 名,Sname,性 别,Ssex,年 龄,Sage,所 在 系,Sdept,95001,李勇,男,20,CS,95002,刘晨,女,19,IS,95003,王敏,女,18,MA,95004,张立,男,19,IS,(a),Student,93,(b),Course,课程号,课程名,先行课,学分,Cno,Cname,Cpno,Ccredit,1,数据库,5
展开阅读全文