《数据库系统原理》课件.ppt

上传人:wuy****n92 文档编号:74441843 上传时间:2023-02-26 格式:PPT 页数:241 大小:851.50KB
返回 下载 相关 举报
《数据库系统原理》课件.ppt_第1页
第1页 / 共241页
《数据库系统原理》课件.ppt_第2页
第2页 / 共241页
点击查看更多>>
资源描述

《《数据库系统原理》课件.ppt》由会员分享,可在线阅读,更多相关《《数据库系统原理》课件.ppt(241页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、数据库系统原理数据库系统原理河南科技大学河南科技大学课程说明课程说明数据库系统原理课程数据库系统原理课程学习目标:数据库是计算机科学的一个重要研究领域,是专门研究数据处理、数据管理和数据分析的技术,从20世纪60年代末开始,经过40多年的发展,已成为计算机软件学科的一个重要分支。数据库系统原理课程的主要目的:使同学们了解数据库的基本原理,掌握数据库技术的基本方法和应用技术,能够有效的使用现有的数据库管理系统,掌握数据库结构的设计和数据库应用系统的开发方式,同时能够利用前端开发工具完成企业管理信息系统的开发。数据库系统原理课程数据库系统原理课程地位图示地位图示B/S结构结构C/S结构结构浏览器端

2、:浏览器端:HTML/CSS/JavaScript/VBScript服务器端:服务器端:ASP(.NET)/PHP/JSPC/S结构:结构:VB/VC/VC#/Delphi/Java/.NET系系列列数据库支持:数据库支持:SQL Server/Oracle/Sybase/MySQL/Informix/Access两大语法体系:两大语法体系:Basic系:系:VB/VBScript/VBAC系:系:Java/JavaScript/C+/C#参考教材介绍参考教材介绍自学教材数据库系统原理,全国高等教育自学考试指导委员会组编,丁宝康主编,经济科学出版社2007年版。本教材共分为9章,详细介绍了数据

3、库系统的基本原理、方法和应用技术。内容包括:数据库系统基本概念(第一章)、数据库的设计和ER模型(第二章)、关系模式设计理论(第三章)、关系运算(第四章)、SQL语言(第五章)、数据库管理(第六章)、SQL Server2000简介及应用(第七章)、PowerBuilder9.0简介及应用(第八章)、数据库的技术的发展(第九章)。1-5章为学习重点,6-7章各学校根据各自情况可选择教学。第一章数据库基础知识第一章数据库基础知识学习目的与要求:学习目的与要求:本章属于基础知识,主要是对一些概念的理解和记忆。没有难点,相对的重点是数据模型的四个层次,数据库管理系统的功能,数据库系统的全局结构。考核

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

5、理、组织、存储、维护、检索、传送等操作,基本目的就是从大量的,杂乱无章的,难以理解的数据中筛选出有意义的数据。数据处理是与数据管理相联系的,数据管理技术的优劣,将直接影响数据处理的效率。1.11.1数据管理技术的发展数据管理技术的发展1.1.人工管理阶段(人工管理阶段(2020世纪世纪5050年代中期以前)年代中期以前)数据不保存在机器中;)没有专用软件对数据进行管理;)只有程序的概念,没有文件的概念;)数据面向程序。2.2.文件系统阶段特点与缺陷(文件系统阶段特点与缺陷(2020世纪世纪5050年代后期至年代后期至6060年代中期)年代中期)数据可长期保存在磁盘上;)数据的逻辑结构与物理结构

6、有了区别;)文件组织呈现多样化;)数据不再属于某个特定程序,可以重复使用;)对数据的操作以记录为单位。文件系统三个缺陷:文件系统三个缺陷:)数据冗余性)数据不一致性)数据联系弱3.3.数据库阶段(数据库阶段(2020世纪世纪6060年代后年代后 至今)至今)数据管理技术进入数据库阶段的标志是20世纪60年代末三件大事:)1968年美国IBM公司推出层次模型的IMS系统;)1969年美国CODASYL组织发布了DBTG报告。总结了当时各式各样的数据库,提出网状模型,尔后于1971年4月正式通过。)1970年美国IBM公司的连续发表论文,提出关系模型,奠定了关系数据库的理论基础。数据库管理阶段特点

