版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、数据库系统概论笔记数据 (Data) :是数据库中存储的基本对象数据的定义: 描述事物的符号记录数据的种类: 文字、图形、图象、声音等数据的特点: 数据与其语义是不可分的数据库 (Database, 简称 DB) :是长期储存在计算机内、有组织的、可共享的大量数据集合数据库的特征:数据按一定的数据模型组织、描述和储存可为各种用户共享冗余度较小数据独立性较高易扩展数据库管理系统( Database Management System ,简称 DBMS ):是位于用户与操作系统之间的一层数据管理软件。DBMS 的用途 :科学地组织和存储数据、高效地获取和维护数据DBMS 的主要功能 :数据库的运行
2、管理保证数据的安全性、完整性、多用户对数据的并发使用发生故障后的系统恢复数据库的建立和维护功能(实用程序 )数据库数据批量装载数据库转储介质故障恢复数据库的重组织性能监视等数据库系统( Database System ,简称 DBS )是指在计算机系统中引入数据库后的系统构成。数据库系统的构成由数据库、数据库管理系统(及其开发工具) 、应用系统、数据库管理员(和用户)构成。数据管理对数据进行分类、组织、编码、存储、检索和维护,是数据处理的中心问题数据模型这个工具来抽象、表示和处理现实世界中的数据和信息。数据模型应满足三方面要求能比较真实地模拟现实世界容易为人所理解便于在计算机上实现数据模型分成
3、两个不同的层次(1)概念模型也称信息模型,它是按用户的观点来对数据和信息建模。(2)数据模型主要包括网状模型、层次模型、关系模型等,它是按计算机系统的观点对数据建模。客观对象的抽象过程- 两步抽象现实世界中的客观对象抽象为概念模型;把概念模型转换为某一DBMS 支持的数据模型。数据结构对象类型的集合数据结构是对系统静态特性的描述两类对象与数据类型、内容、性质有关的对象与数据之间联系有关的对象数据操作对数据库中各种对象(型)的实例(值)允许执行的操作及有关的操作规则数据操作的类型检索更新(包括插入、删除、修改)数据模型对操作的定义操作的确切含义操作符号操作规则(如优先级)实现操作的语言数据操作是
4、对系统动态特性的描述。数据模型对约束条件的定义反映和规定本数据模型必须遵守的基本的通用的完整性约束条件。提供定义完整性约束条件的机制,以反映具体应用所涉及的数据必须遵守的特定的语义约束条件 。信息世界中的基本概念(1) 实体( Entity )客观存在并可相互区别的事物称为实体。(2) 属性( Attribute )实体所具有的某一特性称为属性。一个实体可以由若干个属性来刻画。(3) 码( Key )唯一标识实体的属性集称为码。(4) 域( Domain )属性的取值范围称为该属性的域。(5) 实体型( Entity Type )用实体名及其属性名集合来抽象和刻画同类实体称为实体型(6) 实体
5、集( Entity Set )同型实体的集合称为实体集联系( Relationship )现实世界中事物内部以及事物之间的联系在信息世界中反映为实体内部的联系和实体之间的联系实体型间联系两个实体型一对一联系(1:1)三个实体型一对多联系(1:n)一个实体型多对多联系(m:n )两个实体型间的联系一对一联系如果对于实体集A 中的每一个实体, 实体集 B 中至多有一个实体与之联系,反之亦然,则称实体集A 与实体集B 具有一对一联系。记为1:1。一对多联系如果对于实体集A 中的每一个实体,实体集 B 中有 n 个实体( n 0)与之联系, 反之,对于实体集B 中的每一个实体,实体集A 中至多只有一个
6、实体与之联系,则称实体集A 与实体集 B 有一对多联系记为1:n多对多联系(m:n)如果对于实体集A 中的每一个实体,实体集 B 中有 n 个实体( n 0)与之联系, 反之,对于实体集B 中的每一个实体,实体集A 中也有 m 个实体( m 0)与之联系,则称实体集 A 与实体 B 具有多对多联系。记为m:n概念模型的表示方法实体联系方法(E-R 方法 )用 E-R 图来描述现实世界的概念模型E-R 方法也称为E-R 模型常用数据模型非关系模型层次模型( Hierarchical Model)网状模型 (Network Model )数据结构:以基本层次联系为基本单位基本层次联系:两个记录以及
7、它们之间的一对多(包括一对一 )的联系关系模型 (Relational Model)数据结构:表面向对象模型(Object Oriented Model )数据结构:对象层次模型满足下面两个条件的基本层次联系的集合为层次模型。1. 有且只有一个结点没有双亲结点,这个结点称为根结点2. 根以外的其它结点有且只有一个双亲结点表示方法实体型:用记录类型描述。每个结点表示一个记录类型。属性:用字段描述。每个记录类型可包含若干个字段。联系:用结点之间的连线表示记录(类)型之间的一对多的联系网状数据模型的数据结构网状模型满足下面两个条件的基本层次联系的集合为网状模型。1. 允许一个以上的结点无双亲;2.
8、一个结点可以有多于一个的双亲。表示方法(与层次数据模型相同)实体型:用记录类型描述。每个结点表示一个记录类型。属性:用字段描述。每个记录类型可包含若干个字段。联系:用结点之间的连线表示记录(类)型之间的一对多的父子联系。关系模型的基本概念关系( Relation )一个关系对应通常说的一张表。元组( Tuple)表中的一行即为一个元组。属性( Attribute )表中的一列即为一个属性,给每一个属性起一个名称即属性名。关系必须是规范化的,满足一定的规范条件最基本的规范条件:关系的每一个分量必须是一个不可分的数据项。查询、插入、删除、更新数据操作是集合操作,操作对象和操作结果都是关系,即若干元
9、组的集合存取路径对用户隐蔽,用户只要指出 “干什么 ”,不必详细说明 “怎么干 ” 关系模型的完整性约束实体完整性参照完整性用户定义的完整性关系数据模型的存储结构表以文件形式存储有的 DBMS 一个表对应一个操作系统文件有的 DBMS 自己设计文件结构关系模型的优缺点优点建立在严格的数学概念的基础上概念单一。数据结构简单、清晰,用户易懂易用实体和各类联系都用关系来表示。对数据的检索结果也是关系。关系模型的存取路径对用户透明具有更高的数据独立性,更好的安全保密性简化了程序员的工作和数据库开发建立的工作缺点存取路径对用户透明导致查询效率往往不如非关系数据模型为提高性能,必须对用户的查询请求进行优化
10、增加了开发数据库管理系统的难度数据库系统外部的体系结构单用户结构主从式结构分布式结构客户 /服务器结构浏览器 /应用服务器 /数据库服务器结构分布式结构的数据库系统数据库中的数据在逻辑上是一个整体,但物理地分布在计算机网络的不同结点上。网络中的每个结点都可以独立处理本地数据库中的数据,执行局部应用同时也可以同时存取和处理多个异地数据库中的数据,执行全局应用优点适应了地理上分散的公司、团体和组织对于数据库应用的需求。缺点数据的分布存放给数据的处理、管理与维护带来困难。当用户需要经常访问远程数据时,系统效率会明显地受到网络传输的制约数据库管理员 (DBA)决定数据库中的信息内容和结构决定数据库的存
11、储结构和存取策略定义数据的安全性要求和完整性约束条件关系数据库关系模型的组成关系数据结构关系操作集合关系完整性约束1) 常用的关系操作查询选择、投影、连接、除、并、交、差数据更新插入、删除、修改查询的表达能力是其中最主要的部分2) 关系操作的特点集合操作方式,即操作的对象和结果都是集合。非关系数据模型的数据操作方式:一次一记录文件系统的数据操作方式3) 关系数据语言的种类关系代数语言用对关系的运算来表达查询要求4) 关系数据语言的特点关系语言是一种高度非过程化的语言存取路径的选择由 DBMS 的优化机制来完成用户不必用循环结构就可以完成数据操作能够嵌入高级语言中使用关系代数、元组关系演算和域关
12、系演算三种语言在表达能力上完全等价关系 域( Domain )2. 笛卡尔积( Cartesian Product)3. 关系( Relation )域是一组具有相同数据类型的值的集合。例:整数实数介于某个取值范围的整数长度指定长度的字符串集合 男,女 介于某个取值范围的日期笛卡尔积给定一组域D1, D 2,Dn ,这些域中可以有相同的。D1, D2, ,Dn 的笛卡尔积为:D1D 2 Dn(d1, d2, , dn) diDi , i 1, 2, , n所有域的所有取值的一个组合不能重复2) 元组( Tuple)笛卡尔积中每一个元素(d1, d2, , dn)叫作一个n 元组( n-tupl
13、e )或简称元组。3) 分量( Component)笛卡尔积元素(d1, d2, , dn)中的每一个值di 叫作一个分量。4) 基数( Cardinal number )若 Di (i 1, 2, ,n)为有限集,其基数为 mi( i 1, 2, , n),则 D 1 D 2 Dn 的基数 M 为:5)笛卡尔积的表示方法笛卡尔积可表示为一个二维表。表中的每行对应一个元组,表中的每列对应一个域。关系( Relation )1) 关系D1D 2 Dn 的子集叫作在域D 1, D2, , Dn 上的关系,表示为R( D1, D2, , Dn)R: 关系名n:关系的目或度(Degree)2) 元组关
14、系中的每个元素是关系中的元组,通常用t 表示。3) 单元关系与二元关系当 n=1 时,称该关系为单元关系(当 n=2 时,称该关系为二元关系(Unary relation Binary relation)。)4) 关系的表示关系也是一个二维表,表的每行对应一个元组,表的每列对应一个域。5) 属性关系中不同列可以对应相同的域,为了加以区分,必须对每列起一个名字,称为属性(n 目关系必有n 个属性。6) 码Attribute)。候选码( Candidate key )若关系中的某一属性组的值能唯一地标识一个元组,则称该属性组为候选码在最简单的情况下,候选码只包含一个属性。称为全码( All-key
15、 )在最极端的情况下,关系模式的所有属性组是这个关系模式的候选码,称为全码(All-key)主码若一个关系有多个候选码,则选定其中一个为主码( Primary key )主码的诸属性称为主属性(Prime attribute )。不包含在任何侯选码中的属性称为非码属性( Non-key attribute )7) 三类关系基本关系(基本表或基表)实际存在的表,是实际存储数据的逻辑表示查询表查询结果对应的表视图表由基本表或其他视图表导出的表,是虚表,不对应实际存储的数据基本关系的性质 列是同质的( Homogeneous)每一列中的分量是同一类型的数据,来自同一个域 不同的列可出自同一个域其中的
16、每一列称为一个属性不同的属性要给予不同的属性名 列的顺序无所谓列的次序可以任意交换遵循这一性质的数据库产品( 如 ORACLE) ,增加新属性时,永远是插至最后一列但也有许多关系数据库产品没有遵循这一性质,例如FoxPro 仍然区分了属性顺序 任意两个元组不能完全相同由笛卡尔积的性质决定但许多关系数据库产品没有遵循这一性质。例如 :Oracle, FoxPro 等都允许关系表中存在两个完全相同的元组,除非用户特别定义了相应的约束条件。 行的顺序无所谓行的次序可以任意交换遵循这一性质的数据库产品( 如 ORACLE) ,插入一个元组时永远插至最后一行但也有许多关系数据库产品没有遵循这一性质,例如
17、 FoxPro 仍然区分了元组的顺序 分量必须取原子值每一个分量都必须是不可分的数据项。这是规范条件中最基本的一条关系模式( Relation Schema)是型关系是值关系模式是对关系的描述元组集合的结构属性构成属性来自的域属性与域之间的映象关系元组语义以及完整性约束条件属性间的数据依赖关系集合定义关系模式关系模式可以形式化地表示为:R( U, D, dom, F)RUDdomF关系名组成该关系的属性名集合属性组 U 中属性所来自的域属性向域的映象集合属性间的数据依赖关系集合关系模式通常可以简记为R (U)或R (A1, A2, , An)R 关系名A1, A2,An属性名注:域名及属性向域
18、的映象常常直接说明为属性的类型、长度关系模式对关系的描述静态的、稳定的关系关系模式在某一时刻的状态或内容动态的、随时间不断变化的关系模式和关系往往统称为关系通过上下文加以区别1. 关系数据库在一个给定的应用领域中,所有实体及实体之间联系的关系的集合构成一个关系数据库。2. 关系数据库的型与值关系数据库也有型和值之分关系数据库的型称为关系数据库模式,是对关系数据库的描述若干域的定义在这些域上定义的若干关系模式关系数据库的值是这些关系模式在某一时刻对应的关系的集合,通常简称为关系数据库3关系的完整性关系模型的完整性规则是对关系的某种约束条件。关系模型中三类完整性约束:实体完整性参照完整性用户定义的
19、完整性实体完整性和参照完整性是关系模型必须满足的完整性约束条件,被称作是关系的两个由关系系统自动支持。实体完整性实体完整性规则(Entity Integrity )若属性 A 是基本关系R 的主属性,则属性不变性 ,应该A 不能取空值关系模型必须遵守实体完整性规则的原因(1) 实体完整性规则是针对基本关系而言的。一个基本表通常对应现实世界的一个实体集或多对多联系。(2) 现实世界中的实体和实体间的联系都是可区分的,即它们具有某种唯一性标识。(3) 相应地,关系模型中以主码作为唯一性标识。关系模型必须遵守实体完整性规则的原因(续 )(4) 主码中的属性即主属性不能取空值。空值就是 “不知道 ”或
20、 “无意义 ”的值。主属性取空值,就说明存在某个不可标识的实体,即存在不可区分的实体,这与第(因此这个规则称为实体完整性。注意实体完整性规则规定基本关系的所有主属性都不能取空值参照完整性1. 关系间的引用2. 外码3. 参照完整性规则2)点相矛盾,1. 关系间的引用在关系模型中实体及实体间的联系都是用关系来描述的,因此可能存在着关系与关系间的引用。2外码( Foreign Key )设 F 是基本关系R 的一个或一组属性,但不是关系 R 的码。如果F 与基本关系S 的主码Ks 相对应,则称F 是基本关系R 的外码基本关系 R 称 为参照关系( ReferencingRelation )基本关系
21、 S 称为被参照关系(ReferencedRelation )或目标关系(Target Relation)。说明关系 R 和 S 不一定是不同的关系目标关系 S 的主码 Ks 和参照关系的外码 F 必须定义在同一个(或一组)域上外码并不一定要与相应的主码同名当外码与相应的主码属于不同关系时,往往取相同的名字,以便于识别3. 参照完整性规则若属性(或属性组)F 是基本关系R 的外码它与基本关系S 的主码 Ks 相对应(基本关系 R 和 S 不一定是不同的关系) ,则对于 R 中每个元组在 F 上的值必须为:? 或者取空值( F 的每个属性值均为空值)? 或者等于 S中某个元组的主码值。2.3.3
22、 用户定义的完整性用户定义的完整性是针对某一具体关系数据库的约束条件, 反映某一具体应用所涉及的数据必须满足的语义要求。关系模型应提供定义和检验这类完整性的机制,以便用统一的系统的方法处理它们,而不要由应用程序承担这一功能。Operation运算,操作Operator算子Operand操作数1.关系代数一种抽象的查询语言用对关系的运算来表达查询2关系代数运算的三个要素运算对象:关系运算结果:关系运算符:四类关系代数运算符集合并比较 大于运算-差运算 大于等于符交符小于广义笛卡尔积小于等于等于不等于专门的关系选择逻辑运算符非运算符投影与连接或除4关系代数运算的分类传统的集合运算并、差、交、广义笛
23、卡尔积专门的关系运算选择、投影、连接、除5表示记号( 1) R, t R, tAi设关系模式为R(A1, A2, An)它的一个关系设为R。 tR 表示 t 是 R 的一个元组tAi 则表示元组t 中相应于属性Ai 的一个分量( 2) A , tA ,A若 A= Ai1,Ai2, ,Aik ,其中 Ai1,Ai2, ,Aik性列或域列。 tA =(tAi1, tAi2 , , tAik )表示元组是 A1, A2, , An 中的一部分,则 A 称为属 t 在属性列 A 上诸分量的集合。 A 则表示 A1,A2, , An 中去掉 Ai1,Ai 2, Aik 后剩余的属性组。( 3) tr t
24、sR 为 n 目关系, S 为 m 目关系。 tr R, ts S, tr ts 称为元组的连接。它是一个 n + m 列的元组,前 n 个分量为 R 中的一个 n 元组,后 m 个分量为 S 中的一个 m 元组。4)象集 Zx给定一个关系R( X, Z), X 和 Z 为属性组。当tX= x 时, x 在 R 中的象集( Images Set)为:Zx= tZ|tR, tX= x它表示 R 中属性组X 上值为 x 的诸元组在Z 上分量的集合。1. 并( Union ) R 和 S具有相同的目n(即两个关系都有n 个属性)相应的属性取自同一个域R S仍为 n 目关系,由属于R S = t|tR
25、 tS R 或属于S 的元组组成R 和S具有相同的目n相应的属性取自同一个域R - S仍为 n 目关系,由属于R 而不属于S 的所有元组组成R -S = t|tR tS R 和S具有相同的目n相应的属性取自同一个域R S仍为 n 目关系,由既属于R S = t|tR tR S = R (R-S)R 又属于S S 的元组组成4. 广义笛卡尔积( Extended Cartesian Product )Rn 目关系, k1 个元组Sm 目关系, k2 个元组R S列:( n+m)列的元组的集合元组的前n 列是关系R 的一个元组后 m 列是关系 S 的一个元组行: k1 k2 个元组R S = tr
26、 ts |trR tsS 专门的关系运算1. 选择( Selection )1) 选择又称为限制( Restriction )2) 选择运算符的含义在关系 R 中选择满足给定条件的诸元组F(R) = t|tR F(t)= 真 F:选择条件,是一个逻辑表达式,基本形式为:( X1 Y1 ) ( X2Y2 ):比较运算符(,或)X1 ,Y1 等:属性名、常量、简单函数;属性名也可以用它的序号来代替;:逻辑运算符(或) :表示任选项:表示上述格式可以重复下去3) 选择运算是从行的角度进行的运算2. 投影( Projection )1)投影运算符的含义从 R 中选择出若干属性列组成新的关系A(R) =
27、 tA | tR A:R 中的属性列2)投影操作主要是从列的角度进行运算但投影之后不仅取消了原关系中的某些列,而且还可能取消某些元组(避免重复行)3. 连接( Join )R1)连接也称为连接2)连接运算的含义从两个关系的笛卡尔积中选取属性间满足一定条件的元组S = | trR tsS trA tsB A 和 B: 分别为 R 和 S 上度数相等且可比的属性组:比较运算符连接运算从 R 和 S 的广义笛卡尔积 RS 中选取( R 关系)在 A 属性组上的值与( S 关系)在 B 属性组上值满足比较关系的元组。3)两类常用连接运算等值连接( equijoin )什么是等值连接为 “ ”的连接运算
28、称为等值连接等值连接的含义RS = 从关系 R 与 S 的广义笛卡尔积中选取等值连接为:| trR tsS tr A = tsB A、B 属性值相等的那些元组,即4)一般的连接操作是从行的角度进行运算。自然连接还需要取消重复列,所以是同时从行和列的角度进行运算。4)象集 Z给定一个关系R( X, Z), X 和 Z 为属性组。当tX= x 时, x 在 R 中的象集( Images Set)为:Zx= tZ|tR, tX= x它表示 R 中属性组X 上值为 x 的诸元组在Z 上分量的集合。4. 除( Division )给定关系R (X, Y) 和 S (Y, Z),其中 X, Y, Z 为属
29、性组。R 中的 Y 与 S 中的 Y 可以有不同的属性名,但必须出自相同的域集。 R 与 S 的除运算得到一个新的关系P(X),P 是 R 中满足下列条件的元组在X 属性列上的投影:元组在X 上分量值 x 的象集 Yx 包含 S 在 Y 上投影的集合。R S = tr X | trR Y (S)Yx Yx:x 在 R 中的象集, x = tr X2)除操作是同时从行和列角度进行运算第三章关系数据库标准语言SQL3.1 SQL 概述SQL 的特点1. 综合统一2. 高度非过程化3. 面向集合的操作方式4. 以同一种语法结构提供两种使用方法5. 语言简洁,易学易用5. 语言简捷,易学易用表 3.1
30、SQL 语言的动词SQL 功能动词数据定义CREATE ,DROP ,ALTER数据查询SELECT数据操纵INSERT , UPDATEDELETE数据控制GRANT , REVOKE3.2数据定义表 3.2SQL 的数据定义语句操 作 对操作方式创建删除修改象表CREATEDROPALTERTABLETABLETABLE视图CREATEDROP VIEWVIEW索引CREATEDROPINDEXINDEX3.2.1定义语句格式CREATE TABLE ( , , );:所要定义的基本表的名字:组成该表的各个属性(列):涉及相应属性列的完整性约束条件:涉及一个或多个属性列的完整性约束条件常用
31、完整性约束主码约束:PRIMARYKEY唯一性约束:UNIQUE非空值约束:NOT NULL参照完整性约束三、删除基本表DROP TABLE ;基本表删除数据、表上的索引都删除表上的视图往往仍然保留,但无法引用删除基本表时,系统会从数据字典中删去有关该基本表及其索引的描述(标准中没有,认为表建立后就永久存在)二、修改基本表ALTER TABLE ADD 完整性约束 DROP MODIFY ;:要修改的基本表ADD 子句:增加新列和新的完整性约束条件DROP 子句:删除指定的完整性约束条件MODIFY子句:用于修改列名和数据类型ALTER TABLE Student ADD Scome DATE
32、 ;不论基本表中原来是否已有数据,新增加的列一律为空值。删除属性列直接 /间接删除把表中要保留的列及其内容复制到一个新表中删除原表再将新表重命名为原表名直接删除属性列:(新 )例: ALTER TABLE StudentDrop Scome ;ALTER TABLE Student MODIFY Sage SMALLINT;注:修改原有的列定义有可能会破坏已有数据建立与删除索引建立索引是加快查询速度的有效手段建立索引DBA 或表的属主(即建立表的人)根据需要建立有些 DBMS 自动建立以下列上的索引PRIMARYKEYUNIQUE维护索引DBMS 自动完成使用索引DBMS 自动选择是否使用索引
33、以及使用哪些索引一、建立索引语句格式CREATEUNIQUECLUSTERINDEXON (, );用 指定要建索引的基本表名字索引可以建立在该表的一列或多列上,各列名之间用逗号分隔用 指定索引值的排列次序,升序:ASC ,降序: DESC。缺省值: ASCUNIQUE表明此索引的每一个索引值只对应唯一的数据记录CLUSTER 表示要建立的索引是聚簇索引唯一值索引对于已含重复值的属性列不能建UNIQUE 索引对某个列建立UNIQUE 索引后, 插入新记录时DBMS 会自动检查新记录在该列上是否取了重复值。这相当于增加了一个UNIQUE 约束聚簇索引建立聚簇索引后,基表中数据也需要按指定的聚簇属
34、性值的升序或降序存放。也即聚簇索引的索引项顺序与表中记录的物理顺序一致例:CREATE CLUSTER INDEX Stusname ONStudent(Sname);在 Student 表的 Sname(姓名)列上建立一个聚簇索引,而且 Student 表中的记录将按照 Sname 值的升序存放在一个基本表上最多只能建立一个聚簇索引聚簇索引的用途:对于某些类型的查询,可以提高查询效率聚簇索引的适用范围很少对基表进行增删操作很少对其中的变长列进行修改操作二、删除索引DROP INDEX ;删除索引时,系统会从数据字典中删去有关该索引的描述。3.3查询语句格式SELECT ALL|DISTINC
35、T ,FROM , WHERE GROUP BY HA VING ORDER BY ASC|DESC ;SELECT 子句:指定要显示的属性列FROM 子句:指定查询对象(基本表或视图)WHERE 子句:指定查询条件GROUP BY 子句:对查询结果按指定列的值分组,该属性列值相等的元组为一个组。通常会在每组中作用集函数。HA VING 短语:筛选出只有满足指定条件的组ORDER BY 子句:对查询结果表按指定列值的升序或降序排序3.3.2单表查询查询仅涉及一个表,是一种最简单的查询操作一、选择表中的若干列二、选择表中的若干元组三、对查询结果排序四、使用集函数五、对查询结果分组查询经过计算的值
36、SELECT 子句的 为表达式算术表达式字符串常量函数列别名等二、选择表中的若干元组消除取值重复的行查询满足条件的元组1. 消除取值重复的行在 SELECT 子句中使用 DISTINCT 短语假设 SC 表中有下列数据2.查询满足条件的元组WHERE子句常用的查询条件(1) 比较大小在 WHERE 子句的 中使用比较运算符=,=,= ,!= 或 , !,!,逻辑运算符NOT+比较运算符(2)确定范围使用谓词BETWEENANDNOT BE TWEENAND(3)确定集合使用谓词IN,NOTIN:用逗号分隔的一组取值(4) 字符串匹配NOT LIKE ESCAPE 换:指定匹配模板匹配模板:固定
37、字符串或含通配符的字符串当匹配模板为固定字符串时,可以用= 运算符取代LIKE谓词用 != 或 运算符取代NOT LIKE谓词通配符% ( 百分号 ) 代表任意长度(长度可以为0)的字符串例: a%b 表示以 a 开头,以 b 结尾的任意长度的字符串。如该匹配串acb,addgb,ab等都满足_ (下横线 )代表任意单个字符例: a_b 表示以 a 开头,以配串b 结尾的长度为3 的任意字符串。如acb,afb 等都满足该匹查询 DB_Design 课程的课程号和学分。SELECT Cno , CcreditFROM CourseWHERE Cname LIKE DB_DesignESCAPE
38、 (5) 涉及空值的查询使用谓词IS NULL或 IS NOT NULL“ IS NULL ”不能用“ = NULL ”代替(6) 多重条件查询用逻辑运算符AND 和 OR 来联结多个查询条件AND 的优先级高于OR可以用括号改变优先级可用来实现多种其他谓词NOT INNOT BETWEENAND三、对查询结果排序使用 ORDER BY 子句可以按一个或多个属性列排序升序: ASC ;降序: DESC;缺省值为升序当排序列含空值时ASC :排序列为空值的元组最后显示DESC :排序列为空值的元组最先显示四、使用集函数5 类主要集函数计数COUNT COUNT(DISTINCT|ALL * (D
39、ISTINCT|ALL )计算总和SUM ( DISTINCT|ALL )计算平均值AVG ( DISTINCT|ALL )求最大值MAX MIN( DISTINCT|ALL )求最小值( DISTINCT|ALL ) DISTINCT 短语:在计算时要取消指定列中的重复值 ALL 短语:不取消重复值 ALL 为缺省值五、对查询结果分组使用 GROUP BY 子句分组细化集函数的作用对象未对查询结果分组,集函数将作用于整个查询结果对查询结果分组后,集函数将分别作用于每个组GROUP BY 子句的作用对象是查询的中间结果表分组方法:按指定的一列或多列值分组,值相等的为一组使用 GROUP BY
40、子句后, SELECT 子句的列名列表中只能出现分组属性和集函数使用 HA VING 短语筛选最终输出结果只有满足HA VING 短语指定条件的组才输出HA VING 短语与 WHERE 子句的区别:作用对象不同WHERE 子句作用于基表或视图,从中选择满足条件的元组。HA VING 短语作用于组,从中选择满足条件的组。连接查询同时涉及多个表的查询称为连接查询用来连接两个表的条件称为连接条件或连接谓词一般格式:.比较运算符:=、 、 =、 =、 !=. BETWEEN . AND .连接字段连接谓词中的列名称为连接字段连接条件中的各连接字段类型必须是可比的,但不必是相同的连接操作的执行过程嵌套
41、循环法 (NESTED-LOOP)首先在表1 中找到第一个元组,然后从头开始扫描表2,逐一查找满足连接件的元组,找到后就将表1 中的第一个元组与该元组拼接起来,形成结果表中一个元组。表 2 全部查找完后, 再找表 1 中第二个元组, 然后再从头开始扫描表2,逐一查找满足连接条件的元组,找到后就将表1 中的第二个元组与该元组拼接起来,形成结果表中一个元组。重复上述操作,直到表1 中的全部元组都处理完毕排序合并法 (SORT-MERGE)常用于 =连接首先按连接属性对表1和表 2排序对表 1 的第一个元组,从头开始扫描表2,顺序查找满足连接条件的元组,找到后就将表 1 中的第一个元组与该元组拼接起
42、来,形成结果表中一个元组。当遇到表2 中第一条大于表1 连接字段值的元组时,对表2 的查询不再继续找到表 1 的第二条元组, 然后从刚才的中断点处继续顺序扫描表 2,查找满足连接条件的元组,找到后就将表 1 中的第一个元组与该元组拼接起来,形成结果表中一个元组。直接遇到表 2 中大于表 1 连接字段值的元组时,对表 2 的查询不再继续重复上述操作,直到表1 或表 2 中的全部元组都处理完毕为止索引连接(INDEX-JOIN)对表 2 按连接字段建立索引对表 1 中的每个元组,依次根据其连接字段值查询表2 的索引,从中找到满足条件的元组,找到后就将表1 中的第一个元组与该元组拼接起来,形成结果表中一个元组SQL 中连接查询的主要类型广义笛卡尔积等值连接 ( 含自然连接 )非等值连接查询自身连接查询外连接查询复合条件连接查询一、广义笛卡尔积不带连接谓词的连接很
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 国际基础与金融 14
- DB42-T 2539-2026 数字家庭工程建设标准
- 2026年《公共卫生执业医师》第一单元模拟试题一
- 2026年高二地理下学期期中考试卷及答案(十四)
- 2026年初一历史下学期期末考试卷及答案(共十套)
- 2026年护理工作在外科手术患者ERAS中的作用课件
- 公园绿化新篇章-实现生态与社会共赢
- 对初中历史课程改革中课堂教学的反思
- 医院医护人员患者隐秘保护制度执行情况评估方案
- 专业技术成果推广应用承诺书5篇
- GB/Z 43465-2023河流能资源评估及特征描述
- MSOP(测量标准作业规范)测量SOP
- 机械加工工艺手册
- (医学课件)膀胱的解剖与生理
- 2023年北京市东城区高考英语一模试题及答案解析
- DB32-T 4245-2022 城镇供水厂生物活性炭失效判别和更换标准
- 急慢性肾小球肾炎病人的护理课件
- 应用PDCA管理工具提高病案归档率
- 招标控制价编制实例
- ipc4101b刚性及多层印制板用基材
- GB/T 33899-2017工业物联网仪表互操作协议
评论
0/150
提交评论