数据库系统原理串讲.ppt

上传人:本田雅阁 文档编号:3185198 上传时间:2019-07-22 格式:PPT 页数:262 大小:1,004.01KB
返回 下载 相关 举报
数据库系统原理串讲.ppt_第1页
第1页 / 共262页
数据库系统原理串讲.ppt_第2页
第2页 / 共262页
数据库系统原理串讲.ppt_第3页
第3页 / 共262页
数据库系统原理串讲.ppt_第4页
第4页 / 共262页
数据库系统原理串讲.ppt_第5页
第5页 / 共262页
点击查看更多>>
资源描述

《数据库系统原理串讲.ppt》由会员分享,可在线阅读,更多相关《数据库系统原理串讲.ppt(262页珍藏版)》请在三一文库上搜索。

1、数据库系统原理串讲笔记,更多优质自考资料尽在百度贴吧自考乐园俱乐部(http:/ 欢迎加入.欢迎交流.止不住的惊喜等着你.,第一部分 课程说明,数据库系统原理课程学习目标: 数据库是计算机科学的一个重要研究领域,是专门研究数据处理、数据管理和数据分析的技术,从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#,参考教材介绍,自学教材数据库系统原理,全国高等教育自学考试指导委员会组编,丁宝康主编,经济科学出版社2007年版。 本教材共分为9章,详细介绍了数据库系统的基本原

3、理、方法和应用技术。内容包括:数据库系统基本概念(第一章)、数据库的设计和ER模型(第二章)、关系模式设计理论(第三章)、关系运算(第四章)、SQL语言(第五章)、数据库管理(第六章)、SQL Server2000简介及应用(第七章)、PowerBuilder9.0简介及应用(第八章)、数据库的技术的发展(第九章)。,第二部分 内容串讲,我们分章节进行串讲,在串讲每一章前我把本章的考核的目标和重点、难点做简要说明。,第一章 数据库基础知识,学习目的与要求: 本章属于基础知识,主要是对一些概念的理解和记忆。没有难点,相对的重点是数据模型的四个层次,数据库管理系统的功能,数据库系统的全局结构。,考

4、核知识点与考核要求,1.1数据管理技术的发展阶段(识记) 1.2数据描述的术语(领会) 1.3数据抽象的级别(领会) 1.4数据库管理系统(DBMS) (领会) 1.5数据库系统(DBS)(领会),1.1 数据管理技术的发展,几个数据库的基本术语: 数据: 描述事物的符号记录 数据处理:是指从某些已知的数据出发,推导加工出一些新的数据,这些新的数据又表示了新的信息。 数据管理:是指数据的收集、整理、组织、存储、维护、检索、传送等操作,这部分操作是数据处理业务的基本环节,而且是任何数据处理业务中必不可少的共有部分。 数据管理技术:对数据的收集、整理、组织、存储、维护、检索、传送等操作,基本目的就

5、是从大量的,杂乱无章的,难以理解的数据中筛选出有意义的数据。 数据处理是与数据管理相联系的,数据管理技术的优劣,将直接影响数据处理的效率。,1.1 数据管理技术的发展,1.人工管理阶段(20世纪50年代中期以前) )数据不保存在机器中; )没有专用软件对数据进行管理; )只有程序的概念,没有文件的概念; )数据面向程序。,2. 文件系统阶段特点与缺陷(20世纪50年代后期至60年代中期) )数据可长期保存在磁盘上; )数据的逻辑结构与物理结构有了区别; )文件组织呈现多样化; )数据不再属于某个特定程序,可以重复使用; )对数据的操作以记录为单位。 文件系统三个缺陷: )数据冗余性 )数据不一

6、致性 )数据联系弱,3.数据库阶段(20世纪60年代后至今) 数据管理技术进入数据库阶段的标志是20世纪60年代末三件大事: )1968年美国IBM公司推出层次模型的IMS系统; )1969年美国CODASYL组织发布了DBTG报告。总结了当时各式各样的数据库,提出网状模型,尔后于1971年4月正式通过。 )1970年美国IBM公司的E.F.Codd连续发表论文,提出关系模型,奠定了关系数据库的理论基础。,数据库管理阶段特点: 1)采用数据模型表示复杂的数据结构; 2)有较高的数据独立性; 3)数据库系统为用户提供了方便的用户接口。 4)数据库系统提供以下四个方面的数据控制功能: 数据库的恢复