7、:数据库管理阶段特点:1)采用数据模型表示复杂的数据结构;2)有较高的数据独立性;3)数据库系统为用户提供了方便的用户接口。4)数据库系统提供以下四个方面的数据控制功能:数据库的恢复;数据库的并发控制;数据库的完整性;数据库的安全性;5)增加了系统的灵活性。增加了系统的灵活性对数据的操作不一定以记录为单位,可以以数据项为单位。数据库技术中的四个名词:DB、DBMS、DBS、数据库技术。其概念是不同的,要分清。DBDB:数据库(Database)长期存储在计算机内、有组织的、统一管理的相关数据的集合。DBMSDBMS:数据库管理系统(Database Management System),DBM

8、S是位于用户与操作系统之间的一层数据管理软件,为用户或应用程序提供访问DB的方法,包括DB的建立、查询、更新及各种数据控制。DBMS总是基于某种数据模型,可以分为层次型、网状型、关系型、面向对象型DBMS。DBSDBS:数据库系统(Database System),DBS是实现有组织地、动态地存储大量关联数据,方便多用户访问的计算机软件、硬件和数据资源组成的系统,即采用了数据库技术的计算机系统。数据库技术数据库技术:是一门研究数据库结构、存储、管理和使用的一门软件学科。4.4.高级数据库阶段:高级数据库阶段:)面向对象的概念建模)开放数据库互连技术1.21.2数据描述数据描述在数据处理中,数据

9、描述将涉及不同的范畴。从事物的特性到计算机中的具体表示,数据描述经历了三个阶段概念设计、逻辑设计和物理设计。1.1.概念设计中的的数据描述概念设计中的的数据描述)实体)实体集)属性)实体标识符2.2.逻辑设计中的数据描述逻辑设计中的数据描述)字段)记录)文件)关键码3.3.物理设计中的数据描述物理设计中的数据描述物理存储介质层次)高速缓冲存储器)主存储器)快擦写存储器)磁盘存储器)光盘存储器)磁带物理存储中的数据描述位、字节、字、块、桶和卷。4.4.数据联系的描述数据联系的描述联系及元数定义:二元联系有以下三种类型:1 1:1 1联系联系 :如果实体集E1中的每个实体最多只能和实体集E2中的一

10、个实体有联系,反之亦然,好么实体集E1对E2的联系称为“一对一联系”,记为“1:1”。1 1:N N联系联系 :如果实体集E1中每个实体与实体集E2中任意个(零个或多个)实体有联系,而E2中每个实体至多和E1中的一个实体有联系,那么E1对E2的联系是“一对多联系”,记为“1:N”。M M:N N联系联系 :如果实体集E1中每个实体与实体集E2中任意个(零个或多个)实体有联系,反之亦然,那么E1对E2的联系是“多对多联系”,记为“M:N”。1.31.3数据抽象的级别数据抽象的级别1.1.数据抽象的过程数据抽象的过程根据抽象的级别定义了四种模型:)概念数据模型)逻辑数据模型)外部数据模型)内部数据

11、模型2.2.概念模型概念模型)四种模型中,概念模型的抽象级别最高。)概念模型的特点:(p12)3.3.逻辑模型逻辑模型逻辑模型的特点:(p13)(1)(4)逻辑模型的分类:)层次模型)网状模型)关系模型三种逻辑数据模型的比较?如P17图4.4.外部模型外部模型外部模型的特点:(p17)从整个系统考察,外部模型的优点。5.5.内部模型内部模型是数据库最底的抽象,它描述数据在磁盘或磁带上的存储方式、存取设备和存取方法。6.6.三层模式和两级映象三层模式和两级映象三层模式体系结构)外模式:是用户与数据库系统的接口,是用户用到的那部分数据的描述。)逻辑模式:是数据库中全部数据的整体逻辑结构的描述。)内

