自考数据库系统原理4735复习资料.pdf

上传人:深夜****等你... 文档编号:75948194 上传时间:2023-03-06 格式:PDF 页数:44 大小:1.04MB
返回 下载 相关 举报
自考数据库系统原理4735复习资料.pdf_第1页
第1页 / 共44页
自考数据库系统原理4735复习资料.pdf_第2页
第2页 / 共44页
点击查看更多>>
资源描述

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

1、数据库系统原理复习重点 第一章 数据库系统基本概念 要求、目标:了解和掌握数据管理技术的发展阶段,数据描述的术语,数据抽象的四个级别,数据库管理系统的功能,数据库系统的组成。一、数据管理技术的发展 1 分为四个阶段:人工管理阶段、文件系统阶段、数据库阶段和高级数据库阶段。2 数据库阶段数据管理的特点:1)采用数据模型表示复杂的数据结构。2)有较高的数据独立性。3)数据库系统为用户提供了方便的用户接口。4)提供四方面的数据控制功能:数据库的恢复、数据库的并发控制、数据的完整性、数据安全性。5)增加了系统的灵活性。3 数据库(DB):是长期存储在计算机内、有组织的、统一管理的相关数据的集合。4 数

2、据库管理系统(DBMS):是位于用户与操作系统之间的一层数据管理软件,它为用户或应用程序提供访问 DB 的方法,包括 DB 的建立、查询、更新及各种数据控制。5 数据库系统(DBS):是实现有组织地、动态地存储大量关联数据、方便多用户访问的计算机硬件、软件和数据资源组成的系统,即它是采用数据库技术的计算机系统。二、数据描述 1 分为三个阶段:概念设计、逻辑设计和物理设计。2 概念设计中的术语:1)实体:客观存在,可以相互区别的事物称为实体。2)实体集:性质相同的同类实体的集合。3)属性:实体有很多特性,每一个特性称为属性。4)实体标识符(关键码或键):能惟一标识实体的属性或属性集。以上概念均有

3、类型和值之分。3 逻辑设计中的术语:1)字段(数据项):标记实体属性的命名单位称为字段或数据项。2)记录:字段的有序集合。3)文件:同一类记录的集合。4)关键码:能惟一标识文件中每个记录的字段或字段集。以上概念均有类型和值之分。4 概念设计和逻辑设计中术语的对应关系:概念设计 逻辑设计 实体 记录 属性 字段(数据项)实体集 文件 实体标识符 关键码 5 实体之间联系的元数:与一个联系有关的实体集个数。常用二元联系。二元联系的类型有三种:一对一联系、一对多联系、多对多联系。6 一对一联系:如果实体集 E1 中每个实体至多和实体集 E2 中的一个实体有联系,反之亦然,那么实体集 E1 和 E2

4、的联系称为“一对一联系”,记为“1:1”。7 一对多联系:如果实体集 E1 中每个实体与实体集 E2 中任意个(零个或多个)实体间有联系,而 E2 中每个实体至多和 E1 中一个实体有联系,那么称 E1对 E2 的联系是“一对多联系”,记为“1:N”。8 多对多联系:如果实体集 E1 中每个实体可以与实体集 E2 中任意个(零个或多个)实体间有联系,反之亦然,那么称 E1 和 E2 的联系是“多对多联系”,记为“M:N”。三、数据抽象的级别 1 数据模型:描述数据库的结构和定义,对现实世界的数据进行抽象。2 从现实世界的信息到数据库存储的数据以及用户使用的数据是一个逐步抽象过程,根据数据抽象的

5、级别定义了四种模型:概念模型、逻辑模型、外部模型和内部模型。3 概念模型:表达用户需求观点的数据全局逻辑结构的模型。4 逻辑模型:表达计算机实现观点的 DB 全局逻辑结构的模型。5 外部模型:表达用户使用观点的 DB 局部逻辑结构的模型。6 内部模型:表达 DB 物理结构的模型。7 数据抽象的过程、即数据库设计的过程具体步骤:1)根据用户需求,设计数据库的概念模型;2)根据转换规则,把概念模型转换成数据库的逻辑模型;3)根据用户的业务特点,设计不同的外部模型,给程序员使用;4)数据库实现时,要根据逻辑模型设计其内部模型。通常分为概念设计、逻辑设计(2 和 3 步)和物理设计三个阶段。8 常用的

6、概念模型是实体联系(ER)模型,ER 模型主要用 ER 图来表示。9 逻辑模型的分类:层次模型、网状模型、关系模型等。10 层次模型:用树型(层次)结构表示实体及实体间联系的数据模型。11 1969 年,美国 IBM 公司的 IMS 系统是典型的层次模型系统。12 网状模型:用有向图结构表示实体及实体间联系的数据模型。13 1969 年,CODASYL 组织提出 DBTG 报告中的数据模型是网状模型的主要代表。14 关系模型:是由若干个关系模式组成的集合。关系模式即记录类型,它的实例称为关系,每个关系实际上是一张二维表格。15 1970 年,美国 IBM 公司的 E.F.Codd 连续发表论文