7、; 数据库的并发控制; 数据库的完整性; 数据库的安全性; 5)增加了系统的灵活性。 增加了系统的灵活性对数据的操作不一定以记录为单位,可以以数据项为单位。,数据库技术中的四个名词:DB、DBMS、DBS、数据库技术。其概念是不同的,要分清。,DB:数据库(Database)长期存储在计算机内、有组织的、统一管理的相关数据的集合。 DBMS:数据库管理系统(Database Management System),DBMS是位于用户与操作系统之间的一层数据管理软件,为用户或应用程序提供访问DB的方法,包括DB的建立、查询、更新及各种数据控制。DBMS总是基于某种数据模型,可以分为层次型、网状型、

8、关系型、面向对象型DBMS。 DBS:数据库系统(Database System),DBS是实现有组织地、动态地存储大量关联数据,方便多用户访问的计算机软件、硬件和数据资源组成的系统,即采用了数据库技术的计算机系统。 数据库技术:是一门研究数据库结构、存储、管理和使用的一门软件学科。,4.高级数据库阶段: )面向对象的概念建模 )开放数据库互连技术,1.2 数据描述,在数据处理中,数据描述将涉及不同的范畴。从事物的特性到计算机中的具体表示,数据描述经历了三个阶段概念设计、逻辑设计和物理设计。,1.概念设计中的的数据描述,)实体 )实体集 )属性 )实体标识符 2.逻辑设计中的数据描述 )字段

9、)记录 )文件 )关键码,3.物理设计中的数据描述,物理存储介质层次 )高速缓冲存储器 )主存储器 )快擦写存储器 )磁盘存储器 )光盘存储器 )磁带 物理存储中的数据描述 位、字节、字、块、桶和卷。,4.数据联系的描述,联系及元数定义: 二元联系有以下三种类型: 1:1联系 :如果实体集E1中的每个实体最多只能和实体集E2中的一个实体有联系,反之亦然,好么实体集E1对E2的联系称为“一对一联系”,记为“1:1”。 1:N联系 :如果实体集E1中每个实体与实体集E2中任意个(零个或多个)实体有联系,而E2中每个实体至多和E1中的一个实体有联系,那么E1对E2的联系是“一对多联系”,记为“1:N

10、”。 M:N联系 :如果实体集E1中每个实体与实体集E2中任意个(零个或多个)实体有联系,反之亦然,那么E1对E2的联系是“多对多联系”,记为“M:N”。,1.3 数据抽象的级别,1.数据抽象的过程 根据抽象的级别定义了四种模型: )概念数据模型 )逻辑数据模型 )外部数据模型 )内部数据模型,2.概念模型 )四种模型中,概念模型的抽象级别最高。 )概念模型的特点:(p12),3.逻辑模型 逻辑模型的特点:(p13) (1)(4) 逻辑模型的分类: )层次模型 )网状模型 )关系模型 三种逻辑数据模型的比较?如P17图,4.外部模型 外部模型的特点:(p17) 从整个系统考察,外部模型的优点。

11、 5.内部模型 是数据库最底的抽象,它描述数据在磁盘或磁带上的存储方式、存取设备和存取方法。,6.三层模式和两级映象 三层模式体系结构 )外模式:是用户与数据库系统的接口,是用户用到的那部分数据的描述。 )逻辑模式:是数据库中全部数据的整体逻辑结构的描述。 )内模式:是数据库在物理存储方面的描述,定义所有内部记录类型、索引和文件的组织方式,以及数据控制方面的细节。 两级映象 外模式/逻辑模式映象:用于定义概念模式和内模式之间的对应性。一般在内模式中描述。 逻辑模式/内模式映象:用于定义外模式和概念模式间的对应性。一般在外模式中描述。,7.高度的数据独立性 什么叫数据独立性? 是指应用程序和数据