12、模式:是数据库在物理存储方面的描述,定义所有内部记录类型、索引和文件的组织方式,以及数据控制方面的细节。两级映象两级映象外模式/逻辑模式映象:用于定义概念模式和内模式之间的对应性。一般在内模式中描述。逻辑模式/内模式映象:用于定义外模式和概念模式间的对应性。一般在外模式中描述。7.7.高度的数据独立性高度的数据独立性什么叫数据独立性?是指应用程序和数据库的数据结构之间相互独立,不受影响。在修改数据结构时,尽可能不修改应用程序,则称系统达到了数据独立性目标。数据独立性分为物理数据独立性和逻辑数据独立性:物理数据独立性物理数据独立性:修改内模式时尽量不影响概念模式及外模式,则达到物理数据独立性。逻

13、辑数据独立性逻辑数据独立性:修改概念模式时尽量不影响外模式和应用程序。1.41.4数据库管理系统(数据库管理系统(DBMSDBMS)1.DBMS的目标与任务:数据库管理系统的主要任务是完成用户对数据库的存取请求,即检索、插入、更新或删除等操作。DBMS的目标:用户界面友好、功能完善、结构清晰、高效率、开放性 2.DBMS的工作模式(p20图)3.DBMS的主要功能:)数据库的定义功能)数据库的操纵功能)数据库的保护功能(数据库恢复、数据库并发控制、数据库完整性和数据库安全性)数据库的维护功能)数据字典1.51.5数据库系统数据库系统(DBS)(DBS)1.DBS由四部分组成:数据库、硬件、软件

14、、数据库管理员。2.数据库管理员定义及职责。(素质+职责)3.DBS的全局结构及DBS的效益。(数据库用户+界面+DBMS+磁盘+DBS的效益)本章结束本章结束第二章数据库设计和第二章数据库设计和ERER模型模型学习目的与要求:学习目的与要求:本章总的目的要求是了解和掌握数据库应用系统设计的全过程。首先掌握ER模型和关系模型的基本概念,然后掌握概念设计中ER模型的设计方法,逻辑设计中ER模型向关系模型转换方法。考核知识点与考核要求考核知识点与考核要求2.1数据库系统生存期(领会)2.2ER模型的基本概念(综合应用)2.3关系模型的基本概念(综合应用)2.4ER模型到关系模型的转换规则(综合应用

15、)2.5ER模型实例分析(简单应用)2.6增强ER模型(简单应用)从软件生存期谈起从软件生存期谈起软件生存期:是指从软件的规划、研制、实现、投入运行后的维护、直到它被新的软件所取代而停止使用的整个期间。它包括六个阶段:(规需设编试运维)(1)规划阶段(2)需求分析阶段(3)设计阶段(4)程序编制阶段(5)调试阶段(6)运行维护阶段 2.12.1数据系统生存期数据系统生存期1.1.什么叫数据库系统生存期?什么叫数据库系统生存期?我们把数据库应用系统从开始规划、设计、实现、维护到最后被新的系统取代而停止使用的整个期间,称为数据库系统生存期。2.2.这个生存期一般可划分成以下七个阶段:这个生存期一般

16、可划分成以下七个阶段:规划、需求分析、概念设计、逻辑设计、物理设计、实现、运行维护。.2.2ERER模型的基本概念模型的基本概念1.ER1.ER模型的基本元素模型的基本元素实体、联系和属性2.2.属性的分类属性的分类(简单属性和复合属性、单值属性和多值属性、存储属性和派生属性)3.3.联系的设计联系的设计4.ER4.ER模型的操作模型的操作(分裂、合并和增删)5.5.采用采用ERER模型的数据库概念设计步骤模型的数据库概念设计步骤采用ER方法进行数据库概念设计分成三步进行:首先设计局部ER模式 然后把各局部ER模式综合成全局ER模式 最后对全局ER模式进行优化 2.32.3关系模型的基本概念关

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