7、,提出关系模型,奠定了关系数据库的理论基础。关系数据库是目前的主流数据库。16 外部模型中的模式称为视图。17 三级模式:从用户(或应用程序)到数据库之间,DB 的数据结构描述有三个层次:1)外模式:用户与数据库系统的接口,是用户用到的那部分数据的描述。外模式由若干个记录类型组成。2)逻辑模式:是数据库中全部数据的整体逻辑结构的描述。3)内模式:是数据库在物理存储方面的描述。注意:外模式是逻辑模式的子集。18 两级映像:1)外模式/逻辑模式映像:存在于外模式和逻辑模式之间,用于定义外模式和逻辑模式之间的对应性。2)逻辑模式/内模式映像:存在于逻辑模式和内模式之间,用于定义逻辑模式和内模式之间的

8、对应性。19 数据库系统的三级模式、两级映像结构使数据库系统达到了高度的数据独立性。20 数据独立性:是指应用程序与数据库的数据结构之间相互独立,在修改数据结构时,尽可能不修改应用程序。分为逻辑数据独立性和物理数据独立性。21 逻辑数据独立性:如果数据库的逻辑模式要修改,那么只要对外模式/逻辑模式映像作相应的修改,可以使外模式和应用程序尽可能保持不变。这样就认为数据库达到了逻辑数据独立性。22 物理数据独立性:如果数据库的内模式要修改,即数据库的物理结构有所变化,那么只要对逻辑模式/内模式映像作相应的修改,可以使逻辑模式尽可能保持不变。也就是对内模式的修改尽量不影响逻辑模式,当然对外模式和应用

9、程序的影响更小,这样就认为数据库达到了物理数据独立性。四、数据库管理系统(DBMS)1DBMS 的主要功能:数据库的定义功能(DBMS 提供 DDL 定义数据库的三级模式、两级映像等)、数据库的操纵功能(DBMS 提供 DML 实现对数据的操作,基本的数据操作有检索和更新两类)、数据库的保护功能、数据库的维护功能、数据字典。五、数据库系统(DBS)1DBS 的组成:是数据库、硬件、软件和数据库管理员的集合体。2软件包括 DBMS、OS、各种主语言和应用开发支撑软件等程序。其中,DBMS 是 DBS 的核心软件,要在 OS 支持下才能工作。3数据库管理员(DBA):是控制数据整体结构的一组人员,

10、负责 DBS 的正常运行,承担创建、监控和维护数据库结构的责任。第二章 数据库设计和 ER 模型 要求、目标:了解和掌握数据库应用系统设计的全过程,掌握 ER 模型和关系模型的基本概念,掌握概念设计中 ER 模型的设计方法,掌握逻辑设计中 ER 模型向关系模型转换的方法。一、数据库系统生存期 1数据库系统生存期:数据库应用系统从开始规划、设计、实现、维护到最后被新的系统取代而停止使用的整个期间。2数据库系统生存期分七个阶段:规划、需求分析、概念设计、逻辑设计、物理设计、实现、运行维护。3规划阶段三个步骤:系统调查、可行性分析、确定数据库系统总目标。4需求分析阶段:主要任务是系统分析员和用户双方

11、共同收集数据库系统所需要的信息内容和用户对处理的需求,并以需求说明书的形式确定下来。5概念设计阶段:产生反映用户单位信息需求的概念模型。与硬件和 DBMS无关。6逻辑设计阶段:将概念模型转换成 DBMS 能处理的逻辑模型。外模型也将在此阶段完成。7物理设计阶段:对于给定的基本数据模型选取一个最适合应用环境的物理结构的过程。数据库的物理结构主要指数据库的存储记录格式、存储记录安排和存取方法。8数据库的实现:包括定义数据库结构、数据装载、编制与调试应用程序、数据库试运行。二、ER 模型的基本概念 1 ER 模型的基本元素是:实体、联系和属性。2 实体:是一个数据对象,指应用中可以区别的客观存在的事

12、物。实体集:是指同一类实体构成的集合。实体类型:是对实体集中实体的定义。一般将实体、实体集、实体类型统称为实体。3 联系:表示一个或多个实体之间的关联关系。联系集:是指同一类联系构成的集合。联系类型:是对联系集中联系的定义。一般将联系、联系集、联系类型统称为联系。4 同一个实体集内部实体之间的联系,称为一元联系;两个不同实体集实体之间的联系,称为二元联系,以此类推。5 属性:实体的某一特性称为属性。在一个实体中,能够惟一标识实体的属性或属性集称为实体标识符。6 ER 模型中,方框表示实体、菱形框表示联系、椭圆形框表示属性、实体与联系、实体与其属性、联系与其属性之间用直线连接。实体标识符下画横线