12、库的数据结构之间相互独立,不受影响。在修改数据结构时,尽可能不修改应用程序,则称系统达到了数据独立性目标。 数据独立性分为物理数据独立性和逻辑数据独立性: 物理数据独立性:修改内模式时尽量不影响概念模式及外模式,则达到物理数据独立性。 逻辑数据独立性:修改概念模式时尽量不影响外模式和应用程序。,1.4 数据库管理系统(DBMS),1.DBMS的目标与任务: 数据库管理系统的主要任务是完成用户对数据库的存取请求,即检索、插入、更新或删除等操作。 DBMS的目标:用户界面友好、功能完善、结构清晰、高效率、开放性 2.DBMS的工作模式(p20图),3.DBMS的主要功能: )数据库的定义功能 )数

13、据库的操纵功能 )数据库的保护功能(数据库恢复、数据库并发控制、数据库完整性和数据库安全性) )数据库的维护功能 )数据字典,1.5 数据库系统(DBS),1.DBS由四部分组成:数据库、硬件、软件、数据库管理员。 2.数据库管理员定义及职责。(素质+职责) 3.DBS的全局结构及DBS的效益。(数据库用户+界面+DBMS+磁盘+DBS的效益),本章结束,第二章 数据库设计和ER模型,学习目的与要求: 本章总的目的要求是了解和掌握数据库应用系统设计的全过程。首先掌握ER模型和关系模型的基本概念,然后掌握概念设计中ER模型的设计方法,逻辑设计中ER模型向关系模型转换方法。,考核知识点与考核要求

14、2.1数据库系统生存期(领会) 2.2ER模型的基本概念(综合应用) 2.3关系模型的基本概念(综合应用) 2.4ER模型到关系模型的转换规则(综合应用) 2.5ER模型实例分析(简单应用) 2.6增强ER模型(简单应用),从软件生存期谈起 软件生存期:是指从软件的规划、研制、实现、投入运行后的维护、直到它被新的软件所取代而停止使用的整个期间。它包括六个阶段:( 规需设编试运维 ) (1)规划阶段 (2)需求分析阶段 (3)设计阶段 (4)程序编制阶段 (5)调试阶段 (6)运行维护阶段,2.1 数据系统生存期,1.什么叫数据库系统生存期? 我们把数据库应用系统从开始规划、设计、实现、维护到最

15、后被新的系统取代而停止使用的整个期间,称为数据库系统生存期。 2.这个生存期一般可划分成以下七个阶段: 规划、需求分析、概念设计、逻辑设计、物理设计、实现、运行维护。,.2 ER模型的基本概念,1.ER模型的基本元素 实体、联系和属性 2.属性的分类(简单属性和复合属性、单值属性和多值属性、存储属性和派生属性) 3.联系的设计 4.ER模型的操作(分裂、合并和增删),5.采用ER模型的数据库概念设计步骤 采用ER方法进行数据库概念设计分成三步进行: 首先设计局部ER模式 然后把各局部ER模式综合成全局ER模式 最后对全局ER模式进行优化,2.3 关系模型的基本概念,.关系模型定义:用二维表格结

16、构表示实体集、外键表示实体间联系的数据模型称为关系模型。 2.基本术语有:字段(属性)、字段值(属性值)、记录(元组)、二维表格(元组集合、关系或实例)。在这里,括号中的表述为关系模型中的术语。它与表格中术语可以一一对应。还有,关系中属性个数称为元数,元组个数为基数。,3.键:由一个或几个属性组成。(注意键不一定是唯一的一个属性)。 1)超键:在关系中能唯一标识元组的属性集称为关系模式的超键。(注意,超键也是一个属性集,不一定只是一个属性) 2)候选键:不含有多余属性的超键称为候选键。 3)主键:用户选作元组标识的一个候选键为主键。 4)外键:某个关系的主键相应的属性在另一关系中出现,此时该主

17、键在就是另一关系的外键,如有两个关系S和SC,其中S#是关系S的主键,相应的属性S#在关系SC中也出现,此时S#就是关系SC的外键。,.关系的定义和性质 )关系定义:关系是一个属性数目相同的元组的集合。 )关系性质(p53),5.三类完整性规则 )实体完整性规则:要求关系中组成主键的属性上不能有空值。 )参照完整性规则:要求不引用不存在的实体。 )用户定义完整性规则:由具体应用环境决定,系统提供定义和检验这类完整性的机制。,2.4 E-R模型向关系模型的转换,E-R模型可以向现有的各种数据库模型转换,对不同的数据库模型有不同的转换规则。这里只讨论E-R模型向关系模型的转换方法。 1.E-R模型