18、选键为主键。4)外键:某个关系的主键相应的属性在另一关系中出现,此时该主键在就是另一关系的外键,如有两个关系S和SC,其中S#是关系S的主键,相应的属性S#在关系SC中也出现,此时S#就是关系SC的外键。.关系的定义和性质关系的定义和性质)关系定义:关系是一个属性数目相同的元组的集合。)关系性质(p53)5.5.三类完整性规则三类完整性规则)实体完整性规则:要求关系中组成主键的属性上不能有空值。)参照完整性规则:要求不引用不存在的实体。)用户定义完整性规则:由具体应用环境决定,系统提供定义和检验这类完整性的机制。2.42.4E-RE-R模型向关系模型的转换模型向关系模型的转换E-R模型可以向现

19、有的各种数据库模型转换,对不同的数据库模型有不同的转换规则。这里只讨论E-R模型向关系模型的转换方法。1.E-R1.E-R模型向关系模型的转换规则:模型向关系模型的转换规则:(1 1)实体类型的转换)实体类型的转换将每个实体类型转换成一个关系模式,实体的属性即为关系的属性,实体标实体的属性即为关系的属性,实体标识符即为关系的键。识符即为关系的键。(2 2)联系类型的转换)联系类型的转换1)实体间的联系是1:1可以在两个实体类型转换成两个关系模式中的任意一个关系模式的属性中加入另一个关系模式的键另一个关系模式的键和联系类型的属性联系类型的属性。系关系模式(系名,地址,电话,系主任名,任职年月系主

20、任名,任职年月)系主任关系模式(姓名,性别,年龄,职称)职称职称11系主任系主任系系姓名姓名性别性别年龄年龄校名校名地址地址任职年月任职年月主管电话电话系主任关系模式(姓名,性别,年龄,职称,系名,任职年月系名,任职年月)系关系模式(系名,地址,电话)N1工号工号年龄年龄职工职工车间车间姓名姓名性别性别车间号车间号 车间名车间名电话电话聘用聘期聘期2)如实体间的联系是1:N则在N端实体类型转换成的关系模式中加入1 1端实体类型转换成的端实体类型转换成的关系模式的键关系模式的键和联系类型的属性联系类型的属性。车间关系模式(车间号,车间名,电话)职工关系模式(工号,姓名,性别,年龄,车间号,聘期车

21、间号,聘期)3)如实体间的联系是M:N则将联系类型也转换成关系模式,其属性为两端实体类型的键两端实体类型的键加上联系类型的属性联系类型的属性,而键为两端实体键的组合。学生关系模式S(S#,SNAME,AGE,SEX)课程关系模式C(C#,CNAME,TEACHE-R)GRADESCMNSS#SNAMEAGESEXCC#CNAMETEACHE-R学生课程关系模式 SC(S#,C#,GRADE)以上各转换规则,给出了一般情况下E-R模型向关系模型的转换方法。但在实际应用中往往还需要根具实际情况进行具体处理。下面以图书借阅系统的E-R模型转换为关系模型为例。借期借期借阅借阅MN读者读者编号编号姓名姓

22、名读者类型读者类型已借数量已借数量图书图书编号编号书名书名出版社出版社还期还期该例中,由于允许同一本书在不同的时间借给多个读者,特别是一个读者在不同的时间可以借同一本书。因而,在多对多联系“借阅”转换为关系模式时,仅有读者的编号和图书的编号是不能构成码的。例如:(0406010,F33.33,2006-10-10:10:10,2007-02-20:3:00)(0406010,F33.33,2007-5-26:4:00,NULL)借期借期借阅借阅MN读者读者编号编号姓名姓名读者类型读者类型已借数量已借数量图书图书编号编号书名书名出版社出版社还期还期读者关系模式读者(编号,书名,出版社,出版日期,

23、定价)读者图书关系模式 借阅(读者编号,图书编号,借期,还期)图书关系模式图书(编号,姓名,读者类型,已借数量)说明,按照上述介绍的转换方法得到的关系模型不一定是最好的。实际应用中,往往还要对得到的关系模型进行规范化。2.52.5和和2.62.6实例分析,同学们多看书!1.库存管理系统的ER模型及转换2.人事管理信息系统的ER模型3.住院管理信息系统的ER模型4.公司车队信息系统的ER模型本章结束本章结束第三章关系模式设计理论第三章关系模式设计理论学习目的与要求:学习目的与要求:本章特点是理论性较强,学习者应从概念着手,搞清概念间的联系和作用。本章总的要求是:了解关系数据库规范化理论及其在数据

24、库设计中的作用。本章的重点是函数依赖、无损分解、保持依赖和范式。掌握这些概念并能运用它们分析模式分解的特点。考核知识点与考核要求考核知识点与考核要求3.13.1关系模式的设计准则(简单应用)3.23.2函数依赖(FD)(简单应用)3.33.3关系模式的分解特性(简单应用)3.43.4范式1NF、2NF、3NF(简单应用)BCNF(领会)分解成BCNF模式集的“分解算法”(识记)分解成3NF模式集的“合成算法”(综合应用)模式设计方法小结(领会)3.53.5多值依赖和第四范式(识记)3.13.1关系模式的设计准则关系模式的设计准则1.1.关系模式的冗余和异常问题关系模式的冗余和异常问题)数据冗余

