自考~《数据库系统原理》完整版.doc

上传人:小** 文档编号:666098 上传时间:2019-05-21 格式:DOC 页数:46 大小:990KB
返回 下载 相关 举报
自考~《数据库系统原理》完整版.doc_第1页
第1页 / 共46页
自考~《数据库系统原理》完整版.doc_第2页
第2页 / 共46页
点击查看更多>>
资源描述

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

1、.自考自考数据库系统原理数据库系统原理串讲笔记串讲笔记第一章第一章 数据库基础知识数据库基础知识学习目的与要求:学习目的与要求:本章属于基础知识,主要是对一些概念的理解和记忆。没有难点,相对的重点是数据模型的四个层次,数据库管理系统的功能,数据库系统的全局结构。考核知识点与考核要求考核知识点与考核要求1.1 数据管理技术的发展阶段(识记)1.2 数据描述的术语(领会)1.3 数据抽象的级别(领会)1.4 数据库管理系统(DBMS) (领会)1.5 数据库系统(DBS) (领会)1.11.1 数据管理技术的发展数据管理技术的发展几个数据库的基本术语:数据:数据: 描述事物的符号记录数据处理数据处

2、理: :是指从某些已知的数据出发,推导加工出一些新的数据,这些新的数据又表示了新的信息。 数据管理数据管理: :是指数据的收集、整理、组织、存储、维护、检索、传送等操作,这部分操作是数据处理业务的基本环节,而且是任何数据处理业务中必不可少的共有部分。 数据管理技术:数据管理技术:对数据的收集、整理、组织、存储、维护、检索、传送等操作,基本目的就是从大量的,杂乱无章的,难以理解的数据中筛选出有意义的数据。数据处理是与数据管理相联系的,数据管理技术的优劣,将直接影响数据处理的效率。1.1.人工管理阶段(人工管理阶段(2020 世纪世纪 5050 年代中期以前)年代中期以前)数据不保存在机器中;)没

3、有专用软件对数据进行管理;)只有程序的概念,没有文件的概念;)数据面向程序。2.2. 文件系统阶段特点与缺陷(文件系统阶段特点与缺陷(2020 世纪世纪 5050 年代后期至年代后期至 6060 年代中期)年代中期)数据可长期保存在磁盘上; )数据的逻辑结构与物理结构有了区别;)文件组织呈现多样化;)数据不再属于某个特定程序,可以重复使用;)对数据的操作以记录为单位。文件系统三个缺陷:文件系统三个缺陷:)数据冗余性)数据不一致性.)数据联系弱3.3.数据库阶段(数据库阶段(2020 世纪世纪 6060 年代后年代后 至今)至今)数据管理技术进入数据库阶段的标志是 20 世纪 60 年代末三件大

4、事:)1968 年美国 IBM 公司推出层次模型的 IMS 系统;)1969 年美国 CODASYL 组织发布了 DBTG 报告。总结了当时各式各样的数据库,提出网状模型,尔后于 1971 年 4 月正式通过。)1970 年美国 IBM 公司的 E.F.Codd 连续发表论文,提出关系模型,奠定了关系数据库的理论基础。数据库管理阶段特点:数据库管理阶段特点:1)采用数据模型表示复杂的数据结构;2)有较高的数据独立性;3)数据库系统为用户提供了方便的用户接口。4)数据库系统提供以下四个方面的数据控制功能: 数据库的恢复; 数据库的并发控制; 数据库的完整性; 数据库的安全性;5)增加了系统的灵活

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

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

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

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

9、模型的分类:)层次模型)网状模型)关系模型三种逻辑数据模型的比较?如 P17 图4.4.外部模型外部模型外部模型的特点:(p17)从整个系统考察,外部模型的优点。5.5.内部模型内部模型是数据库最底的抽象,它描述数据在磁盘或磁带上的存储方式、存取设备和存取方法。6.6.三层模式和两级映象三层模式和两级映象三层模式体系结构)外模式:是用户与数据库系统的接口,是用户用到的那部分数据的描述。)逻辑模式:是数据库中全部数据的整体逻辑结构的描述。)内模式:是数据库在物理存储方面的描述,定义所有内部记录类型、索引和文件的组织方式,以及数据控制方面的细节。两级映象两级映象外模式/逻辑模式映象:用于定义概念模