18、向关系模型的转换规则: (1)实体类型的转换 将每个实体类型转换成一个关系模式,实体的属性即为关系的属性,实体标识符即为关系的键。 (2)联系类型的转换 1)实体间的联系是1:1 可以在两个实体类型转换成两个关系模式中的任意一个关系模式的属性中加入另一个关系模式的键和联系类型的属性。,系关系模式(校名,地址,电话 , 系主任名,任职年月),系主任关系模式(姓名,性别,年龄, 职称),职称,1,1,系主任,系,姓名,性别,年龄,校名,地址,任职年月,主管,电话,系主任关系模式(姓名,性别,年龄, 职称,学校名,任职年月),系关系模式(校名,地址,电话 ),N,1,工号,年龄,职工,车间,姓名,性

19、别,车间号,车间名,电话,聘用,聘期,2)如实体间的联系是1:N 则在N端实体类型转换成的关系模式中加入1端实体类型转换成的关系模式的键和联系类型的属性。,车间关系模式(车间号,车间名, 电话),职工关系模式(工号,姓名,性别,年龄,车间号,聘期),3)如实体间的联系是M:N 则将联系类型也转换成关系模式,其属性为两端实体类型的键加上联系类型的属性,而键为两端实体键的组合。,学生关系模式S (S#,SNAME,AGE,SEX),课程关系模式C (C#,CNAME,TEACHE-R),GRADE,SC,M,N,S,S#,SNAME,AGE,SEX,C,C#,CNAME,TEACHE-R,学生课程

20、关系模式 SC (S#,C#,GRADE),以上各转换规则,给出了一般情况下E-R模型向关系模型的转换方法。但在实际应用中往往还需要根具实际情况进行具体处理。 下面以图书借阅系统的E-R模型转换为关系模型为例。,借期,借阅,M,N,读者,编号,姓名,读者类型,已借数量,图书,编号,书名,出版社,还期,该例中,由于允许同一本书在不同的时间借给多个读者,特别是一个读者在不同的时间可以借同一本书。因而,在多对多联系“借阅”转换为关系模式时,仅有读者的编号和图书的编号是不能构成码的。 例如: (0406010,F33.33,2006-10-10:10:10,2007-02-20:3:00)(04060

21、10,F33.33,2007-5-26:4:00,NULL),借期,借阅,M,N,读者,编号,姓名,读者类型,已借数量,图书,编号,书名,出版社,还期,读者关系模式读者 (编号,书名,出版社,出版日期,定价 ),读者图书关系模式 借阅 (读者编号,图书编号,借期,还期 ),图书关系模式图书 (编号,姓名,读者类型,已借数量 ),说明,按照上述介绍的转换方法得到的关系模型不一定是最好的。实际应用中,往往还要对得到的关系模型进行规范化。,2.5和2.6,实例分析,同学们多看书! 1.库存管理系统的ER模型及转换 2.人事管理信息系统的ER模型 3.住院管理信息系统的ER模型 4.公司车队信息系统的

22、ER模型,本章结束,第三章 关系模式设计理论,学习目的与要求: 本章特点是理论性较强,学习者应从概念着手,搞清概念间的联系和作用。 本章总的要求是:了解关系数据库规范化理论及其在数据库设计中的作用。 本章的重点是函数依赖、无损分解、保持依赖和范式。掌握这些概念并能运用它们分析模式分解的特点。,考核知识点与考核要求,3.1关系模式的设计准则(简单应用) 3.2函数依赖(FD)(简单应用) 3.3关系模式的分解特性(简单应用) 3.4范式 1NF、2NF、3NF(简单应用)BCNF(领会) 分解成BCNF模式集的“分解算法”(识记) 分解成3NF模式集的“合成算法”(综合应用) 模式设计方法小结(

23、领会) 3.5多值依赖和第四范式(识记),3.1 关系模式的设计准则,1.关系模式的冗余和异常问题 )数据冗余 )操作异常(修改异常、插入异常和删除异常),2.关系模式的非形式化设计准则 )关系模式的设计应尽可能只包含有直接联系的属性,不包括有间接联系的属性 )关系模式的设计应尽可能使得相应关系中不出现插入、删除和修改异常。 )关系模式的设计应尽可能使得相应关系中避免放置经常为空值的属性。 )关系模式的设计应尽可能使得关系的等值连接在主键和外键的属性上进行,并且保证连接以后不会生成额外的元组。,3.2 函数依赖,1.函数依赖的定义 设有关系模式R(A1,A2,.An)或简记为R(U),X,Y是