13、。联系的类型要在直线上标注。注意:联系也有可能存在属性,但联系本身没有标识符。例:假设一个学生可选多门课程,而一门课程又有多个学生选修,一个教师可讲多门课程,一门课程至多只有一个教师讲授。ER 图如下:7 概念设计三个步骤:设计局部 ER 模型、设计全局 ER 模型和全局 ER 模型的优化。三、关系模型的基本概念 1关系模型的定义:用二维表格表示实体集,用关键码表示实体之间联系的数据模型。2在关系模型中,字段称为属性,字段值称为属性值,记录类型称为关系模式。记录称为元组,元组的集合称为关系或实例。有时习惯称关系为表或表格,元组为行,属性为列。关系中属性个数称为元数,元组个数称为基数。3关键码(

14、简称键):由一个或多个属性组成。4超键:在关系中能惟一标识元组的属性集称为关系模式的超键。5候选键:不含有多余属性的超键。6主键:用户选作元组标识的候选键。一般如不加说明,键是指主键。7外键:如果模式 R 中属性集 K 是其他模式的主键,那么 K 在模式 R 中称为外键。8值域:关系中每一个属性都有一个取值范围,称为属性的值域。每一个属性对应一个值域,不同的属性可对应于同一值域。9关系的定义:关系是一个属性数目相同的元组的集合。10关系的性质:关系是一种规范化了的二维表格。1)关系中每一个属性值都是不可分解的;2)关系中不允许出现重复元组;3)关系没有行序;4)元组中的属性在理论上也是无序的,

15、但使用时按习惯考虑列的顺序。11关系数据库中的数据与更新操作必须遵循三类完整性规则:实体完整性规则、参照完整性规则、用户定义的完整性规则。12实体完整性规则:要求关系中元组在组成主键的属性上不能有空值。13参照完整性规则:如果属性集 K 是关系模式 R1 的主键,K 也是关系模式R2 的外键,那么在 R2 关系中,K 的取值只允许两种可能,或者为空值,或者等于R1 关系中某个主键值。这条规则的实质是“不允许引用不存在的实体”。其中,R1 称为参照关系;R2 称为依赖关系。注意:这条规则在具体使用时,有三点变通:1)外键和相应的主键可以不同名,只要定义在相同值域上即可;2)R1 和 R2 可以是

16、同一个关系模式,此时表示了同一个关系中不同元组之间的联系;3)外键值是否允许空,应视具体问题而定。14用户定义的完整性规则:用户针对具体的数据约束,设置的完整性规则,由系统来检验实施。四、ER 模型到关系模型的转换 1ER 图转换成关系模式集的算法:1)实体类型的转换:将每个实体类型转换成一个关系模式,实体的属性即为关系模式的属性,实体标识符即为关系模式的键。2)联系类型的转换:主要掌握二元联系类型的转换。a)若实体间联系是 1:1,可以在两个实体类型转换成的关系模式中任意一个关系模式的属性中加入另一个关系模式的键(作为外键)和联系类型的属性。b)若实体间联系是 1:N,则在 N 端实体类型转

17、换成的关系模式中加入 1 端实体类型的键(作为外键)和联系类型的属性。c)若实体间联系是 M:N,则将联系类型也转换成关系模式,其属性为两端实体类型的键(作为外键)加上联系类型的属性,而键为两端实体键的组合。例:下面是教学管理的一个可能的 ER 图。图中,有三个实体类型:系、教师和课程;有四个联系类型:主管、聘用、开设和任教。根据转换算法,把该图转换成关系模式集的步骤如下:第一步:把三个实体类型转换成三个关系模式(注意关系模式的表示方法):系(系编号,系名,电话)教师(教工号,姓名,性别,职称)课程(课程号,课程名,学分)第二步:对于 1:1 联系,可以在“系”模式中加入教工号(教工号为外键)

18、。对于 1:N 联系“聘用”,可以在“教师”模式中加入系编号和聘期两个属性(系编号为外键);对于 1:N 联系“开设”,可以在“课程”模式中加入系编号(系编号为外键)。这样第一步得到的三个模式改变成如下形式(注意:外键通常使用波浪线表示):系(系编号,系名,电话,主管人的教工号)教师(教工号,姓名,性别,职称,系编号,聘期)课程(课程号,课程名,学分,系编号)第三步:对于 M:N 联系“任教”,则生成一个新的关系模式:任教(教工号,课程号,教材)这样,转换成的四个关系模式如下:系(系编号,系名,电话,主管人的教工号)教师(教工号,姓名,性别,职称,系编号,聘期)课程(课程号,课程名,学分,系编

19、号)任教(教工号,课程号,教材)2采用 ER 模型的逻辑设计步骤 1)导出初始关系模式集:把概念设计的结果(即全局 ER 模型)转换成初始关系模式集。2)规范化处理 3)模式评价 4)模式修正 5)设计外模式 第三章 关系模式设计理论 要求、目标:了解关系数据库规范化理论及其在数据库设计中的作用,重点是函数依赖和范式,要求掌握这些概念并能运用它们来进行模式分解。一、关系模式的设计准则 1数据冗余:同一个数据在系统中多次重复出现。2关系模式设计不当引起的异常问题:数据冗余、操作异常(包括修改异常、插入异常和删除异常)3关系模式的非形式化设计准则 1)关系模式的设计应尽可能只包含有直接联系的属性,