25、)操作异常(修改异常、插入异常和删除异常)2.2.关系模式的非形式化设计准则关系模式的非形式化设计准则)关系模式的设计应尽可能只包含有直接联系的属性,不包括有间接联系的属性)关系模式的设计应尽可能使得相应关系中不出现插入、删除和修改异常。)关系模式的设计应尽可能使得相应关系中避免放置经常为空值的属性。)关系模式的设计应尽可能使得关系的等值连接在主键和外键的属性上进行,并且保证连接以后不会生成额外的元组。3.23.2函数依赖函数依赖1.1.函数依赖的定义函数依赖的定义设有关系模式R(A1,A2,.An)或简记为R(U),X,Y是U的子集,r是R的任一具体关系,如果对r的任意两个元组t1,t2,由

26、t1X=t2X导致t1Y=t2Y,则称X函数决定Y,或Y函数依赖于X,记为XY。XY为模式R的一个函数依赖。这个定义可以这样理解:这个定义可以这样理解:有一张设计好的二维表,X,Y是表的某些列(可以是一列,也可以是多列),若在表中的第t1行,和第t2行上的X值相等,那么必有t1行和t2行上的Y值也相等,这就是说Y函数依赖于X。2.2.函数依赖的逻辑蕴涵函数依赖的逻辑蕴涵设F是关系模式R的一个函数依赖集,X,Y是R的属性子集,如果从F中的函数依赖能够推出XY,则称F逻辑蕴涵XY,记为F|=XY。而函数依赖的闭包F+是指被F逻辑蕴涵的函数依赖的全体构成的集合。3.3.键和键和FDFD的关系的关系键

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

28、定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-

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

30、F中每一个函数依赖的右部都是单属性;(2)F中的任一函数依赖XA,其F-XA是不等价的;(3)F中的任一函数依赖XA,Z为X的子集。(F-XA)ZA与F不等价。则称F为最小函数依赖集合。如果函数依赖集F和G等价,并且G是最小集,那么称G是F的一个 最小覆盖。这一段并不要求掌握最小集的求法,但是应当通过其求法理解最小集的概念。3.33.3关系模式分解特性关系模式分解特性1 1.模式分解中存在的问题模式分解中存在的问题模式分解模式分解就是将一个泛关系模式 R分解成 数据库模式,以代替R的过程。它不仅仅是属性集合的分解,它是对关系模式上的函数依赖集、以及关系模式的当前值分解的具体表现。分解一个模式有

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

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

33、满足的函数依赖的全体应当等价于原模式的函数依赖集。只有这样才能确保整个数据库中数据的语义完整性不受破坏。3.43.4范式范式1.1NF1.1NF、2NF2NF、3NF3NF、BCNFBCNF的定义:的定义:1NF1NF:第一范式:第一范式即关系模式中的属性的值域中每一个值都是不可再分解的值。如果某个数据库模式都是第一范式的,则称该数据库模式是属于第一范式的数据库模式。2NF2NF:第二范式:第二范式如果关系模式R为第一范式,并且R中每一个非主属性完全函数依赖于R的某个候选键,则称为第二范式模式。非主属性、完全函数依赖、候选键非主属性、完全函数依赖、候选键三个名词的含义。候选键就是指可以唯一决定