24、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。,2.函数依赖的逻辑蕴涵 设F是关系模式R的一个函数依赖集,X,Y是R的属性子集,如果从F中的函数依赖能够推出XY,则称F逻辑蕴涵XY,记为F|=XY。 而函数依赖的闭包F + 是指被F逻辑蕴涵的函数依赖的全体构成的集合。,

25、3.键和FD的关系 键是唯一标识实体的属性集。对于键和函数依赖的关系:有两个条件:设关系模式R(A1,A2.An),F是R上的函数依赖集,X是R的一个子集: 1XA1A2.AnF +(它的意思是X能够决定唯一的一个元组) 2不存在X的真子集Y,使得Y也能决定唯一的一个元组,则X就是R的一个候选键。(它的意思是X能决定唯一的一个元组但又没有多余的属性集) 包含在任何一个候选键中的属性称为主属性,不包含在任何键中的属性为非主属性(非键属性),(注意) 主属性应当包含在候选键中。,4.函数依赖(FD)的推理规则 前面我们举的例子中是以实际经验来确定一个函数依赖的逻辑蕴涵,但是我们需要一个推理规则才能

26、完全确定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上成立。,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。,5.函数依赖

27、推理规则的完备性 函数依赖推理规则系统(自反性、增广性和传递性)是完备的。由推理规则的完备性可得到两个重要结论: 1属性集X + 中的每个属性A,都有XA被F逻辑蕴涵,即X + 是所有由F逻辑蕴含XA的属性A的集合。 2F+ 是所有利用Amstrong推理规则从F导出的函数依赖的集合。,6.函数依赖集的等价和覆盖 在关系模式R(U)上的两个函数依赖集F和G,如果 满足F + =G + ,则称F和G是 等价 的,称F和G等价也称F 覆盖 G或G覆盖F。 每个函数依赖集F都可以被一个 右部只有单属性的函数依赖集 G所覆盖。 如果函数依赖集合F满足: (1)F中每一个函数依赖的右部都是单属性; (2

28、)F中的任一函数依赖XA,其F-XA是不等价的; (3)F中的任一函数依赖XA,Z为X的子集。(F-XA)ZA与F不等价。 则称F为最小函数依赖集合。,如果函数依赖集F和G等价,并且G是最小集,那么称G是F的一个 最小覆盖 。 这一段并不要求掌握最小集的求法,但是应当通过其求法理解最小集的概念。,3.3 关系模式分解特性,1.模式分解中存在的问题 模式分解 就是将一个泛关系模式 R分解成 数据库模式 ,以代替R的过程。它不仅仅是属性集合的分解,它是对关系模式上的函数依赖集、以及关系模式的当前值分解的具体表现。 分解一个模式有很多方法,但是有的分解会出现失去函数依赖、或出现插入、删除异常等情况,

29、而有的分解则不出现相关问题。 衡量一个分解的标准有三种:分解具有无损联接 ;分解要保持函数依赖;分解既要保持依赖,又要具有无损联接。 那么什么是无损联接呢?什么又是保持依赖?,2.无损联接的定义和性质 设R是一关系模式,分解成=R1,R2,.,Rk,F是R上的一个函数依赖集。无损联接就是指R中每一个满足F的关系r(也就是一个关系实例)都有r= R1 (r)|X| R2 (r).|X| R3 (r),即r为它在Ri上的投影的自然联接。 最简单的理解,也就是说,分解后的关系 自然连接后完全等于 分解前的关系,则这个分解相对于F是无损联接分解。,设R的分解为=R1,R2,F为R所满足的函数依赖集,则