20、不要包含有间接联系的属性。也就是,每个关系模式应只对应于一个实体类型或一个联系类型。2)关系模式的设计应尽可能使得相应关系中不出现插入异常、删除和修改等操作异常现象。3)关系模式的设计应尽可能使得相应关系中避免放置经常为空值的属性。4)关系模式的设计应尽可能使得关系的等值连接在主键和外键的属性上进行,并且保证以后不会生成额外的元组。4习惯使用的一些符号:1)英文字母表首部的大写字母“A,B,C,”表示单个的属性。2)英文字母表尾部的大写字母“,U,V,W,X,Y,Z”表示属性集。3)大写字母 R 表示关系模式,小写字母 r 表示其关系。4)关系模式的简化表示方法:R(A,B,C,)或 R(AB

21、C)5)属性集 X 和 Y 的并集简写为 XY。二、函数依赖 1函数依赖(FD)的定义:设有关系模式 R(U),X 和 Y 是属性集 U 的子集,函数依赖是形成 XY 的一个命题,只要 r 是 R 的当前关系,对 r 中任意两个元组 t 和 s,都有 tX=sX蕴涵 tY=sY,那么称 FD XY 在关系模式 R(U)中成立。说明:1)tX表示元组 t 在属性集 X 上的值,其余类同。2)XY 读作“X 函数决定 Y”或“Y 函数依赖于 X”。3)FD 是对关系模式 R 的一切可能的关系 r 定义的。对于当前关系 r 的任意两个元组,如果 X 值相同,则要求 Y 值也相同,即有一个 X 值就有

22、一个 Y 值与之对应,或者说 Y 值由 X 值决定。例:设关系模式 R(ABCD),在 R 的关系中,属性值间有这样的联系:A 值与B 值有一对多联系;C 值与 D 值之间有一对一联系。试根据这些规则写出相应的函数依赖。BA CD DC 2如果 XY 和 YX 同时成立,则可记为:X?Y 3FD 的逻辑蕴涵:设 F 是在关系模式 R 上成立的函数依赖的集合,XY 是一个函数依赖。如果对于 R 的每个满足 F 的关系 r 也满足 XY,那么称 F 逻辑蕴涵 XY,记为 F|=XY。4设 F 是函数依赖集,被 F 逻辑蕴涵的函数依赖全体构成的集合,称为函数依赖集 F 的闭包,记为 F+。即 F+=

23、XY|F|=XY 5FD 的推理规则(Armstrong 公理)设 U 是关系模式 R 的属性集,F 是 R 上成立的只涉及到 U 中属性的函数依赖集。1)自反性:若 YXU,则 XY 在 R 上成立。2)增广性:若 XY 在 R 上成立,且 ZU,则 XZYZ 在 R 上成立。3)传递性:若 XY 和 YZ 在 R 上成立,则 XZ 在 R 上成立。6FD 的其他五条推理规则:1)合并性:XY,XZ|=XYZ 2)分解性:XY,ZY|=XZ 3)伪传递性:XY,WYZ|=WXZ 4)复合性:XY,WZ|=WXYZ 5)XY,WZ|=X(W-Y)YZ 7对于 FD XY,如果 YX,那么称 X

24、Y 是一个“平凡的 FD”,否则称为“非平凡的 FD”。通常研究非平凡 FD。例:XX,X,,XYX 都是平凡函数依赖;XXY 则是非平凡函数依赖。8函数依赖是关键码概念的推广。设关系模式 R 的属性集是 U,X 是 U 的一个子集。如果 XU 在 R 上成立,那么称 X 是 R 的一个超键。如果 XU 在 R 上成立,但对于 R 的任一真子集 X1 都有X1U 不成立,那么称 X 是 R 的一个候选键。在关系模式设计理论中,键通常是指候选键。9属性集的闭包 10设 F 是属性集 U 上的 FD 集,X 上 U 的子集,那么(相对于)属性集 X 的闭包用 X+表示,它是一个从 F 集使用 FD