10、式和内模式之间的对应性。一般在内模式中描述。 逻辑模式/内模式映象:用于定义外模式和概念模式间的对应性。一般在外模式中描述。 7.7.高度的数据独立性高度的数据独立性什么叫数据独立性?是指应用程序和数据库的数据结构之间相互独立,不受影响。在修改数据结构时,尽可能不修改应用程序,则称系统达到了数据独立性目标。数据独立性分为物理数据独立性和逻辑数据独立性:物理数据独立性物理数据独立性:修改内模式时尽量不影响概念模式及外模式,则达到物理数据独立性。逻辑数据独立性逻辑数据独立性:修改概念模式时尽量不影响外模式和应用程序。1.41.4 数据库管理系统(数据库管理系统(DBMSDBMS)1.DBMS 的目

11、标与任务:数据库管理系统的主要任务是完成用户对数据库的存取请求,即检索、插入、更新或删除等操作。DBMS 的目标:用户界面友好、功能完善、结构清晰、高效率、开放性2.DBMS 的工作模式(p20 图).3.DBMS 的主要功能:)数据库的定义功能)数据库的操纵功能)数据库的保护功能(数据库恢复、数据库并发控制、数据库完整性和数据库安全性)数据库的维护功能)数据字典1.51.5 数据库系统数据库系统(DBS)(DBS)1.DBS 由四部分组成:数据库、硬件、软件、数据库管理员。2.数据库管理员定义及职责。(素质+职责)3.DBS 的全局结构及 DBS 的效益。 (数据库用户+界面+DBMS+磁盘

12、+DBS 的效益)第二章第二章 数据库设计和数据库设计和 ERER 模型模型学习目的与要求:学习目的与要求:本章总的目的要求是了解和掌握数据库应用系统设计的全过程。首先掌握 ER 模型和关系模型的基本概念,然后掌握概念设计中 ER 模型的设计方法,逻辑设计中 ER 模型向关系模型转换方法。考核知识点与考核要求考核知识点与考核要求2.1 数据库系统生存期(领会)2.2ER 模型的基本概念(综合应用)2.3 关系模型的基本概念(综合应用)2.4ER 模型到关系模型的转换规则(综合应用)2.5ER 模型实例分析(简单应用)2.6 增强 ER 模型(简单应用)从软件生存期谈起从软件生存期谈起软件生存期

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

14、.2 ERER 模型的基本概念模型的基本概念1.ER1.ER 模型的基本元素模型的基本元素实体、联系和属性2.2.属性的分类属性的分类(简单属性和复合属性、单值属性和多值属性、存储属性和派生属性)3.3.联系的设计联系的设计4.ER4.ER 模型的操作模型的操作(分裂、合并和增删)5.5.采用采用 ERER 模型的数据库概念设计步骤模型的数据库概念设计步骤采用 ER 方法进行数据库概念设计分成三步进行: 首先设计局部 ER 模式 然后把各局部 ER 模式综合成全局 ER 模式 最后对全局 ER 模式进行优化 2.32.3 关系模型的基本概念关系模型的基本概念. .关系模型定义:关系模型定义:用

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

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

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

18、换成的关系模式中加入 1 1 端实体类型转换成的关系模式的键端实体类型转换成的关系模式的键和联系类型的联系类型的属性属性。.3)如实体间的联系是 M:N则将联系类型也转换成关系模式,其属性为两端实体类型的键两端实体类型的键加上联系类型的属性联系类型的属性,而键为两端实体键的组合。以上各转换规则,给出了一般情况下 E-R 模型向关系模型的转换方法。但在实际应用中往往还需要.根具实际情况进行具体处理。下面以图书借阅系统的 E-R 模型转换为关系模型为例。该例中,由于允许同一本书在不同的时间借给多个读者,特别是一个读者在不同的时间可以借同一本书。因而,在多对多联系“借阅”转换为关系模式时,仅有读者的