30、分解具有无损联接性的充分必要条件是: R1R2(R1-R2) R1R2(R2-R1) 也就是说,分解后的两个模式的交能决定这两个模式的差集,即R1、R2的公共属性能够函数决定R1或R2中的其他属性,这样的分解就必定是无损联接分解。,3.保持函数依赖的分解 在分解过程中,要求模式分解的无损联接是必要的,只有无损联接分解才能保证任何一个关系能由它的那些投影进行自然联接得到恢复。 同时,分解关系模式时还应保证关系模式的函数依赖集在分解后仍在数据库模式中保持不变,这就是保持函数依赖的问题。也就是所有分解出的模式所满足的函数依赖的全体应当等价于原模式的函数依赖集。只有这样才能确保整个数据库中数据的语义完

31、整性不受破坏。,3.4 范式,1.1NF、2NF、3NF、BCNF的定义: 1NF:第一范式 即关系模式中的属性的值域中每一个值都是不可再分解的值。如果某个数据库模式都是第一范式的,则称该数据库模式是属于第一范式的数据库模式。 2NF:第二范式 如果关系模式R为第一范式,并且R中每一个非主属性完全函数依赖于R的某个候选键,则称为第二范式模式。,非主属性、完全函数依赖、候选键 三个名词的含义。 候选键就是指可以唯一决定关系模式R中某元组值且不含有多余属性的属性集。 非主属性也就是非键属性,指关系模式R中不包含在任何建中的属性。 设有函数依赖WA,若存在XW,有XA成立,那么称WA是局部依赖,否则

32、就称WA是 完全函数依赖 。 在分析是否为第2范式时,应首先确定候选键,然后把关系模式中的非主属性与键的依赖关系进行考察,是否都为完全函数依赖,如是,则此关系模式为2NF。如果数据库模式中每个关系模式都是2NF的,则此数据库模式属于2NF的数据库模式。,3NF:第三范式 如果关系模式R是第二范式,且每个非主属性都不传递依赖于R的候选键,则称R为第三范式的模式。 这里首先要了解传递依赖的含义:在关系模式中,如果YX,XA,且X不决定Y和A不属于X,那么YA是传递依赖。 注意的是,这里要求非主属性都不传递依赖于候选键。,BCNF: 这个范式和第三范式有联系,它是3NF的改进形式。若关系模式R是第一

33、范式,且每个属性都不传递依赖于R的候选键。这种关系模式就是BCNF模式。,纵观四种范式,可以发现它们之间存在如下关系:,5.分解成BCNF模式集的算法 对于任一关系模式,可找到一个分解达到3NF,且具有无损联接和保持函数依赖性。而对于BCNF分解,则可以保证无损联接但不一定能保证保持函数依赖集。,无损联接分解成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)分解结束。

34、输出。 在这个过程中,重点在于(3)步,判断哪个关系不是BCNF,并找到X和A。这里,S的判断用BCNF的定义,而X不是S的键则依靠分析。,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,构

35、成一个关系模式XA”,这使我们的分解十分容易,然后依据合并律(合并律:如果XY和XZ成立,那么XYZ成立)将有关模式合并即得到所需3NF模式。,7.模式设计方法的原则 关系模式R相对于函数依赖集F分解成数据库模式=R 1 ,R 2 .R k ,一般具有下面四项特性 : 中每个关系模式R i上应具有某种范式性质(3NF或BCNF) 无损联接性。 保持函数依赖集。 最小性,即中模式个数应最少且模式中属性总数应最少。 一个好的模式设计方法应符合下列三条原则: 表达性 分离性 最小冗余性,8.多值依赖与第四范式(4NF) 例: 学校中某一门课程由多个教师讲授,他们使用相同的一套参考书。 关系模式Tea

36、ching(C, T, B) 课程C、教师T 和 参考书B,表5.1,用二维表表示Teaching,多值依赖与第四范式 TeachingBCNF: Teach具有唯一候选码(C,T,B), 即全码 Teaching模式中存在的问题 (1)数据冗余度大:有多少名任课教师,参考书就要存储多少次。,(2)插入操作复杂:当某一课程增加一名任课教师时,该课程有多少本参照书,就必须插入多少个元组。 例如物理课增加一名教师刘关,需要插入两个元组: (物理,刘关,普通物理学) (物理,刘关,光学原理),(3) 删除操作复杂:某一门课要去掉一本参考书,该课程有多少名教师,就必须删除多少个元组。 (4) 修改操作