25、 推理规则推出的所有满足 XA 的属性 A的集合:X+=属性 A|F|=XA 11XY 能用 FD 推理规则推出的充分必要条件是 Y X+,从而避开求 F+,使问题得到简化。12求属性集 X 相对于 FD 集 F 的闭包 X+的算法:X+=X;do oldX+:=X+;for F 中每个 FD YZ do if Y X+then X+:=X+Z;while(X+!=oldX+);例:属性集 U 为 ABCD,FD 集为AB,BC,DB。求 A+、(AD)+和 (BD)+A+=ABC (AD)+=ABCD (BD)+=BCD 13如果关系模式 R(U)上的两个函数依赖集 F 和 G,有 F+=G

26、+,则称 F 和 G是等价的函数依赖集。三、关系模式的分解特性 1关系模式的分解:设有关系模式 R(U),属性集为 U,而 R1,R2,Rk 都是 U 的子集,并且有 R1R2Rk=U。关系模式 R1,R2,Rk 的集合用 表示,=R1,R2,Rk。用 代替 R 的过程称为关系模式的分解。这里 称为 R 的一个分解,也称为数据库模式。一般把上述的 R 称为泛关系模式,R 对应的当前值称为泛关系。数据库模式 对应的当前值称为数据库实例,它由数据库模式中的每一个关系模式的当前值组成。我们用=表示。因此,在计算机中数据并不是存储在泛关系 r 中,而是存储在数据库 中。2 和 r 是否等价,即是否表示

27、同样的数据。这个问题用“无损分解”特性表示。在模式 R 上有一个 FD 集 F,在 的每一个模式 Ri 上有一个 FD 集 Fi,那么F1,F2,Fk与 F 是否等价。这个问题用“保持依赖”特性表示。四、范式 1范式:衡量关系模式好坏的标准。2数据库设计中最常用的是 3NF 和 BCNF。3第一范式(1NF):如果关系模式 R 的每个关系 r 的属性值都是不可分的原子值,那么称 R 是第一范式的模式。满足 1NF 的关系称为规范化的关系,否则称为非规范化的关系。1NF 是关系模式应具备的最起码的条件。4局部依赖和完全依赖:对于 FD WA,如果存在 XW 有 XA 成立,那么称 WA 是局部依

28、赖(A 局部依赖于 W);否则称 WA 是完全依赖。5主属性和非主属性:如果 A 是关系模式 R 的候选键中的属性,那么称 A 是R 的主属性;否则称 A 是 R 的非主属性。6第二范式(2NF):如果关系模式是 1NF,且每个非主属性完全函数依赖于候选键,那么称 R 是第二范式(2NF)的模式。7分解成 2NF 模式集的算法:设关系模式 R(U),主键是 W,R 上还存在 FD XZ,并且 Z 是非主属性和 X W,那么 WZ 就是一个局部依赖。此时应把 R 分解成两个模式:R1(XZ),主键是 X;R2(Y),其中 Y=U-Z,主键仍是 W,外键是 X(参照 R1)。如果 R1 和 R2

29、还不是 2NF,则重复上述过程,一直到数据库模式中的每一个关系模式都是 2NF 为止。8如果 XY,YA,且 YX 和 AY,那么称 XA 是传递依赖(A 传递依赖于X)。9第三范式(3NF):如果关系模式 R 是 2NF,且每个非主属性都不传递依赖于 R 的候选键,那么称 R 是第三范式(3NF)的模式。10分解成 3NF 模式集的算法:设关系模式 R(U),主键是 W,R 上还存在 FD XZ。并且 Z 是非主属性,ZX,X不是候选键,这样 WZ 就是一个传递依赖。此时应把 R 分解成两个模式:R1(XZ),主键是 X;R2(Y),其中 Y=U-Z,主键仍是 W,外键是 X(参照 R1)。

30、如果 R1 和 R2 还不是 3NF,则重复上述过程,一直到数据库模式中的每一个关系模式都是 3NF 为止。11如果 R 是 3NF 模式,那么 R 也是 2NF 模式。如果 R 是 2NF 模式,那么 R也是 1NF 模式。12BC 范式(BCNF):如果关系模式 R 是 1NF,且每个属性都不传递依赖于R 的候选键,那么称 R 是 BCNF 的模式。13如果 R 是 BCNF 模式,那么 R 也是 3NF 模式。14分解成 BCNF 模式集的算法能保持无损分解,但不一定能保持 FD 集。而分解成 3NF 模式集的算法既能保持无损分解,又能保持 FD 集。15关系模式由 1NF 分解为 2N

