资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,兰州理工大学计算机与通信学院,*,欢迎你向我提问!,E-mail,:,pangshuxia,如果你在学习中遇到问题,数据库原理与应用,P,rinciple and,A,pplication of,D,ataBase,5/23/2026,1,兰州理工大学计算机与通信学院,数据库原理与应用,P,rinciple and,A,pplication of,D,ataBase,第二章 关系模型,2.1,关系模型的基本概念,2.2,关系代数,2.3,关系演算,2.4,关系系统的十二条准则,2.5,关系系统的查询优化,2.6,关系数据库管理系统简介,2.7,小结,5/23/2026,2,兰州理工大学计算机与通信学院,数据库原理与应用,P,rinciple and,A,pplication of,D,ataBase,关系模型是目前最流行并且是最重要的数据模型。自从,E,F,Codd,于,1970,年提出关系模型以来,已占有了相当重要的地位,相对于以前的层次模型和网状模型,关系数据模型在许多方面对以前的数据模型进行了改进,这些改进简化了数据管理、数据检索等工作。,5/23/2026,3,兰州理工大学计算机与通信学院,数据库原理与应用,P,rinciple and,A,pplication of,D,ataBase,第二章 关系模型,2.1,关系模型的基本概念,2.2,关系代数,2.3,关系演算,2.4,关系系统的十二条准则,2.5,关系系统的查询优化,2.6,关系数据库管理系统简介,2.7,小结,5/23/2026,4,兰州理工大学计算机与通信学院,关系模型的组成:数据结构,+,关系操作,+,完整性约束,表,结构,8,个运算 三类完整性,关系代数语言,关系演算语言,SQL,语言,实体完整性,参照完整性,自定义完整性,数据库技术,C,oncept and,T,echnology of,D,ataBase,5/23/2026,5,兰州理工大学计算机与通信学院,数据库原理与应用,P,rinciple and,A,pplication of,D,ataBase,关系模型是目前广泛应用的一种数据模型。关系模型中涉及到的基本元素包括关系、关系操作以及对关系的完整性约束条件。,关系,关系,是,关系模型的数据结构,。,在关系模型中,,数据用关系来表示,数据之间的联系仍用关系来表示,对数据的操作就是对关系的运算,而且关系运算的结果还是关系。,通俗地讲,关系就是一张二维表,如下所示:,5/23/2026,6,兰州理工大学计算机与通信学院,数据库原理与应用,P,rinciple and,A,pplication of,D,ataBase,编号,姓名,性别,年龄,职称,部门,200305001,李,男,47,教授,计通,200305002,张,男,43,副教授,计通,200305003,李,女,35,副教授,计通,200305004,王,女,35,讲师,计通,表中的每一行称为元组,指关,系表所表示对象的实例,表中的每一列称为属性。,列标题是属性名,该列属性的值,称为分量,5/23/2026,7,兰州理工大学计算机与通信学院,数据库原理与应用,P,rinciple and,A,pplication of,D,ataBase,关系的形式化定义,(从集合论的角度),(,1,),域,域是一组具有相同数据类型的值的集合。,(,2,)笛卡尔积,给定一组域 ,这些域中可以有相同的。,的笛卡尔积为:,其中每一个元素 叫作一个,n,元组或简称元组。,元素中每一个值 叫作一个分量。若 为有限集,其基数为 ,,则,5/23/2026,8,兰州理工大学计算机与通信学院,数据库原理与应用,P,rinciple and,A,pplication of,D,ataBase,的基数,M,为:,()关系,的子集称作域上的关系,表示为,:,。这里,R,表示关系的名字,,n,是关系的目或度。,当,n=1,时,称该关系为单元关系。,当,n=2,时,称该关系为二元关系。,5/23/2026,9,兰州理工大学计算机与通信学院,数据库原理与应用,P,rinciple and,A,pplication of,D,ataBase,关系可分为以下三种类型:,基本表:,实际存在的表,它是实际存储数据的逻辑表示。,查询表:,查询结果对应的表。,视图表:,由基本表或其他视图表导出的表,是虚表,不对应实际存储的数据。,5/23/2026,10,兰州理工大学计算机与通信学院,数据库原理与应用,P,rinciple and,A,pplication of,D,ataBase,关系模式和关系数据库,关系模式,是对关系表中每个列的描述。关系模式需要给出关系名、每个属性的名称、属性的域及属性和域之间的映射关系。,教师,关系表对应的关系模式可以描述为:,教师(编号,姓名,性别,年龄,职称,部门),关系数据库,是对应于一个关系模型的某应用领域全部关系的集合。它是基于关系模型的数据库。,5/23/2026,11,兰州理工大学计算机与通信学院,数据库原理与应用,P,rinciple and,A,pplication of,D,ataBase,码,码是关系模型完整性约束的一个体现。在一个关系中,若某一属性集合的值可唯一地标识每一个元组,即其值对不同的元组是不同的,这样的最小属性集合称为候选码(,Candidate key,),简称为码(,Key,)。若一个关系中有多个候选码,则选定其中一个作为主码(,Primary key,)。,在定义关系模式时,为了体现出关系的主码,通常在选为主码的属性下面加下划线。例如教师关系:,教师(,编号,,姓名,性别,年龄,职称,部门),5/23/2026,12,兰州理工大学计算机与通信学院,数据库原理与应用,P,rinciple and,A,pplication of,D,ataBase,关系操作,关系数据模型定义了关系上的一组操作,常用的关系操作包括查询(,Query,)操作和插入(,Insert,)、删除(,Delete,)、修改(,Update,)操作。,关系的查询表达能力很强,是关系操作中最主要的部分。查询操作可以分为:选择、投影、连接、除、并、差、交、笛卡尔积等。,关系操作的特点是集合操作方式,即操作的对象和结果都是集合。,5/23/2026,13,兰州理工大学计算机与通信学院,数据库原理与应用,P,rinciple and,A,pplication of,D,ataBase,关系的完整性规则,关系模型的完整性规则是对关系的某种约束条件,目的在于控制并确保数据内容的有效性和一致性。,关系模型的完整性规则包括实体完整性、参照完整性和用户自定义的完整性。,实体完整性规则,在关系表中,所有元组主码的值都不能为空。,下面的教师表违背了实体完整性规则,5/23/2026,14,兰州理工大学计算机与通信学院,数据库原理与应用,P,rinciple and,A,pplication of,D,ataBase,编号,姓名,性别,年龄,职称,部门,200305001,李,男,47,教授,计通,张,男,43,副教授,计通,200305003,李,女,35,副教授,计通,王,女,35,讲师,计通,参照完整性,在关系模型中,采用给关系定义外键的形式进行关系间属性的引用,从而实现参照完整性。,外键,,也称为外码。它是关系的一组属性,但不是主码属性,它的取值与另外一个关系中主码属性的取值相匹配,也就是说,属性的数目以及数据类型都要相同。,5/23/2026,15,兰州理工大学计算机与通信学院,数据库原理与应用,P,rinciple and,A,pplication of,D,ataBase,例,2.1,教师和研究生可以用下面的关系来表示,其中主码用下划线标识:,教师(,编号,,姓名,性别,年龄,职称,部门),研究生(,学号,,姓名,导师编号,导师姓名,专业),教师信息表,PK,编号,姓名,性别,年龄,职称,部门,研究生信息表,PK,学号,姓名,导师编号,导师姓名,专业,外,键,5/23/2026,16,兰州理工大学计算机与通信学院,数据库原理与应用,P,rinciple and,A,pplication of,D,ataBase,参照完整性规则,关系中每个元组在外键上的取值,或者为空值,或者等于与该关系相匹配的关系的主码值。,用户自定义的完整性,实体完整性和参照完整性是关系模型必须满足的完整性约束条件。除此之外,还需要有能反映某一具体应用所涉及的数据必须满足的语义要求的约束条件。这种约束条件,称为用户自定义的完整性。例如:人的身高不能超过,3,米,学生成绩应该大于等于零,职工的工龄应该小于年龄。,5/23/2026,17,兰州理工大学计算机与通信学院,数据库原理与应用,P,rinciple and,A,pplication of,D,ataBase,第二章 关系模型,2.1,关系模型的基本概念,2.2,关系代数,2.3,关系演算,2.4,关系系统的十二条准则,2.5,关系系统的查询优化,2.6,关系数据库管理系统简介,2.7,小结,5/23/2026,18,兰州理工大学计算机与通信学院,数据库原理与应用,P,rinciple and,A,pplication of,D,ataBase,关系数据语言(也称数据库操作语言)是数据库管理系统提供的用户接口,是用户用来操作数据库的工具,通常包括查询语句和非查询语句。,关系数据语言大体分为三类:,关系,数据,语言,关系代数,ISBL,关系演算语言,元组关系演算语言,ALPHA,域关系演算语言,QBE,具有关系代数和关系演算双重特点的语言,SQL,5/23/2026,19,兰州理工大学计算机与通信学院,数据库原理与应用,P,rinciple and,A,pplication of,D,ataBase,说明:,(,1,)关系代数语言:由一个或多个关系表行列的数学操作组成。在一系列操作中,各操作都生成一个结果关系表。,(,2,)关系演算语言:将数据逻辑的谓词演算应用到关系运算中。关系演算语言又可分为元组关系演算语言和域关系演算语言。,元组关系演算语言:谓词变元的基本对象是元组变量。,域关系演算语言:谓词变元的基本对象是元组变量的分量即域变量。,(,3,)结构化查询语言(,SQL,):,SQL,不仅具有丰富的查询功能,而且具有数据定义和数据控制功能,是集数据定义语言(,DDL,)、数据操纵语言(,DML,)和数据控制语言(,DCL,)于一体的关系数据语言。,5/23/2026,20,兰州理工大学计算机与通信学院,数据库原理与应用,P,rinciple and,A,pplication of,D,ataBase,关系代数的基本操作,关系代数是与关系模型相关的两种形式化查询语言之一。,它包括一个运算集合,这些运算以一个或两个关系为输入,产生一个新的关系作为结果。关系代数的基本运算有:选择、投影、并、差、笛卡儿积。在基本运算以外,还有一些其他运算,包括交、连接和除。这些运算可以由关系代数的基本运算定义。,5/23/2026,21,兰州理工大学计算机与通信学院,数据库原理与应用,P,rinciple and,A,pplication of,D,ataBase,关系运算的一些记号:,1,设关系模式为。它的一个关系设为,,表示 是,的一个元组。则表示元组中相应属性,的一个分量。,2,若,其中是中的一部分,则称为属性列或属性组。表示元组在属性列上诸分量的集合。则表示 中去掉 后剩余的属性组。,3,为,n,目关系,为,m,目关系。称为元组,5/23/2026,22,兰州理工大学计算机与通信学院,数据库原理与应用,P,rinciple and,A,pplication of,D,ataBase,的连接。它是一个,n+m,列的元组,前,n,个分量为中的一个,n,元组,后,m,个分量为中的一个,m,元组。,4,给定一个关系,和为属性列。当时,在中的象集定义为:,它表示中属性组上值为,x,的诸元组在上分量的集合。,5/23/2026,23,兰州理工大学计算机与通信学院,数据库原理与应用,P,rinciple and,A,pplication of,D,ataBase,A,B,C,a,1,b,1,55,a,2,b,2,45,a,4,b,2,35,A,B,C,a,1,b,2,55,a,2,b,2,45,a,3,b,1,35,a,4,b,2,35,A,D,a,1,101,a,2,101,a,2,102,a,3,102,假设、和是三个关系,5/23/2026,24,兰州理工大学计算机与通信学院,数据库原理与应用,P,rinciple and,A,pplication of,D,ataBase,关系代数的基本操作,.,选择(,Selection,),选择运算是从输入关系中选择满足给定条件的元组,记作:,其中表示选择条件,它是一个逻辑表达式。通常,允许在逻辑表达式中进行比较,使用,=,,,,。另外,还可以使用逻辑连接词与(),或()和非()把多个表达式连接合并成为一个较大的表达式。,5/23/2026,25,兰州理工大学计算机与通信学院,经过运算后的结果为:,2,、投影(,Projection,),关系上的投影是从中选择出若干属性列组成新的关系。记作:,数据库原理与应用,P,rinciple and,A,pplication of,D,ataBase,例如:从关系中选择属性,B,的值等于,b,2,的所有元组,可以表示为:结果为:,A,B,C,a,2,b,2,45,a,4,b,2,35,A,B,a,1,b,1,a,2,b,2,a,4,b,2,3,、并(,Union,),并运算是传统的集合运算。它的,运算结果包含了参加运算的两个关系,中的所有元组。,5/23/2026,26,兰州理工大学计算机与通信学院,的结果为:,数据库原理与应用,P,rinciple and,A,pplication of,D,ataBase,关系和关系的并记作:,两个关系要能够进行并运算,必须是相容关系,即必须满足以下两个条件:,(,1,)两个关系的属性数必须相同,(,2,)从左向右,对应的属性要有,相同的取值范围。,A,B,C,a,1,b,1,55,a,2,b,2,45,a,4,b,2,35,a,1,b,2,55,a,3,b,1,35,5/23/2026,27,兰州理工大学计算机与通信学院,数据库原理与应用,P,rinciple and,A,pplication of,D,ataBase,4,、差(,Difference,),差运算也是传统的集合运算。它的结果包括出现在一个关系中而不出现在另一个关系中的元组。关系和关系,的差记作:,的结果为:,A,B,C,a,1,b,1,55,5,、笛卡儿积(,Cartesian Product,),笛卡儿积运算可以将任意两个关系的信息组合在一起。两个分别为,n,目和,m,目的关系和的笛卡尔积是一个(,n+m,)列的元组的集合。,5/23/2026,28,兰州理工大学计算机与通信学院,数据库原理与应用,P,rinciple and,A,pplication of,D,ataBase,元组的前,n,列是关系的一个元组,后,m,列是关系的一个元组。假如关系中有个,n,元组,关系中有,m,个元组。那么关系和关系的笛卡儿积中将有(,n,m,)个元组。关系和关系的笛卡儿积记作:,的结果为:,5/23/2026,29,兰州理工大学计算机与通信学院,数据库原理与应用,P,rinciple and,A,pplication of,D,ataBase,R,1,.A,R,1,.B,R,1,.C,R,2,.A,R,2,.B,R,2,.C,a,1,b,1,55,a,1,b,2,55,a,1,b,1,55,a,2,b,2,45,a,1,b,1,55,a,3,b,1,35,a,1,b,1,55,a,4,b,2,35,a,2,b,2,45,a,1,b,2,55,a,2,b,2,45,a,2,b,2,45,a,2,b,2,45,a,3,b,1,35,a,2,b,2,45,a,4,b,2,35,a,4,b,2,35,a,1,b,2,55,a,4,b,2,35,a,2,b,2,45,a,4,b,2,35,a,3,b,1,35,a,4,b,2,35,a,4,b,2,35,5/23/2026,30,兰州理工大学计算机与通信学院,的结果为:,数据库原理与应用,P,rinciple and,A,pplication of,D,ataBase,关系代数的其他操作,.,交(,Intersection,),交运算也是传统的集合运算。它的运算结果包含了同,时在两个关系中出现的所有元组。,关系和关系的交记作:,A,B,C,a,2,b,2,45,a,4,b,2,35,5/23/2026,31,兰州理工大学计算机与通信学院,数据库原理与应用,P,rinciple and,A,pplication of,D,ataBase,2.,连接(,Join,),连接运算在关系代数中是最有用的运算之一,最常用的方式是合并两个或者多个关系的信息。连接运算是从两个关系的笛卡儿积中选取满足一定条件的元组。记作:,其中,,A,和,B,是关系和上度数相等并且可比的属性组。,是比较运算符。连接运算从和的笛卡儿积中选取关系在,A,属性组上的值与关系在,B,属性组上的值满足比较关系的元组。,5/23/2026,32,兰州理工大学计算机与通信学院,的结果为:,数据库原理与应用,P,rinciple and,A,pplication of,D,ataBase,R,1,.A,R,1,.B,R,1,.C,R,2,.A,R,2,.B,R,2,.C,a,2,b,2,45,a,1,b,2,55,a,4,b,2,35,a,1,b,2,55,a,4,b,2,35,a,2,b,2,45,连接运算有两种最重要且应用最广泛的连接:等值连接和自然连接。,5/23/2026,33,兰州理工大学计算机与通信学院,的结果为:,数据库原理与应用,P,rinciple and,A,pplication of,D,ataBase,等值连接,是连接运算的一种特殊情况,一般指连接条件,是相等表达式,即为“,=”,的连接运算。等值连接要求连接的两个关系中对应属性相等。记作,:,R,1,.A,R,1,.B,R,1,.C,R,2,.A,R,2,.B,R,2,.C,a,1,b,1,55,a,1,b,2,55,a,2,b,2,45,a,2,b,2,45,a,4,b,2,35,a,3,b,1,35,a,4,b,2,35,a,4,b,2,35,5/23/2026,34,兰州理工大学计算机与通信学院,数据库原理与应用,P,rinciple and,A,pplication of,D,ataBase,自然连接,是一种特殊的等值连接。它要求两个关系中所有同名属性都相等,并且在结果中必须把重复的属性列删除。一般的连接操作是从行的角度进行运算。但自然连接还需要取消重复列,所以是同时从行和列的角度进行运算。假如关系和关系具有相同的属性组,A,,则自然连接记作:,5/23/2026,35,兰州理工大学计算机与通信学院,数据库原理与应用,P,rinciple and,A,pplication of,D,ataBase,的结果为:,A,B,C,D,a,1,b,1,55,101,a,2,b,2,45,101,a,2,b,2,45,102,5/23/2026,36,兰州理工大学计算机与通信学院,数据库原理与应用,P,rinciple and,A,pplication of,D,ataBase,3.,除,除运算适合于包含了“对所有的”的查询,。,假如两个关系和,其中为属性组,中的和中的可以有不同的属性名,但必须出自相同的域集。除运算,定义为如下的所有属性组列上值的集合:对于中的属性列上的每个值,在中都有相同的与之对应。另一种理解除操作的方式为:对于中的每个属性组列上的值,考虑具有该值的所有属性列上的值的集合。如果该集合包含了中的所有属性组列上的值,那么这个的值就包含在的结果中。关系和关系的除运算记作,:,5/23/2026,37,兰州理工大学计算机与通信学院,数据库原理与应用,P,rinciple and,A,pplication of,D,ataBase,其中 为 在 中的象集,。,设关系 、和 如下所示,则 、的结果图为:,A,B,a,1,b,1,a,1,b,2,a,1,b,3,a,2,b,1,a,2,b,2,a,3,b,2,a,3,b,3,B,b,3,B,b,1,b,2,b,3,A,a,1,a,3,A,a,1,5/23/2026,38,兰州理工大学计算机与通信学院,数据库原理与应用,P,rinciple and,A,pplication of,D,ataBase,关系代数运算举例,设有一个教师,-,项目数据库,包括教师关系,Teacher,、项目关系,Project,和教师,-,项目关系,TP,。三个关系表的关系模式如下:,Teacher,(,编号(,Tno,),,姓名(,Tname,),性别(,Tsex,),年龄(,Tage,),职称(,Tposition,),部门(,Tdept,);,Project,(,项目编号(,PRno,),,项目名称(,PRname,),项目来源(,PRsrc,),项目级别(,PRclass,),,开始时间(,PRdate,),结束时间(,PRenddate,);,TP,(,项目编号(,PRno,),,教师编号(,Tno,),排名(,Order,),5/23/2026,39,兰州理工大学计算机与通信学院,数据库原理与应用,P,rinciple and,A,pplication of,D,ataBase,例,2.2,查询计通学院的所有教师。,例,2.3,查询职称为教授的所有教师,例,2.4,查询计通学院年龄在,35,岁以下的教师,例,2.5,查询所有教师姓名和职称。,5/23/2026,40,兰州理工大学计算机与通信学院,数据库原理与应用,P,rinciple and,A,pplication of,D,ataBase,例,2.6,查询所有在,2001,年开始并且在,2003,年结束的项目编号及名称。,例,2.7,查询在项目中排名第一的教师编号,例,2.8,查询所做项目的级别为国家级的教师的姓名,例,2.9,查询显示各位教师所做项目的情况,包括项目编号、项目名称名称、教师姓名、排名。,5/23/2026,41,兰州理工大学计算机与通信学院,数据库原理与应用,P,rinciple and,A,pplication of,D,ataBase,扩展的关系代数运算,1,广义投影,广义投影运算通过允许在投影列表中使用算术函数来对投影进行扩展。广义投影运算形式为:,例,2.10,将编号为,200305003,的教师的年龄改为,36,岁,2,赋值运算,通过赋值给临时关系变量的方法把关系代数表达式分成几个部分写会很简单。赋值运算用表示,与程序语言中的赋值相类似。,5/23/2026,42,兰州理工大学计算机与通信学院,数据库原理与应用,P,rinciple and,A,pplication of,D,ataBase,例,2.11,删除编号为,200305003,的教师的相关信息,3,外连接,外连接运算是连接运算的扩展,可以处理缺失的信息。,外连接运算有三种:左外连接、右外连接和全外连接。,左外连接,取出左侧关系中所有与右侧关系的任一元组都不匹配的元组,用空值填充所有来自右侧关系的属性,再把产生的元组加到自然连接的结果上,。,5/23/2026,43,兰州理工大学计算机与通信学院,数据库原理与应用,P,rinciple and,A,pplication of,D,ataBase,右外连接,与左外连接相对称:用空值填充来自左侧关系的所有与右侧关系的任一元组都不匹配的元组,将结果加到自然连接的结果上。,全外连接,完成左外连接和右外连接的操作,既填充左侧关系中与右侧关系的任一元组都不匹配的元组,又填充右侧关系中与左侧关系的任一元组都不匹配的元组,并把结果加到自然连接的结果上。,下图表示的分别是关系 和关系(第,24,页)的左外连接、右外连接和全连接。,5/23/2026,44,兰州理工大学计算机与通信学院,数据库原理与应用,P,rinciple and,A,pplication of,D,ataBase,A,B,C,D,a1,b1,55,101,a2,b2,45,101,a2,b2,45,102,a4,b2,35,null,A,B,C,D,a1,b1,55,101,a2,b2,45,101,a2,b2,45,102,a3,null,null,102,A,B,C,D,a1,b1,55,101,a2,b2,45,101,a2,b2,45,102,a4,b2,35,null,a3,null,null,102,左外,连接,右外,连接,全连接,5/23/2026,45,兰州理工大学计算机与通信学院,数据库原理与应用,P,rinciple and,A,pplication of,D,ataBase,4,聚集,关系的,聚集,运算指的是根据关系中的一组值,经统计、计算得到一个值作为结果,比较常用的聚集函数为求最大值,max,、最小值,min,、平均值,avg,、总和值,sum,和计数值,count,等,使用时聚集函数前标以手写体符号,“,G,”,。,例,2.12,求计通学院教师的平均年龄,5/23/2026,46,兰州理工大学计算机与通信学院,数据库原理与应用,P,rinciple and,A,pplication of,D,ataBase,第二章 关系模型,2.1,关系模型的基本概念,2.2,关系代数,2.3,关系演算,2.4,关系系统的十二条准则,2.5,关系系统的查询优化,2.6,关系数据库管理系统简介,2.7,小结,5/23/2026,47,兰州理工大学计算机与通信学院,数据库原理与应用,P,rinciple and,A,pplication of,D,ataBase,关系演算是以数理逻辑中的谓词演算为基础的。与关系代数相比较,关系演算是非过程化的。也就是说,当书写关系代数表达式时,提供了产生查询结果的过程序列。与之相反,关系演算只需描述结果的信息,而不给出获得信息的具体过程。依据关系演算中变量的不同,关系演算可分为元组关系演算和域关系演算。,5/23/2026,48,兰州理工大学计算机与通信学院,数据库原理与应用,P,rinciple and,A,pplication of,D,ataBase,元组关系演算,元组关系演算以元组为变量。元组关系演算表达式的一般形式为:,其中,:,为元组变量,是以元组变量为基础的公式。该表达式的含义是使为真的元组的集合。,用,关系演算表达式来表示的五种基本运算:,(,1,)并,(,2,)差,(,3,)笛卡儿积,5/23/2026,49,兰州理工大学计算机与通信学院,数据库原理与应用,P,rinciple and,A,pplication of,D,ataBase,(,4,)选择,(,5,)投影,例,2.13,查询计通学院的所有教师,例,2.14,查询年龄小于,35,岁的教师,例,2.15,查询教师姓名和所在部门,5/23/2026,50,兰州理工大学计算机与通信学院,数据库原理与应用,P,rinciple and,A,pplication of,D,ataBase,域关系演算,域关系演算与元组关系演算相似。元组关系演算中表达式使用的是元组变量,而域关系演算表达式中使用的是域变量(即以属性列为变量),域变量的变化范围是某个属性的值域,元组变量的变化范围是一个关系。,域关系演算表达式的一般形式是:,5/23/2026,51,兰州理工大学计算机与通信学院,数据库原理与应用,P,rinciple and,A,pplication of,D,ataBase,一个很有特色的域关系演算语言是,QBE,。,QBE(Query,By Example),是在,70,年代由,IBM,公司的,M.M.Zloof,提出的。目前有不少,DBMS,支持这种语言。比如,DB2,,,Paradox,,,dBASE,等。这是一种以域关系演算为基础的说明条件查询语言。,QBE,最大的特点是采用屏幕编辑的表格对数据库进行操作,不仅查询结果用表格的形式显示,而且用户的查询要求也是在屏幕上用填写表格的方式给出,因此非常直观,易学易用。,5/23/2026,52,兰州理工大学计算机与通信学院,数据库原理与应用,P,rinciple and,A,pplication of,D,ataBase,下面以教师,-,项目关系数据库为例简单地介绍可视化查询语言,QBE,。,1,数据查询,QBE,为用户提供了填写查询条件或显示结果的表格,形式为:,关系名,属性列,1,属性列,n,填写对元组的操作符,查询时填写应满足的查询条件,1,,查询后显示结果元组,查询时填写应满足的查询条件,n,,查询后显示结果元组,5/23/2026,53,兰州理工大学计算机与通信学院,数据库原理与应用,P,rinciple and,A,pplication of,D,ataBase,要完成查询,用户首先提出查询要求,屏幕上就会显示一个空白表格。用户在表格的第一列输入关系名,这时系统就会显示该关系的属性名,然后用户就可在其上构造查询要求。这里需要注意的是构造查询时,在结果输出列,需要填写示例元素。如下所示:,Teacher,Tno,Tname,Tsex,Tage,Tposition,Tdept,P.,T,5/23/2026,54,兰州理工大学计算机与通信学院,数据库原理与应用,P,rinciple and,A,pplication of,D,ataBase,例,2.16,查询计通学院全体教师的姓名,例,2.17,查询职称是教授并且年龄小于,40,岁的教师姓名,Teacher,Tno,Tname,Tsex,Tage,Tposition,Tdept,P.,李,CC,Teacher,Tno,Tname,Tsex,Tage,Tposition,Tdept,P.,李,40,professor,5/23/2026,55,兰州理工大学计算机与通信学院,数据库原理与应用,P,rinciple and,A,pplication of,D,ataBase,例,2.18,查询职称为教授或者性别为女的教师编号,例,2.19,查询在项目中排名第一的教师姓名,Teacher,Tno,Tname,Tsex,Tage,Tposition,Tdept,P.,200305001,P.,200305002,Female,professor,Teacher,Tno,Tname,Tsex,Tage,Tposition,Tdept,200305001,P.,李,TP,PRno,Tno,Order,200305001,1,5/23/2026,56,兰州理工大学计算机与通信学院,数据库原理与应用,P,rinciple and,A,pplication of,D,ataBase,2,数据更新,QBE,提供三个更新操作符:插入(,I.,)、删除(,D.,)和修改(,U.,)。更新操作首先要根据输人的条件查找出操作对象,这个过程和查询的实现相似,只是在每找到和条件一致的元组时,完成,I.,、,D.,和,U.,这些修改数据库的命令。,例,2.20,把,200305003,教师的职称改为教授,执行这个修改,可以有两种方法,一种是把修改操作符,U.,放在值上,另外一种是放在关系上。,5/23/2026,57,兰州理工大学计算机与通信学院,数据库原理与应用,P,rinciple and,A,pplication of,D,ataBase,Teacher,Tno,Tname,Tsex,Tage,Tposition,Tdept,200305003,U.professor,Teacher,Tno,Tname,Tsex,Tage,Tposition,Tdept,U.,200305003,P.,李,professor,例,2.21,将计通学院所有教师的年龄都增加一岁,Teacher,Tno,Tname,Tsex,Tage,Tposition,Tdept,U.,200305001,200305001,47,47+1,CC,5/23/2026,58,兰州理工大学计算机与通信学院,数据库原理与应用,P,rinciple and,A,pplication of,D,ataBase,例,2.22,把计通学院女教师,200305005,,姓名赵,年龄,38,,职称教授存入数据库中。,例,2.23,删除教师,200305004,。,Teacher,Tno,Tname,Tsex,Tage,Tposition,Tdept,I.,200305005,赵,female,38,professor,CC,Teacher,Tno,Tname,Tsex,Tage,Tposition,Tdept,D.,200305004,5/23/2026,59,兰州理工大学计算机与通信学院,数据库原理与应用,P,rinciple and,A,pplication of,D,ataBase,第二章 关系模型,2.1,关系模型的基本概念,2.2,关系代数,2.3,关系演算,2.4,关系系统的十二条准则,2.5,关系系统的查询优化,2.6,关系数据库管理系统简介,2.7,小结,5/23/2026,60,兰州理工大学计算机与通信学院,数据库原理与应用,P,rinciple and,A,pplication of,D,ataBase,关系数据库系统简称为关系系统。一个系统可定义为,关系系统,当且仅当它:,(,1,)支持关系数据库(关系数据结构),(,2,)支持选择、投影和(自然)连接运算。对这些运算不必要求定义任何物理存取路径。,关系系统应该完全地支持关系模型的所有特征。关系模型的奠基人,E.F.Codd,具体给出了关系系统应该遵循的,12,条基本准则。从实际意义上看,这,12,条准则可以作为评价关系型产品的标准。从理论意义上看,它是对关系数据模型的具体而又深入的论述,是从理论和实际紧密结合的高度对关系型数据库管理系统的评述。,5/23/2026,61,兰州理工大学计算机与通信学院,数据库原理与应用,P,rinciple and,A,pplication of,D,ataBase,准则,0,一个关系型的,DBMS,必须能完全通过它的关系能力来管理数据库。,准则,1,信息准则。关系型,DBMS,的所有信息都应在逻辑一级上用一种方法即表中的值显式地表示。,准则,2,保证访问准则。依靠表名、主码和列名的组合,保证能以逻辑方式访问关系数据库中的每个数据项(分量值),准则,3,空值的系统化处理。关系型的,DBMS,应支持空值的概念,并用系统化的方式处理空值。,5/23/2026,62,兰州理工大学计算机与通信学院,数据库原理与应用,P,rinciple and,A,pplication of,D,ataBase,准则,4,基于关系模型的动态的联机数据字典。数据库的描述在逻辑级上应该和普通数据采用同样的表示方式,使得授权用户可以使用查询一般数据所用的关系语言来查询数据库的描述信息。,准则,5,统一的数据子语言准则。,准则,6,视图更新准则。所有理论上可更新的视图也应该允许有系统更新。,准则,7,高级的插入、修改和删除操作。,5/23/2026,63,兰州理工大学计算机与通信学院,数据库原理与应用,P,rinciple and,A,pplication of,D,ataBase,准则,8,数据物理独立性。,准则,9,数据逻辑独立性。,准则,10,数据完整性的独立性。,准则,11,分布独立性。,准则,12,无破坏准则。,5/23/2026,64,兰州理工大学计算机与通信学院,数据库原理与应用,P,r
展开阅读全文