19、编号和图书的编号是不能构成码的。例如:(0406010,F33.33,2006-10-10:10:10,2007-02-20:3:00)(0406010,F33.33,2007-5-26:4:00,NULL)说明,按照上述介绍的转换方法得到的关系模型不一定是最好的。实际应用中,往往还要对得到的关系模型进行规范化。2.52.5 和和 2.62.6实例分析,同学们多看书!1.库存管理系统的 ER 模型及转换.2.人事管理信息系统的 ER 模型3.住院管理信息系统的 ER 模型4.公司车队信息系统的 ER 模型更多优质自考资料尽在百度贴吧自考乐园自考乐园俱乐部 (http:/ 关系模式设计理论关系模

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

21、模式设计方法小结(领会)3.53.5 多值依赖和第四范式(识记)3.13.1 关系模式的设计准则关系模式的设计准则1.1.关系模式的冗余和异常问题关系模式的冗余和异常问题)数据冗余)操作异常(修改异常、插入异常和删除异常) 2.2.关系模式的非形式化设计准则关系模式的非形式化设计准则)关系模式的设计应尽可能只包含有直接联系的属性,不包括有间接联系的属性)关系模式的设计应尽可能使得相应关系中不出现插入、删除和修改异常。)关系模式的设计应尽可能使得相应关系中避免放置经常为空值的属性。)关系模式的设计应尽可能使得关系的等值连接在主键和外键的属性上进行,并且保证连接以后不会生成额外的元组。3.23.2

22、 函数依赖函数依赖1.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。2.2.

23、函数依赖的逻辑蕴涵函数依赖的逻辑蕴涵设 F 是关系模式 R 的一个函数依赖集,X,Y 是 R 的属性子集,如果从 F 中的函数依赖能够推出XY,则称 F 逻辑蕴涵 XY,记为 F|=XY。而函数依赖的闭包 F + 是指被 F 逻辑蕴涵的函数依赖的全体构成的集合。3.3.键和键和 FDFD 的关系的关系键是唯一标识实体的属性集。对于键和函数依赖的关系:有两个条件:设关系模式R(A1,A2.An),F 是 R 上的函数依赖集,X 是 R 的一个子集:1XA1A2.AnF +(它的意思是 X 能够决定唯一的一个元组)2 不存在 X 的真子集 Y,使得 Y 也能决定唯一的一个元组,则 X 就是 R 的

24、一个候选键。(它的意思是 X 能决定唯一的一个元组但又没有多余的属性集)包含在任何一个候选键中的属性称为主属性,不包含在任何键中的属性为非主属性(非键属性),(注意) 主属性应当包含在候选键中。4.4.函数依赖函数依赖(FD)(FD)的推理规则的推理规则前面我们举的例子中是以实际经验来确定一个函数依赖的逻辑蕴涵,但是我们需要一个推理规则才能完全确定 F 或 F+的所有函数依赖。设有关系模式 R(U),X,Y,Z,W 均是 U 的子集,F 是 R 上只涉及到 U 中属性的函数依赖集,推理规则如下:A1 自反性自反性:如果 Y X U,则 XY 在 R 上成立。A2 增广性增广性:如果 XY 为

25、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.5.函数依赖推理规则的完备性函数依赖推理规则的完备性函数依赖推理规则系统(自反性、增广性和传递性)

26、是完备的。由推理规则的完备性可得到两个重要结论: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)F 中每一