31、F,消除了非主属性对键的局部函数依赖;由2NF 分解为 3NF,消除了非主属性对键的传递函数依赖;而 BCNF 则消除了每一属性对键的传递函数依赖。16关系模式设计理论主要用于数据库的逻辑设计过程中。第四章 关系运算 要求、目标:理解关系模型的运算理论,了解关系演算和查询优化,熟练掌握关系代数运算,掌握关系代数表达式的构造方法。一、简介 1关系模型的三个组成部分:数据结构、数据操纵和数据完整性规则。2数据结构:数据库中全部数据及其相互联系都被组织成“关系”(二维表格)的形式。关系模型基本的数据结构是关系。3数据操纵:关系模型提供一组完备的高级关系运算,以支持对数据库的各种操作。关系运算分成关系

32、代数和关系演算两类。4数据完整性规则:数据库中数据必须满足实体完整性、参照完整性和用户定义的完整性等三类完整性规则。5关系数据库的数据操纵语言(DML)的语句分成查询语句和更新语句两大类。查询语句用于描述用户的各种检索要求;更新语句用于描述插入、删除、修改等操作。前者是基础。6关系查询语言分两类:关系代数语言(查询操作以集合操作为基础)和关系演算语言(查询操作以谓词演算为基础)二、关系代数 1关系代数中的操作可以分为两类:1)传统的集合操作:并、差、交、笛卡儿积(乘法)、笛卡儿积的逆运算(除法)2)扩充的关系操作:投影、选择、连接等。2关系代数的五个基本操作:并、差、笛卡儿积、投影和选择。3并

33、:设关系 R 和 S 具有相同的关系模式,R 和 S 的并是由属于 R 或属于 S的元组构成的集合,记为 RS。4差:设关系 R 和 S 具有相同的关系模式,R 和 S 的差是由属于 R 但不属于S 的元组构成的集合,记为 R-S。5笛卡儿积:设关系 R 和 S 的元数分别为 r 和 s,R 和 S 的笛卡儿积是一个(r+s)元的元组集合,每个元组的前 r 个分量(属性值)来自 R 的一个元组,后 s个分量来自 S 的一个元组。若 R 有 m 个元组,S 有 n 个元组,则 RS 有 mn 个元组。6投影:对一个关系进行垂直分割,消去某些列,并重新安排列的顺序。例:3,1(R)下标也可以用属性

34、名表示。7选择:对关系做水平分割,即选取符合条件的元组。表示为:F(R)从R 中挑选满足公式 F 为真的元组所构成的集合。F 中有两种成分:1)运算对象:常数(用引号括起来)、元组分量(属性名或列的序号)2)运算符:算术比较运算符(、也称为 符)、逻辑运算符(、)例:两个关系 R 和 S 如下:求 RS、R-S、RS、C,A(R)、B4(R)。关系 R 关系 S A B C 1 2 3 4 5 6 7 8 9 A B C 2 4 6 4 5 6 答案:A B C 1 2 3 7 8 9 RS R-S A B C 1 2 3 4 5 6 7 8 9 2 4 6 RS C,A(R)R.A R.B

35、R.C S.A S.B S.C 1 2 3 2 4 6 1 2 3 4 5 6 4 5 6 2 4 6 4 5 6 4 5 6 7 8 9 2 4 6 7 8 9 4 5 6 C A 3 1 6 4 9 7 B4(R)A B C 4 5 6 7 8 9 8.交:设关系 R 和 S 具有相同的关系模式,R 和 S 的交是由属于 R 又属于 S的元组构成的集合,记为 RS。RS=R-(R-S)或 RS=S-(S-R)ij 9连接:从关系 R 和 S 的笛卡儿积中选取属性值满足某一 操作的元组,记为RS i 和 j 分别是关系 R 和 S 中的第 i 个和第 j 个属性名或序号。连接是由笛卡儿积和选

36、择操作组合而成。如果 为“=”,该连接操作称为“等值连接”。2=1 例:已知关系 R 和 S,求 RS 关系 R 关系 S A B C 1 2 3 4 5 6 7 2 9 D E 2 4 5 6 7 8 2=1 答案:RS A B C D E 1 2 3 2 4 4 5 6 5 6 7 2 9 2 4 10自然连接:公共属性只出现一次的等值(公共属性值全部相等)连接。记为:RS 一般自然连接使用在 R 和 S 有公共属性的情况中。如果两个关系没有公共属性,那么其自然连接就转化为笛卡儿积操作。例:已知关系 R 和 S,求 RS 关系 R 关系 S A B C 2 4 6 3 5 7 7 4 6

37、5 4 7 B C D 5 7 3 4 6 2 5 7 9 5 6 3 答案:A B C D 2 4 6 2 3 5 7 3 3 5 7 9 7 4 6 2 11除法:设关系 R(X,Y)和关系 S(Y,Z),则 RS 定义为:R(X,Y)S(Y,Z)=X(R)-X(X(R)Y(S)-R)例:关系 R 是学生选修课程的情况,COURSE 表示课程情况,而操作RCOURSE 表示至少选修 COURSE 中列出课程的学生名单。R COURSE S#SNAME C#S1 BAO C1 S1 BAO C2 S1 BAO C3 S1 BAO C4 S2 GU C1 S2 GU C2 S3 AN C2 S