37、复杂:某一门课要修改一本参考书,该课程有多少名教师,就必须修改多少个元组。 产生原因 存在多值依赖。,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取何值。,2)第四范式(4NF) 关系模式R1NF,如果对于R的每个非平凡多值依赖XY(Y X),X都含有候选码,则R4NF。 如果R 4NF, 则R BCNF 不允许有非平凡且非函数依赖的多值依

38、赖 允许的是函数依赖(是非平凡多值依赖),本章结束,第四章 关系运算,学习目的与要求: 本章总的要求是:深刻理解关系模型的运算理论,了解查询优化的意义和启发式优化算法。 本章的重点是关系代数运算,应熟练掌握。关系演算是本章的难点。,考核知识点和考核要求 4.1关系代数 4.1.1关系代数的五个基本操作(并、差、笛卡儿积、投影、选 择)(综合运用) 4.1.2关系代数的四个组合操作(交、连接、自然连接、除法) (综合运用) 4.1.3关系代数表达式的应用(综合运用) 4.1.4关系代数的两个扩充操作(外连接、外部并)(领会) 4.2关系演算 4.2.1元组关系演算的定义及表达式的含义(简单应用)

39、 4.2.2域关系演算的定义及表达式的含义(领会) 4.2.3关系运算的安全约束和等价性(领会) 4.3关系代数表达式的优化(领会),关系模型有三个重要组成部分: )数据结构 )数据操纵 )数据完整性规则 关系查询语言根据其理论基础的不同分成两类: )关系代数语言 )关系演算语言,4.1 关系代数,1.关系代数的五个基本操作:并、差、笛卡尔积、投影和选择。 并 ():两个关系需有相同的关系模式,并的对象是元组,由两个关系所有元组构成。 差 (-):同样,两个关系有相同的模式,R和S的差是由属于R但不属于S的元组构成的集合。 笛卡儿积(): 对于两个关系作运算,列:(n+m)列的元组的集合 ,元

40、组的前n列是关系R的一个元组后m列是关系S的一个元组, 行:k1k2个元组。 投影( ):对关系进行垂直分割,消去某些列,并重新安排列的顺序。 选择 ():根据某些条件关系作水平分割,即选择符合条件的元组。,2.关系代数的四个组合操作:交、联接、自然联接和除法 交():R和S的交是由既属于R又属于S的元组构成的集合。 联接包括联接和F联接,是选择RS中满足i(r+j)或F条件的元组构成的集合,特别注意等值联接 (为等号“=”)。 自然联接(R|X|S):在RS中,选择R和S公共属性值均相等的元组,并去掉RS中重复的公共属性列。如果两个关系没有公共属性,则自然联接就转化为笛卡尔积。 除法():首

41、先除法的结果中元数为两个元数的差,可以直接用观察法来得到结果,把S看作一个块,拿到R中去和相同属性集中的元组作比较,如果有相同的块,且除去此块后留下的相应元组均相同,那么可以得到一条元组,所有这些元组的集合就是除法的结果。,对于上述的五个基本操作和组合操作,应当从实际运算方面进行理解和运用,对其形式定义可不必深究。注意课本上的例子。 关系代数运算的三个要素: 运算对象:关系 运算结果:关系 运算符:四类,集合运算符 将关系看成元组的集合 运算是从关系的“水平”方向即行的角度来进行 专门的关系运算符 不仅涉及行而且涉及列 算术比较符 辅助专门的关系运算符进行操作 逻辑运算符 辅助专门的关系运算符

42、进行操作,广义笛卡尔积(Extended Cartesian Product),R n目关系,k1个元组 S m目关系,k2个元组 RS 列:(n+m)列的元组的集合 元组的前n列是关系R的一个元组 后m列是关系S的一个元组 行:k1k2个元组 RS = tr ts |tr R tsS ,R,S,R S,选择(Selection),1)选择又称为限制(Restriction) 2)选择运算符的含义 在关系R中选择满足给定条件的诸元组 F(R) = t|tRF(t)= 真 F:选择条件,是一个逻辑表达式,基本形式为: ( X1Y1 ) ( X2Y2 ) :比较运算符(,或) X1,Y1等:属性名