34、关系模式R中某元组值且不含有多余属性的属性集。非主属性也就是非键属性,指关系模式R中不包含在任何建中的属性。设有函数依赖WA,若存在XW,有XA成立,那么称WA是局部依赖,否则就称WA是 完全函数依赖。在分析是否为第2范式时,应首先确定候选键,然后把关系模式中的非主属性与键的依赖关系进行考察,是否都为完全函数依赖,如是,则此关系模式为2NF。如果数据库模式中每个关系模式都是2NF的,则此数据库模式属于2NF的数据库模式。3NF3NF:第三范式:第三范式如果关系模式R是第二范式,且每个非主属性都不传递依赖于R的候选键,则称R为第三范式的模式。这里首先要了解传递依赖的含义:在关系模式中,如果YX,

35、XA,且X不决定Y和A不属于X,那么YA是传递依赖。注意的是,这里要求非主属性都不传递依赖于候选键。BCNFBCNF:这个范式和第三范式有联系,它是3NF的改进形式。若关系模式R是第一范式,且每个属性都不传递依赖于R的候选键。这种关系模式就是BCNF模式。纵观四种范式,可以发现它们之间存在如下关系:5.5.分解成分解成BCNFBCNF模式集的算法模式集的算法对于任一关系模式,可找到一个分解达到3NF,且具有无损联接和保持函数依赖性。而对于BCNF分解,则可以保证无损联接但不一定能保证保持函数依赖集。无损联接分解成BCNF模式集的算法:(1)置初值=R;(2)如果中所有关系模式都是BCNF,则转

36、(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的键则依靠分析。6.6.分解成分解成3NF3NF模式集模式集算法:算法:(1)如果R中的某些属性在F的所有依赖的左边和右边都不出现,那么这些属性可以从R中分出去,单独构成一个关系模式。(2)如果F中有一个依赖XA有XAR,则=R,转(4)(3)对于F中每一个XA,构成一个关系模式XA,如

37、果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模式。7.7.模式设计方法的原则模式设计方法的原则关系模式R相对于函数依赖集F分解成数据库模式=R 1,R 2.R k,一般具有下面四项特性:中每个关系模式R i上应具有某种范式性质(3NF或BCNF)无损联接性。保持函数依赖集。最小性,即中模式个数应最少且模式中属性总数应最

38、少。一个好的模式设计方法应符合下列三条原则:表达性 分离性 最小冗余性 8.8.多值依赖与第四范式(多值依赖与第四范式(4NF4NF)例例:学校中某一门课程由多个教师讲授,他们使用相同的一套参考书。关系模式Teaching(C,T,B)课程C、教师T 和 参考书B课课程程C教教员员T参参考考书书B物理物理数学数学计算数学计算数学李李勇勇王王军军李李勇勇张张平平张张平平周周峰峰普通物理学普通物理学光学原理光学原理物理习题集物理习题集数学分析数学分析微分方程微分方程高等代数高等代数数学分析数学分析表表5.15.1普通物理学普通物理学光学原理光学原理物理习题集物理习题集普通物理学普通物理学光学原理光

39、学原理物理习题集物理习题集数学分析数学分析微分方程微分方程高等代数高等代数数学分析数学分析微分方程微分方程高等代数高等代数李李 勇勇李李 勇勇李李 勇勇王王 军军王王 军军王王 军军李李 勇勇李李 勇勇李李 勇勇张张 平平张张 平平张张 平平 物物 理理物物 理理物物 理理物物 理理物物 理理物物 理理数数 学学数数 学学数数 学学数数 学学数数 学学数数 学学参考书B教员T课程C用二维表表示Teaching 多值依赖与第四范式多值依赖与第四范式TeachingBCNF:Teach具有唯一候选码(C,T,B),即全码Teaching模式中存在的问题(1)数据冗余度大:有多少名任课教师,参考书就

40、要存储多少次。(2)插入操作复杂:当某一课程增加一名任课教师时,该课程有多少本参照书,就必须插入多少个元组。例如物理课增加一名教师刘关,需要插入两个元组:(物理,刘关,普通物理学)(物理,刘关,光学原理)(3)删除操作复杂:某一门课要去掉一本参考书,该课程有多少名教师,就必须删除多少个元组。(4)修改操作复杂:某一门课要修改一本参考书,该课程有多少名教师,就必须修改多少个元组。产生原因产生原因存在多值依赖。1)多值依赖设R(U)是一个属性集U上的一个关系模式,X、Y和Z是U的子集,并且ZUXY,多值依赖多值依赖 XY成立当且仅当对R的任一关任一关系系r r,r在(X,Z)上的每个值对应一组Y的

41、值,这组值仅仅决定于X值而与Z值无关。例 Teaching(C,T,B)对于C的每一个值,T有一组值与之对应,而不论B取何值。2)第四范式(4NF)关系模式R1NF,如果对于R的每个非平凡多值依赖XY(Y X),X都含有候选码,则R4NF。如果R 4NF,则R BCNF不允许有非平凡且非函数依赖的多值依赖允许的是函数依赖(是非平凡多值依赖)本章结束本章结束第四章关系运算第四章关系运算学习目的与要求:学习目的与要求:本章总的要求是:深刻理解关系模型的运算理论,了解查询优化的意义和启发式优化算法。本章的重点是关系代数运算,应熟练掌握。关系演算是本章的难点。考核知识点和考核要求考核知识点和考核要求4