38、4 LI C4 S4 LI C2 C#CNAME C2 OS C4 MIS RCOURSE S#SNAME S1 BAO S4 LI 12关系代数表达式:由五个基本操作经过有限次复合的式子称为代数表达式。这种表达式的运算结果仍是一个关系。可以用关系代数表达式表示各种数据查询操作。例:教学数据库中的四个关系如下:教师关系 T(T#,TNAME,TITLE)课程关系 C(C#,CNAME,T#)学生关系 S(S#,SNAME,AGE,SEX)选课关系 SC(S#,C#,SCORE)使用关系代数表达式表达下列每个查询语句。1)检索学习课程号为 C2 课程的学生学号与成绩。S#,SCORE(C#=C2

39、(SC)或 1,3(2=C2(SC)2)检索学习课程号为 C2 课程的学生学号和姓名。S#,SNAME(C#=C2(SSC)3)检索至少选修 LIU 老师所授课程中一门课程的学生学号与姓名。S#,SNAME(TNAME=LIU(SSCCT)4)检索选修课程号为 C2 或 C4 课程的学生学号。S#(C#=C2 C#=C4(SC)5)检索至少选修课程号为 C2 和 C4 课程的学生学号。1(1=4 2=C2 5=C4(SCSC)6)检索不学 C2 课程的学生姓名与年龄。SNAME,AGE(S)-SNAME,AGE(C#=C2(SSC)7)检索学习全部课程的学生姓名。SNAME(S(S#,C#(S

40、C)C#(C)8)检索所学课程包含学号为 S3 学生所学课程的学生学号。S#,C#(SC)C#(S#=S3(SC)总结:查询语句的关系代数表达式的一般形式是:(RS)或(RS)即首先把查询涉及到的关系取来,执行笛卡儿积或自然连接操作得到一张大的表格,然后对大表格执行水平分割(选择操作)和垂直分割(投影操作)。但这种形式不适用于否定或全部值的查询。这时要用差或除法操作。13外连接:如果 R 和 S 做自然连接时,把原该舍弃的元组也保留在新关系中,同时在这些元组新增加的属性上填上空值(Null),这种操作称为“外连接”操作。14左外连接:如果 R 和 S 做自然连接时,只把 R 中原该舍弃的元组放

41、到新关系中,那么这种操作称为“左外连接”操作。15右外连接:如果 R 和 S 做自然连接时,只把 S 中原该舍弃的元组放到新关系中,那么这种操作称为“右外连接”操作。16外部并:两个关系 R 和 S 做并操作时,如果它们的关系模式不同,构成的新关系的属性由 R 和 S 的所有属性组成(公共属性只取一次),新关系的元组由属于 R 或属于 S 的元组构成,同时元组在新增加的属性上填上空值,那么这种操作称为“外部并”操作。三、关系演算 关系演算又可分为元组关系演算和域关系演算,前者以元组为变量,后者以属性(域)为变量。四、关系代数表达式的优化 1目的:提高系统效率。2三条启发式规则:1)尽可能早地执

42、行选择操作;2)尽可能早地执行投影操作;3)避免直接做笛卡儿积,把笛卡儿积操作之前和之后的一连串选择和投影合并起来一起做。第五章 SQL 语言 要求、目标:SQL 语言是关系数据库的标准语言,是本课程的一个重点。本章总的要求是:全面掌握、深刻理解、熟练应用。要求了解嵌入式 SQL 和存储过程,掌握 SQL 定义语句的应用,熟练掌握 SQL查询语句、视图、SQL 更新语句的应用。一、SQL 简介 1SQL:结构化查询语言,关系数据库的标准语言。2SQL 数据库的体系结构 SQL 数据库的体系结构基本上也是三级结构,但术语与传统的关系模型术语不同。在 SQL 中,关系模式称为“基本表”,存储模式称

43、为“存储文件”,子模式称为“视图”,元组称为“行”,属性称为“列”。SQL 数据库的体系结构要点:1)一个 SQL 模式是表和约束的集合。2)一个表由行集构成,一行是列的序列,每列对应一个数据项。3)表有三种类型:基本表、视图和导出表。基本表:实际存储在数据库中的表。视图:由若干基本表或其他视图构成的表的定义。导出表:执行了查询时产生的表。4)一个基本表可以跨一个或多个存储文件,一个存储文件也可以存放一个或多个基本表。每个存储文件与外部存储器上一个物理文件对应。5)用户可以用 SQL 语句对基本表和视图进行查询等操作。在用户看来,两者一样,都是表。6)SQL 语句可嵌在 C、FORTRAN 等