27、个函数依赖的右部都是单属性;(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 的过程。它不仅仅是属性集合的分解,它是对关系模式上的函数依赖集、

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

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

30、。 同时,分解关系模式时还应保证关系模式的函数依赖集在分解后仍在数据库模式中保持不变,.这就是保持函数依赖的问题。也就是所有分解出的模式所满足的函数依赖的全体应当等价于原模式的函数依赖集。只有这样才能确保整个数据库中数据的语义完整性不受破坏。 3.43.4 范式范式1.1NF1.1NF、2NF2NF、3NF3NF、BCNFBCNF 的定义:的定义: 1NF1NF:第一范式:第一范式即关系模式中的属性的值域中每一个值都是不可再分解的值。如果某个数据库模式都是第一范式的,则称该数据库模式是属于第一范式的数据库模式。 2NF2NF:第二范式:第二范式如果关系模式 R 为第一范式,并且 R 中每一个非

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

32、 2NF 的数据库模式。 3NF3NF:第三范式:第三范式如果关系模式 R 是第二范式,且每个非主属性都不传递依赖于 R 的候选键,则称 R 为第三范式的模式。这里首先要了解传递依赖的含义:在关系模式中,如果 YX,XA,且 X 不决定 Y 和 A 不属于 X,那么 YA 是传递依赖。注意的是,这里要求非主属性都不传递依赖于候选键。BCNFBCNF:这个范式和第三范式有联系,它是 3NF 的改进形式。若关系模式 R 是第一范式,且每个属性都不传递依赖于 R 的候选键。这种关系模式就是 BCNF 模式。 纵观四种范式,可以发现它们之间存在如下关系: .5.5.分解成分解成 BCNFBCNF 模式

33、集的算法模式集的算法对于任一关系模式,可找到一个分解达到 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)分解结束。输出 。 在这个过程中,重点在于(3)步,判断哪个关系不是 BCNF,并找到 X 和

34、 A。这里,S 的判断用BCNF 的定义,而 X 不是 S 的键则依靠分析。 6.6.分解成分解成 3NF3NF 模式集模式集算法:算法: (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 分解结束,输入 。 这个过程的重点是这一句 “对于

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

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

37、作复杂:某一门课要去掉一本参考书,该课程有多少名教师,就必须删除多少个元组。(4) 修改操作复杂:某一门课要修改一本参考书,该课程有多少名教师,就必须修改多少个元组。 产生原因产生原因存在多值依赖。1)多值依赖设 R(U)是一个属性集 U 上的一个关系模式, X、 Y 和 Z 是 U 的子集,并且 ZUXY,多值多值依赖依赖 XY 成立当且仅当对 R 的任一关系任一关系 r r,r 在(X,Z)上的每个值对应一组 Y 的值,这组值仅仅决定于 X 值而与 Z 值无关。例 Teaching(C, T, B)对于 C 的每一个值,T 有一组值与之对应,而不论 B 取何值。2)第四范式(4NF)关系模