42、.1关系代数关系代数的五个基本操作(并、差、笛卡儿积、投影、选 择)(综合运用)关系代数的四个组合操作(交、连接、自然连接、除法)(综合运用)关系代数表达式的应用(综合运用)关系代数的两个扩充操作(外连接、外部并)(领会)4.2关系演算元组关系演算的定义及表达式的含义(简单应用)域关系演算的定义及表达式的含义(领会)关系运算的安全约束和等价性(领会)4.3关系代数表达式的优化(领会)关系模型有三个重要组成部分:)数据结构)数据操纵)数据完整性规则关系查询语言根据其理论基础的不同分成两类:)关系代数语言)关系演算语言4.14.1关系代数关系代数1.1.关系代数的五个基本操作:并、差、笛卡尔积、投

43、影和选择。关系代数的五个基本操作:并、差、笛卡尔积、投影和选择。并():两个关系需有相同的关系模式,并的对象是元组,由两个关系所有元组构成。差(-):同样,两个关系有相同的模式,R和S的差是由属于R但不属于S的元组构成的集合。笛卡儿积():对于两个关系作运算,列:(n+m)列的元组的集合,元组的前n列是关系R的一个元组后m列是关系S的一个元组,行:k1k2个元组。投影():对关系进行垂直分割,消去某些列,并重新安排列的顺序。选择():根据某些条件关系作水平分割,即选择符合条件的元组。2.2.关系代数的四个组合操作:交、联接、自然联接和除法关系代数的四个组合操作:交、联接、自然联接和除法交():

44、R和S的交是由既属于R又属于S的元组构成的集合。联接包括联接和F联接,是选择RS中满足i(r+j)或F条件的元组构成的集合,特别注意等值联接(为等号“=”)。自然联接(R|X|S):在RS中,选择R和S公共属性值均相等的元组,并去掉RS中重复的公共属性列。如果两个关系没有公共属性,则自然联接就转化为笛卡尔积。除法():首先除法的结果中元数为两个元数的差,可以直接用观察法来得到结果,把S看作一个块,拿到R中去和相同属性集中的元组作比较,如果有相同的块,且除去此块后留下的相应元组均相同,那么可以得到一条元组,所有这些元组的集合就是除法的结果。对于上述的五个基本操作和组合操作,应当从实际运算方面进行