43、、常量、简单函数;属性名也可以用它的序号来代替; :逻辑运算符(或) :表示任选项 :表示上述格式可以重复下去,3)选择运算是从行的角度进行的运算 4)举例 设有一个学生-课程数据库,包括学生关系Student、课程关系Course和选修关系SC。,(a),Student,(b),Course,(c),SC,例1 查询信息系(IS系)全体学生 Sdept = IS (Student) 或 5 =IS (Student) 结果:,例2 查询年龄小于20岁的学生 Sage 20(Student) 或 4 20(Student) 结果:,投影(Projection) 1)投影运算符的含义 从R中选择

44、出若干属性列组成新的关系 A(R) = tA | t R A:R中的属性列,2)投影操作主要是从列的角度进行运算 但投影之后不仅取消了原关系中的某些列,而且还可能取消某些元组(避免重复行),3)举例 例3 查询学生的姓名和所在系 即求Student关系上学生姓名和所在系两个属性上的投影 Sname,Sdept(Student) 或 2,5(Student) 结果:,例4 查询学生关系Student中都有哪些系 Sdept(Student) 结果:,连接(Join) 1)连接也称为连接 2)连接运算的含义 从两个关系的笛卡尔积中选取属性间满足一定条件的元组 R S = | tr Rts StrA

45、tsB A和B:分别为R和S上度数相等且可比的属性组 :比较运算符 连接运算从R和S的广义笛卡尔积RS中选取(R关系)在A属性组上的值与(S关系)在B属性组上值满足比较关系的元组。,3)两类常用连接运算 等值连接(equijoin) 什么是等值连接 为“”的连接运算称为等值连接 等值连接的含义 从关系R与S的广义笛卡尔积中选取A、B属性值相等的那些元组,即等值连接为: R S = | tr Rts StrA = tsB ,A=B,自然连接(Natural join) 什么是自然连接 自然连接是一种特殊的等值连接 两个关系中进行比较的分量必须是相同的属性组 在结果中把重复的属性列去掉 自然连接的

46、含义 R和S具有相同的属性组B R S = | tr Rts StrB = tsB ,4)一般的连接操作是从行的角度进行运算。 自然连接还需要取消重复列,所以是同时从行和列的角度进行运算。,5)举例 例5,R,S,R S,等值连接 R S,自然连接 R S,外连接,例:列出老师的有关信息,包括姓名、工资、所教授的课程 P# ,PN , SAL , C# , CN(PROF) PC C),问题:有关P03号职工的姓名和工资信息没有显示出来,外连接 为避免自然连接时因失配而发生的信息丢失,可以假定往参与连接的一方表中附加一个取值全为空值的行,它和参与连接的另一方表中的任何一个未匹配上的元组都能匹配

47、,称之为外连接 外连接 = 自然连接 + 失配的元组 外连接的形式:左外连接、右外连接、全外连接 左外连接 = 自然连接 + 左侧表中失配的元组 右外连接 = 自然连接 + 右侧表中失配的元组 全外连接 = 自然连接 + 两侧表中失配的元组,所有老师的信息,所有课程的信息,所有老师和课程的信息,重要内容分析 1.(1)一般规则 对于只涉及到选择、投影、联接的查询可用下列表达式表示: (RS) 或者(RS) 对于否定的操作,一般要用差操作表示,例如“检索不学C2课的学生姓名”。 对于检索具有“全部”特征的操作,一般要用除法操作表示,例如“检索学习全部课程的学生姓名”。,(2)“检索不学C2课的学

48、生姓名”,决不能用下式表示: SNAME,AGE(C#C2(SSC) 一定要用“差”的形式: SNAME,AGE(S)SNAME,AGE(C#=C2(SSC) (3)“检索学习全部课程的学生学号”,要用S#,C#(SC)C#(C)表示, 而不能写成 S# (SCC#(C)形式。这是因为一个学生学的课程的成绩可能是不一样的。,2.非过程性语言与过程性语言的区别 编程时必须指出“干什么”及“怎么干”的语言,称为过程性语言;编程时只须指出“干什么”,不必指出“怎么干”的语言,称为非过程性语言。,4.2 关系演算,把数理逻辑的谓词演算引入关系运算中,就可得到以关系演算为基础的运算。关系演算分为元组关系演算或域关系演算,前者以元组为变量

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1