第3章 关系数据库系统模型.ppt
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第3章 关系数据库系统模型 关系 数据库 系统 模型
- 资源描述:
-
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,数据库原理及应用,第,3,章 关系数据库系统模型,第,3,章 关系数据库系统模型,3.1,关系数据模型,3.2,关系模型的完整性规则,3.3,关系代数的基本运算,3.4,关系演算,3.1,关系数据模型,3.1.1,关系模式,形式化地表示为:,R(U,D,DOM,F),R-,关系名;,U-,组成该关系的属性名集合;,D-,属性组,U,中属性所来自的域;,DOM-,属性向域的映像集合;,F-,属性间数据的依赖关系集合。,关系模式通常可以简记为,R(U),或,R(A1,,,A2,,,,,An),,其中,,R,为关系名,,A1,,,A2,,,,,An,为属性名。,1,关系,单一的数据结构,-,关系,现实世界的实体以及实体间的各种联系均用关系来表示,逻辑结构,-,二维表,从用户角度,关系模型中数据的逻辑结构是一张二维表,1,关系,学号,(SNO),姓名,(SNAME),性别,(SEX),年龄,(AGE),系别,(SDEPT),1105054208,张三,F,18,CS,1105054323,李四,M,19,IS,1104014109,王五,M,20,CS,表,3-1,学生表,关系模型术语,在关系模型中,字段称为,属性,,字段值称为,属性值,,记录类型称为,关系模式,。记录称为,元组,,元组的集合称为,关系或实例,。,关系中属性个数称为,元数,,元组个数称为,基数,。,关系中每一个属性都有一个取值范围,称为,属性的值域,。每一个属性列对应一个值域,不同的属性可对应于同一值域。,关系的特点,(1),关系可以看成是由行和列交叉组成的二维表格。它表示的是一个实体集合。,(2),表中一行称为一个元组,可用来表示实体集中的一个实体。,(3),表中的列称为属性,给每一列起一个名称即属性名,表中的属性名不能相同。,(4),列的取值范围称为域,同列具有相同的域。例如,年龄为整数域。,(5),表中任意两行(元组)不能相同。,关系的性质,严格地说,关系是一种,规范化,的二维表格,具有如下性质:,列是同质的:每一列中的分量是同一类型的数据,来自同一域。,不同列可来自同一个域:不同列(属性)要给予不同的属性名。,列的顺序无所谓:列的次序可以任意交换。,任意两个元组不能完全相同:这是由笛卡儿积的性质决定的。,行的顺序无所谓:行的次序可以任意交换。,分量必须取原子值:每一个分量都必须是不可分的数据项。,2,关键码和表之间的联系,超键,在一个关系中,能唯一标识元组的属性或属性集称为关系的超键。,候选键,如果一个属性集能唯一标识元组,且又不含有多余的属性,那么这个属性集称为关系的候选键。,主键,若一个关系中有多个候选键,则选其中的一个为关系的主键。包含在任何一个候选键中的属性称为,主属性,,不包含在任何键中的属性称为,非主属性,或,非键属性,。,外键,关系模式,R1,中的某一属性,(,或属性组,)F,与关系模式,R2,的主键相对应,但不是,R1,的超键,则称,F,是关系模式,R1,的外键。其中,基本关系,R1,称为,参照关系,;基本关系,R2,称为,被参照关系,或,目标关系,。,2,关键码和表之间的联系,例如:,学生关系,(SNO,,,SNAME,,,SEX,,,AGE,,,SDNO),系部关系,(SDNO,,,SDNAME,,,CHAIR),学生关系的主键是,SNO,,系部关系的主键为,SDNO,,在学生关系中,,SDNO,是它的外键。,学生关系为,参照关系,,系部关系为,被参照关系,。,3,关系模式、关系子模式和存储模式,关系模型基本上遵循数据库的三级体系结构。在关系模型中,概念模式是关系模式的集合,外模式是关系子模式的集合,内模式是存储模式的集合。,(1),关系模式,关系模式,是对关系的描述,它包括模式名,组成该关系的诸属性名、值域名和模式的主键。具体的关系称为实例。,【,例,3-1】,图,3-2,是一个教务管理子系统的实体联系图。学生实体的属性,SNO,、,SNAME,、,SEX,、,AGE,、,SDEPT,;课程实体的属性,CNO,、,CNAME,、,CDEPT,、,TNAME,。,学生关系用,S,表示,课程关系用,C,表示。,S,和,C,之间有,m:n,的联系(一个学生可选多门课程,一门课程可以被多个学生选修),联系类型,SC,的属性成绩用,GRADE,表示。,(1),关系模式,SC,S,C,SNAME,SNO,SDEPT,AGE,SEX,GRADE,CNO,CNAME,CDEPTE,TNAME,图,3-2,实体联系图,m,学生关系模式,S(,SNO,SNAME,SEX,AGE,SDEPT),选修关系模式,SC(,SNO,CNO,GRADE),课程关系模式,C(,CNO,CNAME,CDEPT,TNAME),n,SNO,SNAME,SEX,AGE,SDEPT,S1,张莉,F,18,CS,S2,李强,M,19,IS,S3,王刚,M,20,CS,SNO,CNO,GRADE,S1,C1,80,S2,C2,90,表,3-2,关系模式集的三个具体关系,CNO,CNAME,CDEPT,TNAME,C1,数据库,IS,刘军,C2,微机原理,CS,杨林,C3,编译原理,CS,王娟,(a),学生关系,(c),选修关系,(b),课程关系,(2),关系子模式,关系子模式,是用户所需数据结构的描述,其中包括这些数据来自哪些模式和应满足哪些条件。,【,例,3-2】,用户需要用到成绩子模式,F(SNO,,,SNAME,,,CNO,,,GRADE),。子模式,F,对应的数据来源于表,S,和表,SC,,构造时应满足它们的,SNO,值相等。,(3),存储模式,存储模式描述了关系是如何在物理存储设备上存储的。,关系存储时的基本组织方式是文件。,3.1.2,关系操作,基本的关系操作,关系操作采用集合操作方式,即操作的对象和结构都是集合。,关系模型中常用的关系操作包括:,(1),传统的集合运算:并、交、差和广义笛卡尔积。,(2),专门的关系运算:选择、投影、连接、除。,(3),有关的数据操作:查询、插入、删除、修改。,关系操作的特点,是集合操作方式,即操作的对象和结果都是集合。这种操作方式也称为一次一集合,(set-at-time),的方式。,关系数据库语言的分类,关系代数语言,用对关系的运算来表达查询要求,代表:,ISBL,关系演算语言:用谓词来表达查询要求,元组关系演算语言,谓词变元的基本对象是元组变量,代表:,APLHA,QUEL,域关系演算语言,谓词变元的基本对象是域变量,代表:,QBE,具有关系代数和关系演算双重特点的语言,代表:,SQL,(,Structured Query Language,),3.2,关系模型的完整性规则,3.2.1,关系的三类完整性约束,3.2.2,实体完整性,3.2.3,参照完整性,3.2.4,用户定义的完整性,3.2.1,关系的三类完整性约束,实体完整性和参照完整性:,关系模型必须满足的完整性约束条件,称为关系的两个,不变性,,应该由关系系统自动支持,用户定义的完整性:,应用领域需要遵循的约束条件,体现了具体领域中的语义约束,3.2.2,实体完整性,实体完整性,规则(,Entity Integrity,),若属性,A,是基本关系,R,的主属性,则属性,A,不能取空值,例:在学生关系,S,中,“学号”为主码,则它不能取空值。如选课关系,SC,中,“学号”与“课程号”为主码,则两个属性都不能取空值。,实体完整性,(,续,),实体完整性规则的说明,(1),实体完整性规则是针对基本关系而言的。一个基本表通常对应现实世界的一个实体集。,(2),现实世界中的实体是可区分的,即它们具有某种唯一性标识。,(3),关系模型中以主码作为唯一性标识。,(4),主码中的属性即主属性不能取空值。,主属性取空值,就说明存在某个不可标识的实体,即存在不可区,分的实体,这与第(,2,)点相矛盾,因此这个规则称为实体完整性,3.2.3,参照完整性,在关系模型中实体及实体间的联系都是用关系来描述的,因此可能,存在着关系与关系间的引用。,例,1,学生实体、系别实体,学生(,学号,,姓名,性别,,系别号,,年龄),系别(,系别号,,系名),主码,主码,学生关系引用了系别关系的主码“系别号”。,系别关系中的“系别号”值必须是确实存在的系的系别号,即系别,关系中有该系别的记录。,3.2.3,参照完整性(续),参照完整性,规则,若属性(或属性组),F,是基本关系,R,的外码它与基本关系,S,的主码,K,s,相对应(基本关系,R,和,S,不一定是不同的关系),则对于,R,中每个元组在,F,上的值必须为:,或者取空值(,F,的每个属性值均为空值),或者等于,S,中某个元组的主码值,参照完整性(续),例,:,学生关系中每个元组的,“,系别号,”,属性只取两类值:,(,1,),空值,,表示尚未给该学生分配系,(,2,)非空值,这时该值必须,是系别关系中某个元组的“系别号”值,,表示该学生不可能分配一个不存在的系,3.2.4,用户定义的完整性,针对某一具体关系数据库的约束条件,反映某一具体应用所涉及的数据必须满足的语义要求,关系模型应提供定义和检验这类完整性的机制,以便用统一的系统的方法处理它们,而不要由应用程序承担这一功能,3.2.4,用户定义的完整性(续),例,:,课程,(,课程号,,课程名,学分,),“,课程号”属性必须取唯一值,非主属性“课程名”也不能取空值,“学分”属性只能取值,1,,,2,,,3,,,4,集合,运算,符,-,并,差,交,笛卡尔积,比较运算符,大于,大于等于,小于,小于等于,等于,不等于,运算符,含义,运算符,含义,表,关系代数运算符,3.3,关系代数的基本运算,专门的关系运算符,选择,投影,连接,除,逻辑运算符,非,与,或,运算符,含义,运算符,含义,表,关系代数运算符(续),3.3,关系代数的基本运算,3.3,关系代数,的基本运算,传统的集合运算,专门的关系运算,3.3.1,传统的集合运算,首先给定两个关系,R,和,S,,分别表示参加运动会的跳高运动员和跳远运动员的学生信息,如表,3-3,表示关系,R,,表,3-4,表示关系,S,。,姓名,系,性别,李丽,计算机,女,王强,数学,男,张刚,物理,男,姓名,系,性别,陈芳,外语,女,李丽,计算机,女,赵铭,网络工程,男,张刚,物理,男,表,3-3,(关系,R,)跳高运动员,表,3-4(,关系,S),跳远运动员,1.,并运算(,Union,),R,和,S,具有相同的目,n,(,即两个关系都有,n,个属性),相应的属性取自同一个域,R,S,仍为,n,目关系,由属于,R,或属于,S,的元组组成,R,S,=,t,|,t,R,t,S,1.,并运算(,Union,),姓名,系,性别,李丽,计算机,女,王强,数学,男,张刚,物理,男,陈芳,外语,女,赵铭,网络工程,男,表,3-5 RS,实例:,RS,的结果为:,参加了跳高项目或跳远项目的学生的集合,2.,差运算(,Difference,),R,和,S,具有相同的目,n,相应的属性取自同一个域,R-S,仍为,n,目关系,由属于,R,而不属于,S,的所有元组组成,R,-,S,=,t,|,t,R,t,S,2.,差运算(,Difference,),R-S,的结果为:,参加跳高比赛而没有参加跳远比赛的学生集合,姓名,系,性别,王强,数学,男,表,3-6 R-S,3.,交运算(,Intersection,),R,和,S,具有相同的目,n,相应的属性取自同一个域,R,S,仍为,n,目关系,由既属于,R,又属于,S,的元组组成,R,S,=,t,|,t,R,t,S,R,S,=,R,(,R,-,S,),3.,交运算(,Intersection,),RS,的结果为:,既参加了跳高比赛又参加了跳远比赛的学生集合,姓名,系,性别,李丽,计算机,女,张刚,物理,男,表,3-7 RS,4.,广义笛卡尔积(,Cartesian Product,),R:,n,目关系,,k,1,个元组,S:,m,目关系,,k,2,个元组,R,S,列:(,n,+,m,),列元组的集合,元组的前,n,列是关系,R,的一个元组,后,m,列是关系,S,的一个元组,行:,k,1,k,2,个元组,R,S,=,t,r,t,s,|,t,r,R,t,s,S,4.,广义笛卡尔积(,Cartesian Product,),R.,姓名,R.,系,R.,性别,S.,姓名,S.,系,S.,性别,李丽,计算机,女,陈芳,外语,女,李丽,计算机,女,李丽,计算机,女,李丽,计算机,女,赵铭,网络工程,男,李丽,计算机,女,张刚,物理,男,王强,数学,男,陈芳,外语,女,王强,数学,男,李丽,计算机,女,王强,数学,男,赵铭,网络工程,男,王强,数学,男,张刚,物理,男,张刚,物理,男,陈芳,外语,女,张刚,物理,男,李丽,计算机,女,张刚,物理,男,赵铭,网络工程,男,张刚,物理,男,张刚,物理,男,表,3-8 RS,3.3.2,专门的关系运算,选择,投影,连接,除,学生课程关系数据库,学号,姓名,性别,年龄,系别,110201,陈芳,女,20,外语,110202,李丽,女,19,计算机,110203,赵铭,男,20,网络工程,110204,张刚,男,18,计算机,学号,课程号,成绩,110201,1,85,110202,2,75,110203,2,90,110201,3,88,110204,4,76,课程号,课程名,学分,1,排球,3,2,篮球,2,3,网球,3,4,乒乓球,2,5,足球,3,6,羽毛球,2,表,3-9(a),学生表,(S),表,3-9(b),课程表,(C),表,3-9(c),选修关系表,(SC),1.,选择(,Selection,),1),选择又称为限制(,Restriction,),2),选择运算符的含义,在关系,R,中选择满足给定条件的诸元组,F,(,R,)=,t,|,t,R,F,(,t,)=,真,F,:,选择条件,是一个逻辑表达式,基本形式为:,X,1,Y,1,选择,(,续),3),选择运算是从关系,R,中选取使逻辑表达式,F,为真的元组,是从行的角度进行的运算,选择(续),【,例,3-5】,查询全体女生的元组。,性别,=,女,(,学生表,),或,3=,女,(,学生表,),结果:,学号,姓名,性别,年龄,系别,110201,陈芳,女,20,外语,110202,李丽,女,19,计算机,选择(续),【,例,3-6】,查询年龄小于,20,岁学生的元组。,年龄,20,(,学生表,),或,420,(,学生表,),结果:,学号,姓名,性别,年龄,系别,110202,李丽,女,19,计算机,110204,张刚,男,18,计算机,2.,投影(,Projection,),1,)投影运算符的含义,从,R,中选择出若干属性列组成新的关系,A,(,R,)=,t,A,|,t,R,A,:,R,中的属性列,2.,投影(,Projection,),2,)投影操作主要是从列的角度进行运算,但投影之后不仅取消了原关系中的某些列,而且还可能取消某些元组(避免重复行),投影,(,续),【,例,3-7】,查询学生关系在学生姓名和性别两个属性上的投影,姓名,性别,(,学生表,),或,2,,,3,(,学生表,),结果:,姓名,性别,陈芳,女,李丽,女,赵铭,男,张刚,男,投影,(,续),【,例,3-8】,查询学生关系中有哪些系。,系别,外语,计算机,网络工程,结果如表,3-11(b),所示。学生关系原来有四个元组,而投影结果取消了重复的信息系元组,因此只有三个元组。,表,3-11(b),3.,连接(,Join,),1,)连接也称为,连接,2,)连接运算的含义,从两个关系的笛卡尔积中选取属性间满足一定条件的元组,R S,=|,t,r,R,t,s,S,t,r,A,t,s,B,A,和,B,:,分别为,R,和,S,上度数相等且可比的属性组,:,比较运算符,连接运算从,R,和,S,的广义笛卡尔积,R,S,中选取(,R,关系)在,A,属性组上的值与(,S,关系)在,B,属性组上值满足比较关系,的元组,A,B,t,r,t,s,连接,(,续,),3,)两类常用连接运算,等值连接(,equijoin,),什么是等值连接,为“”的连接运算称为等值连接,等值连接的含义,从关系,R,与,S,的广义笛卡尔积中选取,A,、,B,属性,值相等的那些元组,即等值连接为:,R S,=|,t,r,R,t,s,S,t,r,A,=,t,s,B,A=B,t,r,t,s,连接,(,续,),自然连接(,Natural join,),自然连接是一种特殊的等值连接,两个关系中进行比较的分量必须是相同的属性组,在结果中把重复的属性列去掉,自然连接的含义,R,和,S,具有相同的属性组,B,R,S,=|,t,r,R,t,s,S,t,r,B,=,t,s,B,t,r,t,s,连接,(,续,),4,)一般的连接操作是从行的角度进行运算。,自然连接还需要取消重复列,所以是同时从行和列的角度进行运算。,A,B,R,S,连接,(,续,),【,例,3-9】,设关系,RS,分别为表,3-12(a)(b),所示,求:,(1)(2)(3)R S,A,B,C,a1,b1,4,a1,b2,6,a2,b3,5,a2,b4,12,B,C,D,b1,4,3,b2,5,7,b3,10,10,b4,9,2,b3,5,2,表,3-12(a),表,3-12(b),连接,(,续,),一般连接 的结果如下:,A,R,.,B,R,.,C,S,.,B,S,.,C,D,a1,b1,4,b2,5,7,a1,b1,4,b3,10,10,a1,b2,6,b2,5,7,a1,b2,6,b3,10,10,a2,b3,5,b3,10,10,连接,(,续,),等值连接,R S,的结果如下:,R.B=S.B,A,R,.,B,R,.,C,S,.,B,S,.,C,D,a1,b1,4,b1,4,3,a1,b2,6,b2,5,7,a2,b3,5,b3,10,10,a2,b3,5,b3,5,2,a2,b4,12,b4,9,2,连接,(,续,),自然连接,R,S,的结果如下:,A,B,C,D,a1,b1,4,3,a2,b3,5,2,4.,除(,Division,),象集,Z,x,给定一个关系,R,(,X,,,Z,),,X,和,Z,为属性组。,当,t,X,=,x,时,,x,在,R,中的,象集,(,Images Set,),为:,Z,x,=,t,Z,|,t,R,,,t,X,=,x,它表示,R,中属性组,X,上值为,x,的诸元组在,Z,上分量的集合。,4.,除(,Division,),x,1,在,R,中的象集,Z,x1,=,Z,1,,,Z,2,,,Z,3,,,x,2,在,R,中的象集,Z,x2,=,Z,2,,,Z,3,,,x,3,在,R,中的象集,Z,x3,=,Z,1,,,Z,3,象集举例,4.,除(,Division,),给定关系,R,(,X,,,Y,),和,S,(,Y,,,Z,),,,其中,X,,,Y,,,Z,为属性组。,R,中的,Y,与,S,中的,Y,可以有不同的属性名,但必须出自相同的域集。,R,与,S,的除运算得到一个新的关系,P(X),,,P,是,R,中满足下列条件的元组在,X,属性列上的投影:,元组在,X,上分量值,x,的象集,Y,x,包含,S,在,Y,上投影的集合,记作:,R,S,=,t,r,X,|,t,r,R,Y,(,S,),Y,x,Y,x,:,x,在,R,中的象集,,x,=,t,r,X,除(续),2,)除操作是同时从行和列角度进行运算,R,S,除(续),例,6,设关系,R,、,S,分别为下图的,(a),和,(b),,,R,S,的结果为图,(c),分析,在关系,R,中,,A,可以取四个值,a1,,,a2,,,a3,,,a4,a,1,的象集为,(,b,1,,,c,2,),,,(,b,2,,,c,3,),,,(,b,2,,,c,1,),a,2,的象集为,(,b,3,,,c,7,),,,(,b,2,,,c,3,),a,3,的象集为,(b,4,,,c,6,),a,4,的象集为,(,b,6,,,c,6,),S,在,(,B,,,C,),上的投影为,(b1,,,c2),,,(b2,,,c1),,,(b2,,,c3),只有,a,1,的象集包含了,S,在,(,B,,,C,),属性组上的投影,所以,R,S,=,a,1,3.3.3,关系代数的扩充运算,改名,广义投影,赋值,外连接,外部并,半连接,聚集,1,改名,(Rename),改名也称重命名,是关系代数中一种常用的附加操作功能。,改名运算的形式为:,s(A1,A2,An)(R,),,,表示将关系,R,重命名为,S,,,R,中的属性依次重命名为,A,1,,,A,2,,,,,A,n,。如果只是希望将关系,R,改名成,S,而其属性名称保持不变,则此时改名运算可表示成为:,s(R,),。,1,改名,(Rename),设给定关系,R(A,,,B,,,C),和,S(B,,,C,,,D),,则,RS,的属性应写成,A,、,R.B,、,R.C,、,S.B,、,S.C,、,D,,可以通过改名运算使其属性更为清晰,如将,RS,写成,Rs(X,Y,D,)(S),,则属性为,A,、,B,、,C,、,X,、,Y,、,D,。,2,广义投影,(Generalized Projection),广义投影是投影运算的扩展。,该运算允许在投影列表中使用算术函数来对投影进行扩展,其形式为:,F1,F2,FK,(R),其中,R,为关系,,F1,F2,FK,是涉及关系,R,的属性和常量的算术表达式。,2,广义投影,(Generalized Projection),【,例,3-11】,给定职工关系,Employee(eno,,,name,,,department,,,age,,,sex,,,pay),如要将年龄为,40,岁以上的职工工资上调,10%,,则可使用广义投影表示为:,eno,,,name,,,department,,,age,,,sex,,,pay*1.1,(,age,40,(Employee),3,赋值(,Assignment,),赋值运算的形式为:,SR,,表示将关系,R,的结果赋值给关系,S,,在后续运算中,,S,可以代表,R,进行运算。,在关系代数的运算中,可以通过给临时关系变量赋值,将一个比较复杂的关系代数表达式分开书写成若干个简单的表达式。,3,赋值(,Assignment,),【,例,3-12】,在关系,Course,中增添一门新课:,(9,,艺术体操,,2),,可用赋值操作表示为:,CourseCourse9,,艺术体操,,2,设学号为,110203,的学生因故退学,请在关系,Student,和,SC,中将其相关记录删除,可表示为:,StudentStudent,-(,sno,=110203,(Student),SCSC-(,sno,=110203,(SC),4,外连接,(Outer Join),外连接,如果把舍弃的元组也保存在结果关系中,而在其他属性上填空值,(Null),,,这种连接就叫做外连接(,OUTER JOIN,)。,左外连接,如果只把左边关系,R,中要舍弃的元组保留就叫做左外连接,(LEFT OUTER JOIN,或,LEFT JOIN),右外连接,如果只把右边关系,S,中要舍弃的元组保留就叫做右外连接,(RIGHT OUTER JOIN,或,RIGHT JOIN),。,4,外连接,(Outer Join),A,B,C,a,b,c,b,b,f,c,a,d,B,C,D,b,c,d,b,c,e,a,d,b,e,f,g,【,例,3-13】,如表,3-15(a),、,(b),所示,给定关系,R,和,S,,则二者的自然连接、左外连接、右外连接和全外连接分别如表,3-15(c),、,(d),、,(e),、,(f),所示。,A,B,C,D,a,b,c,d,a,b,c,e,c,a,d,b,(a),关系,R,(b),关系,S,(c),自然连接,4,外连接,(Outer Join),A,B,C,D,a,b,c,d,a,b,c,e,c,a,d,b,b,b,f,null,A,B,C,D,a,b,c,d,a,b,c,e,c,a,d,b,null,e,f,g,A,B,C,D,a,b,c,d,a,b,c,e,c,a,d,b,b,b,f,null,null,e,f,g,(d),左外连接,(e),右外连接,(f),全外连接,5,外部并,(Outer Union),外部并是并运算的扩展。,外部并就是针对这一问题提出的一种扩展运算:设关系,R,和,S,的关系模式不同,则,R,和,S,的外部并是由,R,和,S,的所有属性组成(公共属性只取一次)的一种新关系,记为,RS,该关系的元组由属于,R,或,S,的所有元组组成,同时元组在新增加的属性上填充空值,(null),。,5,外部并,(Outer Union),【,例,3-14】,表,3-15,中关系,R,和,S,的外部并运算结果如表,3-16,所示。,A,B,C,D,a,b,c,null,b,b,f,null,c,a,d,null,null,b,c,d,null,b,c,e,null,a,d,b,null,e,f,g,表,3-16,关系代数外部并运算结果,6,半连接(,Semi-join,),半连接是建立在自然连接基础上的一种扩展运算。,该运算的作用是从关系,R,中筛选出与关系,S,进行自然连接运算可以匹配的元组集合,记作,R S,,其形式化定义为:,R S=,R,(R S),即关系,R,和,S,的半连接是,R,和,S,的自然连接在,R,的所有属性上的投影。显然半连接不满足交换律,即,R SS R,。,6,半连接(,Semi-join,),【,例,3-15】,表,3-15,中关系,R,和,S,的半连接运算结果如表,3-17(a),、,(b),所示。,A,B,C,a,b,c,c,a,d,B,C,D,b,c,d,b,c,e,a,d,b,(a)R S,(b)S R,7,聚集,(Aggregate),聚集运算是指输入一个值的集合,然后根据该值的集合得到一个单一的值作为结果。,常用的聚集运算有求最大值,max,、最小值,min,、平均值,avg,、求和,sum,和计数,count,等。,7,聚集,(Aggregate),【,例,3-16】,设有职工关系,Employee(,eno,,,name,,,department,,,age,,,sex,,,pay),进行以下查询。,(1),计算男职工的平均年龄,则用聚集运算表示为:,avgage(,sex=,男,(Employee),(2),计算女职工的最高工资,则用聚集运算表示为:,maxpay(,sex=,女,(Employee),3.3.4,关系代数表达式及其应用实例,【,例,3-17】,设教务管理数据库中有三个关系:,学生关系,S(SNO,,,SNAME,,,AGE,,,SEX),选课关系,SC(SNO,,,CNO,,,GRADE),课程关系,C(CNO,,,CNAME,,,TEACHER),3.3.4,关系代数表达式及其应用实例,下面用关系代数表达式表达每个查询语句。,(1),检索学习课程号为,C2,的学生学号与成绩。,SNO,GRADE,(,CNO=C2,(SC),表达式中也可以不写属性名,而写上属性列的序号,如下面表达式:,1,3,(,CNO=C2,(SC),(2),检索学习课程号为,C2,的学生学号与姓名。,SNO,SNAME,(,CNO=C2,(S SC),3.3.4,关系代数表达式及其应用实例,(3),检索选修课程名为排球的学生学号与姓名。,SNO,SNAME,(,CNAME,=,排球,(S SC C),(4),检索选修课程号为,C1,或,C3,的学生学号。,SNO,(,CNO,=C1CNO=C3,(SC),(5),检索至少选修课程号为,C1,和,C3,的学生学号。,1,(,1=42=C15=C3,(SCSC),这里,(SCSC),表示关系,SC,自身相乘的笛卡儿积操作。,(6),检索不学,C1,课的学生姓名与年龄。,SNAME,AGE,(S)-,SNAME,AGE,(,CNO,=C1,(S SC),3.3.4,关系代数表达式及其应用实例,(7),检索学习全部课程的学生姓名。,编写这个查询语句的关系代数表达式过程如下:,学生选课情况可用操作,SNO,CNO,(SC),表示;,全部课程可用操作,CNO,(C),表示;,学了全部课程的学生学号可用除法操作表示,操作结果是学号,SNO,的集合。,SNO,CNO,(SC)CNO(C),从,SNO,求学生姓名,SNAME,,可以用自然联接和投影操作组合而成:,SNAME,(S (,SNO,CNO,(SC),CNO,(C),3.3.4,关系代数表达式及其应用实例,(8),检索所学课程包含学生,S1,所学课程的学生学号。,学生选课情况可用操作,SNO,CNO,(SC),表示;,学生,S1,所学课程可用操作,CNO,(,SNO,=S1,(SC),表示;,所学课程包含学生,S1,所学课程的学生学号,可以用除法操作求得:,SNO,CNO,(SC),CNO,(,SNO,=S1,(SC),3.4,关系演算,元组关系演算:,以,元组变量,作为谓词变元的基本对象,元组关系演算语言,ALPHA,域关系演算:,以,域变量,作为谓词变元的基本对象,域关系演算语言,QBE,3.4.1,元组关系演算,在元组关系演算中,元组关系演算表达式简称为元组表达式,其一般形式为,t|P(t,),式中,,t,是元组变量,表示一个元数固定的元组。,t,必须是,P(t,),中唯一的自由元组变量。,P,是公式,可以看成程序设计语言中的条件表达式。,1.,原子公式,(Atoms),元组表达式中的公式由原子公式组成,原子公式有下列三种形式。,(1),R(t,),:,R,是关系名,,t,是元组变量。,R(t,),表示这样一个命题:“,t,是关系,R,的一个元组”。,(2),ti,C,或,C,ti,ti,表示元组变量,t,的第,i,个分量,,C,是常量,,为算术比较运算符。,ti,C,或,C,ti,表示这样一个命题:“元组,t,的第,t,个分量与,C,之间满足,运算”。,例如,,t2=5,,表示“元组,t,的第,2,个分量的值等于,5”,。,(3),ti,uj,t,u,是两个元组变量。,ti,uj,表示这样一个命题:“元组,t,的第,i,个分量与元组,u,的第,j,个分量之间满足,运算”。,例如,,t2 P2,表示命题:“若,P1,为真同时,P2,为假,则,P1=P2,为假;否则,P1=P2,为真”。公式中的元组变量性质(指自由性或约束性)将与,P1,和,P2,保持一致。,2,公式,(Formulas),(3),设,P1,是公式,,t,是,P1,中的元组变量,那么下列两项也是公式。,(,t)(P1),表示命题:“若有一个,t,使,P1,为真,则,(,t)(P1),为真;否则,(,t)(P1),为假”。,(,t),是一个量词,其含义为“存在这样的,t”,或“至少有这样一个,t”,。元组变量,t,在,P1,中是自由的,在,(,t)(P1),中是约束的。,P1,中其他元组变量的自由或约束性质在,(,t)(P1),中没有改变。,(,t)(P1),表示命题:“对所有的,t,,使,P1,都为真,则,(,t)(P1),为真;否则,,(,t)(P1),为假”。,(,t),也是一个量词,其含义为“对所有的,t”,或“对任意一个,t”,。元组变量,t,在,P1,中是自由的,在,(,t)(P1),中是约束的。,P1,中其他元组变量的自由或约束性质在,(,t)(P1),中没有改变。,2,公式,(Formulas),(4),在公式中,各种运算符的优先级从高到低依次为:,,和,和,,=,。加括号时,括号中的运算优先。,(5),所有公式均按上述的规则经有限次复合求得,除此之外的都不是公式。,3,公式等价变换,根据数理逻辑的谓词演算规则,公式可做等价变换,下面是三个常用的等价变换。,(1)P1P2,等价于,(,P1,P2),P1P2,等价于,(,P1,P2),(2)P1=P2,等价于,P1P2,(3)(,t)(P1(t),等价于,(,t)(,P1(t),(,t)(P1(t),等价于,(,t)(,P1(t),4.,元组关系演算与关系代数的等价性,(1),并操作,():,RS=,t|R(t)S(t,),(2),差操作,(,),:,R-S=,t|R(t,),S(t,),(3),笛卡尔乘积,():,RS=,t,(m+n,),|(,u,(m,),)(,v,(n),)(R,(u),S,(v),t1=u1t2=u2,tm,=umtm+1=v1tm+2=v2,tm+n,=,vn,),式中,,R,是,m,目关系,,S,是,n,目关系,,t,(m+n,),表示,t,的目数为,m+n,。,4.,元组关系演算与关系代数的等价性,(4),投影(,):,i,1,,,i,2,,,,,i,k,(R,)=,t(k,)|(u)R(u)t1=ui,1,t,2,=ui,2,t,k,=,u,ik,),(5),选择,():,F,(R,)=,t|R(t)F,其中,,F,是,F,在元组演算中等价的表示形式。,5.,元组关系演算举例,【,例,3-19】,设有一个学生课程关系数据库,包括学生关系,(S),、课程关系,(C),和选修关系,(SC),,用元组关系演算完成下列问题的查询:,(1),学号为,1105054209,的学生因故退学,删除其相关记录。,(2),在关系,C,中增加一门新课程,(C9,,网球,,5,,,36,,,2),。,(3),检索计算机系的全体学生。,(4),检索年龄大于,19,岁的男生。,(5),给出所有课程的名称和学时。,(6),检索选修课程号为,C5,的学生学号和成绩及其姓名。,(7),检索未选修“羽毛球”课程的学生的学号和姓名。,(8),检索选修课程号为,C1,或,C3,的学生的学号和姓名。,(9),检索同时选修课程号为,C1,和,C3,的学生的姓名。,(10),检索选修全部课程的学生的姓名。,(11),检索选修课程包含学生,1105054105,选修的课程的学生的学号,或选修课程不包含学生,1105054105,选修的课程的学生的姓名。,3.4.2,域关系演算,域关系演算类似于元组关系演算。域演算表达式的 一般形式为:,t,1,t,2,t,k,|p(t,1,t,2,t,k,),其中,,t,1,t,2,t,k,为元组变量,t,的各个分量,统称为域变量;,P,是一个关于自由域变量,t,1,t,2,t,k,的公式。,t,1,t,2,t,k,|p(t,1,t,2,t,k,),表示满足公式,P,的所有,t,1,t,2,t,k,值的集合,实际上就是域演算的结果关系。即一个关系可用一个域演算表达式表示。,1,原子公式,基于域演算的原子公式也有三种形式。,(1)R(t,1,t,2,t,k,),R,是,k,元关系,,t,i,是域变量或常量。,R(t,1,t,2,t,k,),表示这样的命题:“以,t,1,t,2,t,k,为分量的元组在关系,R,中”。,(2)t,i,C,或,Ct,i,t,i,为域变量,,C,为常量,,为算术比较运算符。,t,i,C,或,Ct,i,表示这样一个命题:“域变量,t,i,与常量,C,之间满足,运算”。例如,,t3=8,,表示“域变量,t3,的值等于,8”,。,(3),t,i,u,j,t,i,与,u,j,均为域变量,,为算术比较运算符。,t,i,u,j,表示这样一个命题:“域变量,t,i,与,u,j,之间满足,运算”。例如,,t2P2,也是公式。,(3),若,P(t,1,t,2,t,k,),是公式,则,(,t,i,)(P,),和,(,t,i,)(P,),,,(i=1,2,k),也是公式。,(4),在公式中,各种运算符的优先级从高到低依次为:,,,和,,,,和,,=,。加括号时,括号中的运算优先。,(5),所展开阅读全文
咨信网温馨提示:1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。




第3章 关系数据库系统模型.ppt



实名认证













自信AI助手
















微信客服
客服QQ
发送邮件
意见反馈



链接地址:https://www.zixin.com.cn/doc/14001293.html