38、式 R1NF,如果对于 R 的每个非平凡多值依赖 XY(Y X) ,X 都含有候选码,则 R4NF。如果 R 4NF, 则 R BCNF不允许有非平凡且非函数依赖的多值依赖允许的是函数依赖(是非平凡多值依赖)第四章第四章 关系运算关系运算学习目的与要求:学习目的与要求:本章总的要求是:深刻理解关系模型的运算理论,了解查询优化的意义和启发式优化算法。本章的重点是关系代数运算,应熟练掌握。关系演算是本章的难点。考核知识点和考核要求考核知识点和考核要求4.1 关系代数4.1.1 关系代数的五个基本操作(并、差、笛卡儿积、投影、选 择)(综合运用).4.1.2 关系代数的四个组合操作(交、连接、自然连

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

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

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

42、对于上述的五个基本操作和组合操作,应当从实际运算方面进行理解和运用,对其形式定义可不必深究。注意课本上的例子。.关系代数运算的三个要素:关系代数运算的三个要素:运算对象:关系运算结果:关系运算符:四类集合运算符集合运算符将关系看成元组的集合运算是从关系的“水平”方向即行的角度来进行专门的关系运算符专门的关系运算符不仅涉及行而且涉及列算术比较符算术比较符辅助专门的关系运算符进行操作逻辑运算符逻辑运算符辅助专门的关系运算符进行操作广义笛卡尔积(广义笛卡尔积(ExtendedExtended CartesianCartesian ProductProduct)Rn 目关系,k1 个元组Sm 目关系,

43、k2 个元组RS 列:(n+m)列的元组的集合元组的前 n 列是关系 R 的一个元组后 m 列是关系 S 的一个元组行:k1k2 个元组RS = tr ts |tr R tsS 选择(选择(SelectionSelection) .1)选择又称为限制(Restriction)2)选择运算符的含义在关系 R 中选择满足给定条件的诸元组F(R) = t|tRF(t)= 真F:选择条件,是一个逻辑表达式,基本形式为:( X1Y1 ) ( X2Y2 ):比较运算符(,或 800 )给出计算机系老师的姓名t | uDEPT ( uDNAME = “计算机系” sPROF ( sDNO = uDNO tP

44、NAME sPNAME )求选修了全部课程的学生号t | uC ( sSC ( sCNO = uCNO tSNO sSNO )求选修了张军同学所选修的全部课程的学生姓名课程,张军选之 所求同学选之t | uC ( sSC wS ( sCNO = uCNO wSNO sSNO wSNAME = “张军” )元组关系演算与关系代数的等价性投影A( R ) = t | sR ( sA = tA ) 选择F(A)(R) = t | tR F(tA) 广义笛卡儿积R(A) S(B) = t | uRsS( tA = uA tB = sB)并RS= t | tR tS交RS= t | tR tS.域关系演

45、算域关系演算形式化定义 | | P P( x1x1 , , x2x2 , , , , xnxn ) xixi 代表域变量,P 为由原子构成的公式原子公式 R Rxixi 是域变量或域常量x x y y域变量 x 与 y 之间满足比较关系 x x c c域变量 x 与常量 c 之间满足比较关系 示例:示例:找出工资在 800 元以上的老师 | PROF e 800找出工资在 800 元以上的老师的姓名 | a , c , d , e ( PROF e 800 )4.34.3 关系代数表达式的优化问题关系代数表达式的优化问题目的目的在关系代数中找一种好的操作步骤,既省空间,查询效率又比较高。在关系

46、代数中,笛卡儿积和联结运算是最费时间和空间的,在关系很大的时候,必须要考虑怎样做才能合理的安排,做到省时省力。一个例子设关系 R 和 S 都是二元关系,属性名分别是 A、B 和 C、D。那么如下查询:E1=A(B=C D=99 (R S) ).也可以是E2=A(B=C( R D=99 ( S) )或 E3=A(R D=99 ( S) )这三个代数表达式的等价的,但是执行的效率不一样。第一种:先做笛卡儿积。假设每个物理块可以存储 R 的 B1 个元组,或者 S 的 B2 个元组,R 关系中有 n1 个元组,S 关系中有 n2 个元组,内存每次只能装载 m 块数据。在做联接的时候先把 R 的第一个

47、 m-1 块数据装入内存,然后逐个调入 S 中的数据块;R 中的每个数据块只要进入内存一次,总共需要装入的块数示 n1/B1;S 中的每个数据块需要进入内存(n1/B1)/(m-1)次,总共需要装入的块数是:(n1/B1) (1/(m-1) ) (n2/B2)这三个代数表达式的等价的,但是执行的效率不一样。执行 R X S 的总装入块数是(n1/B1) (1+n2/(m-1)/B2)若 n1=n2=10000,B1=B2=5,m=100,那么总的装入块数是 42400,若每秒装入 20 块,需要 35分钟。耗费时间长,在实际使用中不采用。这三个代数表达式的等价的,但是执行的效率不一样。第二种和第三种:先做了选择,装入的块数为 n1/B1+n2/B2,大约需要装入 4000 块,耗费时间 3 分多钟。对于 S 来说,元组并不是全部进入内存,而且只是进入一次,所以速度快。1.1.优化的一般策略优化的一般策略我们所说的优化和存储没有关系,主要是如何来安排操作的顺序,节省时间和空间的消费优化的一般技术:在关系代数表达式中尽可能早地执行选择操作。把笛卡儿积和其后的选择操作合并成 F 联接运算。同时计算一连串的选择和投影操作,避免分开运算造成多次扫描文件。2.2.关系代数表达式的优化

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

当前位置:首页 > 教育专区 > 教案示例

本站为文档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