44、主语言的程序中使用,也可在交互环境下供终端用户使用。3SQL 的组成 核心 SQL 主要有四个部分:1)数据定义语言,即 DDL,用于定义 SQL 模式、基本表、视图、索引等结构。2)数据操纵语言,即 SQL DML。数据操纵分成数据查询和数据更新两类。而数据更新又分成插入、删除和修改三种操作。3)嵌入式 SQL 语言的使用规定 4)数据控制语言,即 SQL DCL,这一部分包括对基本表和视图的授权、完整性规则的描述、事务控制等内容。4SQL 的特点 1)SQL 具有十分灵活和强大的查询功能。2)SQL 不是一个应用开发语言,它只提供对数据库的操作功能。但 SQL 既可作为交互式语言独立使用,

45、也可作为子语言嵌入在主语言中使用,成为应用开发语言的一部分。3)SQL 是国际标准语言,有利于各种数据库之间交换数据,有利于程序的移植,有利于实现高度的数据独立性,有利于实现标准化。4)SQL 完成核心功能只用 9 个英语动词,语法结构接近英语,容易学习和使用。二、SQL 的数据定义 1SQL 模式的创建 在 SQL 中,一个 SQL 模式定义为基本表的集合。一个 SQL 模式由模式名和模式拥有者的用户名或账号来确定,并包含模式中每一个元素(基本表、视图、索引等)的定义。创建 SQL 模式,就是定义了一个存储空间。创建模式语法:CREATE SCHEMA AUTHORIZATION 2SQL

46、模式的撤销 语法:DROP SCHEMA CASCADE|RESTRICT 说明:CASCADE(级联式)方式:执行 DROP 语句时,把 SQL 模式及其下属的基本表、视图、索引等所有元素全部撤销。RESTRICT(约束式)方式:只有当 SQL 模式中没有任何下属元素时,才能撤销 SQL 模式,否则拒绝执行 DROP 语句。3SQL 的基本数据类型 1)数值型 INTEGER(或 INT)长整数 SMALLINT 短整数 REAL 浮点数 DOUBLE PRECISION 双精度浮点数 FLOAT(n)浮点数,精度至少为 n 位数字 NUMERIC(p,d)定点数,有 p 位数字(不包括符号

47、、小数点)组成,小数点后有 d 位数字,也可写成 DECIMAL(p,d)或 DEC(p,d)2)字符串型 CHAR(n)长度为 n 的定长字符串 VARCHAR(n)具有最大长度为 n 的变长字符串 3)位串型 BIT(n)长度为 n 的二进制位串 BIT VARYING(n)最大长度为 n 的变长二进制位串 4)时间型 DATE 日期,包含年、月、日,形为 YYYY-MM-DD TIME 时间,包含时、分、秒,形为 HH:MM:SS 4基本表结构的创建 语法:CREATE TABLE (,)说明:完整性约束常用以下几种子句:主键子句(PRIMARY KEY)、外键子句(FOREIGN KE

48、Y)等 NOT NULL:表示不允许某一列的值为空值 例:对于教学数据库中的四个关系:教师关系 T(T#,TNAME,TITLE)课程关系 C(C#,CNAME,T#)学生关系 S(S#,SNAME,AGE,SEX)选课关系 SC(S#,C#,SCORE)创建基本表。CREATE TABLE T (T#CHAR(4)NOT NULL,TNAME CHAR(8)NOT NULL,TITLE CHAR(10),PRIMARY KEY(T#)CREATE TABLE C (C#CHAR(4)NOT NULL,CNAME CHAR(10)NOT NULL,T#CHAR(4),PRIMARY KEY(C

49、#),FOREIGN KEY(T#)REFERENCES T(T#)CREATE TABLE S (S#CHAR(4)NOT NULL,SNAME CHAR(8)NOT NULL,AGE SMALLINT,SEX CHAR(2),PRIMARY KEY(S#)CREATE TABLE SC (S#CHAR(4),C#CHAR(4),SCORE SMALLINT,PRIMARY KEY(S#,C#),FOREIGN KEY(S#)REFERENCES S(S#),FOREIGN KEY(C#)REFERENCES C(C#)5基本表结构的修改 1)增加新的列 语法:ALTER TABLE ADD

50、 2)删除原有的列 语法:ALTER TABLE DROP CASCADE|RESTRICT 说明:CASCADE 方式表示在基本表中删除某列时,所有引用到该列的视图和约束也要一起自动地被删除;RESTRICT 方式表示在没有视图或约束引用该属性时,才能在基本表中删除该列,否则拒绝删除。3)修改原有列的类型、宽度 语法:ALTER TABLE MODIFY 6基本表的撤销 语法:DROP TABLE CASCADE|RESTRICT 7索引的创建 语法:CREATE UNIQUE INDEX ON ()说明:UNIQUE 表示每个索引值对应惟一的数据记录。索引在用户查询时会自动起作用。一个索引

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

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

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