45、理解和运用,对其形式定义可不必深究。注意课本上的例子。关系代数运算的三个要素:关系代数运算的三个要素:运算对象:关系运算结果:关系运算符:四类集合运算符集合运算符将关系看成元组的集合运算是从关系的“水平”方向即行的角度来进行专门的关系运算符专门的关系运算符不仅涉及行而且涉及列算术比较符算术比较符辅助专门的关系运算符进行操作逻辑运算符逻辑运算符辅助专门的关系运算符进行操作广义笛卡尔积(广义笛卡尔积(Extended Cartesian ProductExtended Cartesian Product)Rn目关系,k1个元组Sm目关系,k2个元组RS列:(n+m)列的元组的集合元组的前n列是关系

46、R的一个元组后m列是关系S的一个元组行:k1k2个元组RS=trts|trRtsSABCa1b1c1a1b2c2a2b2c1ABCa1b1c1a1b1c1a1b1c1a1b2c2a1b2c2a1b2c2a2b2c1a2b2c1a2b2c1ABCa1b2 c2a1b3 c2a2b2 c1RSR SABCa1b2c2a1b3c2a2b2c1a1b2c2a1b3c2a2b2c1a1b2c2a1b3c2a2b2c1选择选择(SelectionSelection)1)选择又称为限制(Restriction)2)选择运算符的含义在关系R中选择满足给定条件的诸元组 F(R)=t|tRF(t)=真F:选择条件

47、,是一个逻辑表达式,基本形式为:(X1Y1 )(X2Y2 ):比较运算符(,或)X1,Y1等:属性名、常量、简单函数;属性名也可以用它的序号来代替;:逻辑运算符(或):表示任选项:表示上述格式可以重复下去3)选择运算是从行的角度进行的运算 4)举例设有一个学生-课程数据库,包括学生关系Student、课程关系Course和选修关系SC。学学号号Sno姓姓名名Sname性性别别Ssex年年龄龄Sage所所在在系系Sdept95001李勇李勇男男20CS95002刘晨刘晨女女19IS95003王敏王敏女女18MA95004张立张立男男19IS(a)Student(b)Course课程号课程号课程名

48、课程名先行课先行课学分学分CnoCnameCpnoCcredit1数据库数据库542数学数学23信息系统信息系统144操作系统操作系统635数据结构数据结构746数据处理数据处理27PASCAL语言语言64(c)SC学学号号课课程程号号成成绩绩SnoCnoGrade9500119295001285950013889500229095002380例1 查询信息系(IS系)全体学生Sdept=IS(Student)或5=IS(Student)结果:SnoSnameSsexSageSdept95002刘晨刘晨女女19IS95004张立张立男男19IS例2 查询年龄小于20岁的学生Sage 20(St

49、udent)或4 2ABC456789t|t R tS ABC123346t|tSuR(tCuB)ABC456789t|tRuS(tCvBtA=uBtB=vCtC=uA)表达式的安全性元组关系演算有可能会产生无限关系,这样的表达式是不安全的。如t|(t R),求所有不在R中的元组引入公式P的域域概念,用dom(P)dom(P)表示dom(P)=dom(P)=显式出现在P P中的值+在P P中出现的关系的元组中出现的值(不必是最小集)如dom(t|(t R)是R中出现的所有值的集合如果出现在表达式t|Pt|P(t t)结果中的所有值均来自dom(P)dom(P),则称t|Pt|P(t t)是安全

50、的。ABA1B1A1B2A2B3dom(t R)=A1,A2,B1,B2,B3ABA1B3A2B1A2B2Rt|(t R)示例:示例:找出工资在800元以上的老师t|tPROF tSAL 800找出工资在800元以上的老师的姓名 t|sPROF(tPNAME sPNAME sSAL 800)给出计算机系老师的姓名t|uDEPT(uDNAME=“计算机系”sPROF(sDNO=uDNO tPNAME sPNAME)求选修了全部课程的学生号t|uC(sSC(sCNO=uCNO tSNO sSNO)求选修了张军同学所选修的全部课程的学生姓名课程,张军选之 所求同学选之t|uC(sSC wS(sCNO

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 大学资料

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

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com