《第四章 关系运算精选PPT.ppt》由会员分享,可在线阅读,更多相关《第四章 关系运算精选PPT.ppt(83页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第四章第四章关系运算关系运算第1页,此课件共83页哦第四章第四章关系运算关系运算4.1关系代数关系代数4.2关系演算关系演算4.3关系代数表达式的优化关系代数表达式的优化第2页,此课件共83页哦4.1 关系代数关系代数v概述概述v传统的集合运算传统的集合运算v专门的关系运算专门的关系运算第3页,此课件共83页哦集合运算符-并差交笛卡尔积比较运算符大于大于等于小于小于等于等于不等于运算符含义运算符含义表表2.4关系代数运算符关系代数运算符概概述述第4页,此课件共83页哦专门的关系运算符选择投影连接除逻辑运算符非与或运算符含义运算符含义表表2.4关系代数运算符(续)关系代数运算符(续)概概述述(续
2、续)第5页,此课件共83页哦2.4 关系代数关系代数v概述概述v传统的集合运算传统的集合运算v专门的关系运算专门的关系运算第6页,此课件共83页哦1.并(并(Union)vR和S具有相同的目n(即两个关系都有n个属性)相应的属性取自同一个域vRS仍为n目关系,由属于R或属于S的元组组成 RS=t|t Rt S 第7页,此课件共83页哦并并(续续)第8页,此课件共83页哦“并并”的练习的练习设有关系R和S(表4.10)计算出RS:ABC246357468ABC257468359第9页,此课件共83页哦2.差(差(Difference)vR和S具有相同的目n相应的属性取自同一个域vR-S仍为n目关
3、系,由属于R而不属于S的所有元组组成R-S=t|tRtS第10页,此课件共83页哦差差(续续)第11页,此课件共83页哦“差差”的练习的练习设有关系R和S(表4.10)计算出R-S:ABC246357468ABC257468359第12页,此课件共83页哦3.交(交(Intersection)vR和S具有相同的目n相应的属性取自同一个域vRS仍为n目关系,由既属于R又属于S的元组组成 RS=t|t Rt S RS=R(R-S)第13页,此课件共83页哦交交(续续)第14页,此课件共83页哦“交交”的练习的练习设有关系R和S(表4.10)计算出RS:ABC246357468ABC25746835
4、9第15页,此课件共83页哦4.笛卡尔积(笛卡尔积(CartesianProduct)v严格地讲应该是广义的笛卡尔积(ExtendedCartesianProduct)vR:n目关系,k1个元组vS:m目关系,k2个元组vRS列:(n+m)列元组的集合元组的前n列是关系R的一个元组后m列是关系S的一个元组行:k1k2个元组RS=trts|trRtsS第16页,此课件共83页哦交交(续续)第17页,此课件共83页哦“笛卡尔积笛卡尔积”的练习的练习设有关系R和S(表4.10)计算出RS:ABC246357468ABC257468359第18页,此课件共83页哦4.1 关系代数关系代数v概述概述v传
5、统的集合运算传统的集合运算v专门的关系运算专门的关系运算第19页,此课件共83页哦专门的关系运算专门的关系运算vx1在R中的象集 Zx1=Z1,Z2,Z3,vx2在R中的象集 Zx2=Z2,Z3,vx3在R中的象集 Zx3=Z1,Z3象集举例R(X,Z),X和Z为属性组。第20页,此课件共83页哦专门的关系运算专门的关系运算(续续)v选择v投影v连接v除第21页,此课件共83页哦专门的关系运算专门的关系运算(续续)(a)Student4)学生-课程数据库:学生关系Student、课程关系Course和选修关系SC学号学号Sno姓名姓名Sname性别性别Ssex年龄年龄Sage所在系所在系Sde
6、pt200215121李勇李勇男男20CS200215122刘晨刘晨女女19IS200215123王敏王敏女女18MA200215125张立张立男男19IS第22页,此课件共83页哦专门的关系运算专门的关系运算(续续)课程号课程号Cno课程名课程名Cname先行课先行课Cpno学分学分Ccredit1数据库数据库542数学数学23信息系统信息系统144操作系统操作系统635数据结构数据结构746数据处理数据处理27PASCAL语言语言64Course(b)第23页,此课件共83页哦专门的关系运算专门的关系运算(续续)(c)SC学号学号Sno课程号课程号Cno成绩成绩Grade200215121
7、192200215121285200215121388200215122290200215122380第24页,此课件共83页哦1.选择(选择(Selection)v1)选择又称为限制(Restriction)v2)选择运算符的含义在关系R中选择满足给定条件的诸元组F(R)=t|tRF(t)=真F:选择条件,是一个逻辑表达式,基本形式为:X1Y1第25页,此课件共83页哦选择(续)选择(续)v3)选择运算是从关系R中选取使逻辑表达式F为真的元组,是从行的角度进行的运算第26页,此课件共83页哦选择(续)选择(续)例1查询信息系(IS系)全体学生Sdept=IS(Student)或5=IS(St
8、udent)结果:SnoSnameSsexSageSdept200215122刘晨女19IS200215125张立男19IS第27页,此课件共83页哦选择(续)选择(续)例2查询年龄小于20岁的学生Sage20(Student)或46(R)和A=3(S):ABC246357468ABC257468359第29页,此课件共83页哦2.投影(投影(Projection)v1)投影运算符的含义从R中选择出若干属性列组成新的关系A(R)=tA|t RA:R中的属性列第30页,此课件共83页哦2.投影(投影(Projection)v2)投影操作主要是从列的角度进行运算从列的角度进行运算但投影之后不仅取消
9、了原关系中的某些列,而且还可能取消某些元组(避免重复行)第31页,此课件共83页哦投影(续)投影(续)v例3查询学生的姓名和所在系即求Student关系上学生姓名和所在系两个属性上的投影Sname,Sdept(Student)或2,5(Student)结果:第32页,此课件共83页哦投影(续)投影(续)SnameSdept李勇CS刘晨IS王敏MA张立IS第33页,此课件共83页哦投影(续)投影(续)例4查询学生关系Student中都有哪些系Sdept(Student)结果:SdeptCSISMA第34页,此课件共83页哦“投影投影”的练习的练习设有关系R和S(表4.10)计算出3,1(R)和A
10、,B(S):ABC246357468ABC257468359第35页,此课件共83页哦3.连接(连接(Join)v1)连接也称为连接v2)连接运算的含义从两个关系的笛卡尔积中选取属性间满足一定条件的元组R S=|tr Rts StrAtsBA和B:分别为R和S上度数相等且可比的属性组:比较运算符连接运算从R和S的广义笛卡尔积RS中选取(R关系)在A属性组上的值与(S关系)在B属性组上值满足比较关系的元组 ABtrts第36页,此课件共83页哦连接连接(续续)v3)两类常用连接运算等值连接(equijoin)什么是等值连接为“”的连接运算称为等值连接等值连接的含义从关系R与S的广义笛卡尔积中选取
11、A、B属性值相等的那些元组,即等值连接为:R S=|tr RtsStrA=tsBA=Btrts第37页,此课件共83页哦连接连接(续续)自然连接(Naturaljoin)自然连接是一种特殊的等值连接两个关系中进行比较的分量必须是相同的属性组在结果中把重复的属性列去掉自然连接的含义R和S具有相同的属性组BRS=|trRtsStrB=tsBtrts第38页,此课件共83页哦连接连接(续续)v4)一般的连接操作是从行的角度进行运算。自然连接还需要取消重复列,所以是同时从行和列的角度进行运算。ABRS第39页,此课件共83页哦连接连接(续续)v例5关系R和关系S如下所示:第40页,此课件共83页哦连接
12、连接(续续)一般连接RS的结果如下:CE第41页,此课件共83页哦一般连接练习一般连接练习一般连接RS的结果:CE第42页,此课件共83页哦连接连接(续续)v例5关系R和关系S如下所示:第43页,此课件共83页哦连接连接(续续)等值连接R S 的结果如下:R.B=S.B 第44页,此课件共83页哦连接连接(续续)v例5关系R和关系S如下所示:第45页,此课件共83页哦连接连接(续续)自然连接R S的结果如下:第46页,此课件共83页哦连接连接(续续)v外连接如果把舍弃的元组也保存在结果关系中,而在其他属性上填空值(Null),这种连接就叫做外连接(OUTERJOIN)。v左外连接如果只把左边关
13、系R中要舍弃的元组保留就叫做左外连接(LEFTOUTERJOIN或LEFTJOIN)v右外连接如果只把右边关系S中要舍弃的元组保留就叫做右外连接(RIGHTOUTERJOIN或RIGHTJOIN)。第47页,此课件共83页哦连接连接(续续)v例5关系R和关系S如下所示:第48页,此课件共83页哦连接连接(续续)下图是例5中关系R和关系S的外连接第49页,此课件共83页哦连接连接(续续)v例5关系R和关系S如下所示:第50页,此课件共83页哦数据库系统概论国脉信息学院连接连接(续续)图(b)是例5中关系R和关系S的左外连接,图(c)是右外连接第51页,此课件共83页哦数据库系统概论国脉信息学院4
14、.除(除(Division)给定关系R(X,Y)和S(Y,Z),其中X,Y,Z为属性组。R中的Y与S中的Y可以有不同的属性名,但必须出自相同的域集。R与S的除运算得到一个新的关系P(X)P(X),P是R R中满足下列条件的元组在中满足下列条件的元组在 X 属性列上的投影:元组在X上分量值x的象集Yx包含S在Y上投影的集合,记作:RS=tr X|tr RY(S)Yx Yx:x在R中的象集,x=trX第52页,此课件共83页哦数据库系统概论国脉信息学院除除(续续)v2)除操作是同时从行和列角度进行运算RS第53页,此课件共83页哦除除(续续)例6设关系R、S分别为下图的(a)和(b),RS的结果第
15、54页,此课件共83页哦分析分析v在关系R中,A可以取四个值a1,a2,a3,a4 a1的象集为(b1,c2),(b2,c3),(b2,c1)a2的象集为(b3,c7),(b2,c3)a3的象集为(b4,c6)a4的象集为(b6,c6)vS在(B,C)上的投影为 (b1,c2),(b2,c1),(b2,c3)v只有a1的象集包含了S在(B,C)属性组上的投影所以RS=a1第55页,此课件共83页哦4.1.3综合举例综合举例以第一章图以第一章图1.17的教学数据库中的四个关系为例(的教学数据库中的四个关系为例(P16)例4.5教师关系T(T#,TNAME,TITLE)课程关系C(C#,CNAME
16、,T#)学生关系S(S#,SNAME,AGE,SEX)选课关系SC(S#,C#,SCORE)第56页,此课件共83页哦综合举例综合举例(续续)v用关系代数表达式表达每个查询语句。用关系代数表达式表达每个查询语句。(1)检索学习课程号为)检索学习课程号为C2课程的学生学号与成绩。课程的学生学号与成绩。s#,SCORE(C#=c2(SC)(2)检索学生课程号为)检索学生课程号为C2课程的学生学号与姓名。课程的学生学号与姓名。s#,SNAME(C#=c2(SSC)第57页,此课件共83页哦综合举例综合举例(续续)v用关系代数表达式表达每个查询语句。用关系代数表达式表达每个查询语句。(3)检索至少选修
17、)检索至少选修LI老师所授课程中一门课程的学生学号与姓老师所授课程中一门课程的学生学号与姓名。名。s#,SNAME(TNAME=LIU(SSCCT)(4)检索选修课程号为)检索选修课程号为C2或者或者C4课程的学生学号。课程的学生学号。s#(C#=c2vC#=c4(SC)第58页,此课件共83页哦综合举例综合举例(续续)v用关系代数表达式表达每个查询语句。用关系代数表达式表达每个查询语句。(5)检索不学)检索不学C2课的学生姓名与年龄。课的学生姓名与年龄。SNAME,AGE(S)SNAME,AGE(C#=C2(SSC)(6)检索至少选修课程号为)检索至少选修课程号为C2和和C4课程的学生学号。
18、课程的学生学号。1(1=42=C25=C4(SCxSC)第59页,此课件共83页哦小结小结v关系代数运算关系代数运算并、差、交、笛卡尔积、投影、选择、连接、除基本运算并、差、笛卡尔积、投影、选择交、连接、除可以用5种基本运算来表达引进它们并不增加语言的能力,但可以简化表达第60页,此课件共83页哦小结小结(续续)v关系代数表达式关系代数运算经有限次复合后形成的式子v典型关系代数语言ISBL(InformationSystemBaseLanguage)由IBMUnitedKingdom研究中心研制用于PRTV(PeterleeRelationalTestVehicle)实验系统第61页,此课件共
19、83页哦第四章第四章关系数据库关系数据库4.1关系代数关系代数4.2关系演算关系演算4.3关系代数表达式的优化关系代数表达式的优化第62页,此课件共83页哦4.2关系演算关系演算v关系演算以数理逻辑中的谓词演算为基础v按谓词变元不同进行分类1.元组关系演算:以元组变量作为谓词变元的基本对象元组关系演算语言ALPHA2.域关系演算:以域变量作为谓词变元的基本对象域关系演算语言QBE第63页,此课件共83页哦4.2.1元组关系演算语言元组关系演算语言ALPHAv由E.F.Codd提出INGRES所用的QUEL语言是参照ALPHA语言研制的v语句检索语句GET更新语句nPUT,HOLD,UPDATE
20、,DELETE,DROP第64页,此课件共83页哦一、检索操作一、检索操作v语句格式:GET工作空间名(定额)(表达式1):操作条件DOWN/UP表达式2定额:规定检索的元组个数格式:数字表达式1:指定语句的操作对象格式:关系名|关系名.属性名|元组变量.属性名|集函数,操作条件:将操作结果限定在满足条件的元组中格式:逻辑表达式表达式2:指定排序方式格式:关系名.属性名|元组变量.属性名,第65页,此课件共83页哦一、检索操作一、检索操作(1)简单检索GET工作空间名(表达式1)例1查询所有被选修的课程号码。GETW(SC.Cno)例2查询所有学生的数据。GETW(Student)第66页,此
21、课件共83页哦(2)限定的检索)限定的检索格式GET工作空间名(表达式1):操作条件例3查询信息系(IS)中年龄小于20岁的学生的学号和年龄GETW(Student.Sno,Student.Sage):Student.Sdept=ISStudent.Sage20第67页,此课件共83页哦(3)带排序的检索)带排序的检索格式GET工作空间名(表达式1):操作条件DOWN/UP表达式2例4查询计算机科学系(CS)学生的学号、年龄,结果按年龄降序排序GETW(Student.Sno,Student.Sage):Student.Sdept=CSDOWNStudent.Sage第68页,此课件共83页哦
22、(4)带定额的检索)带定额的检索格式GET工作空间名(定额)(表达式1):操作条件DOWN/UP表达式2例5取出一个信息系学生的学号。GETW(1)(Student.Sno):Student.Sdept=IS例6查询信息系年龄最大的三个学生的学号及其年龄,结果按年龄降序排序。GETW(3)(Student.Sno,Student.Sage):Student.Sdept=ISDOWNStudent.Sage第69页,此课件共83页哦二、更新操作二、更新操作(1)修改操作(2)插入操作(3)删除操作第70页,此课件共83页哦(1)修改操作)修改操作步骤步骤用HOLD语句将要修改的元组从数据库中读到
23、工作空间中HOLD工作空间名(表达式1):操作条件HOLD语句是带上并发控制的GET语句用宿主语言修改工作空间中元组的属性用UPDATE语句将修改后的元组送回数据库中UPDATE工作空间名第71页,此课件共83页哦修改操作修改操作(续续)例17把200215121学生从计算机科学系转到信息系。HOLDW(Student.Sno,Student.Sdetp):Student.Sno=200215121(从Student关系中读出200215121学生的数据)MOVEISTOW.Sdept(用宿主语言进行修改)UPDATEW(把修改后的元组送回Student关系)第72页,此课件共83页哦(2)插
24、入操作)插入操作步骤用宿主语言在工作空间中建立新元组用PUT语句把该元组存入指定关系中PUT工作空间名(关系名)PUT语句只对一个关系操作第73页,此课件共83页哦插入操作插入操作(续续)例18学校新开设了一门2学分的课程“计算机组织与结构”,其课程号为8,直接先行课为6号课程。插入该课程元组MOVE8TOW.CnoMOVE计算机组织与结构TOW.CnameMOVE6TOW.CpnoMOVE2TOW.CcreditPUTW(Course)第74页,此课件共83页哦(3)删除操作)删除操作步骤用HOLD语句把要删除的元组从数据库中读到工作空间中用DELETE语句删除该元组DELETE工作空间名第
25、75页,此课件共83页哦删除操作删除操作(续续)例19200215125学生因故退学,删除该学生元组HOLDW(Student):Student.Sno=200215125DELETEW第76页,此课件共83页哦小结:元组关系演算语言小结:元组关系演算语言ALPHAv检索操作GETGET工作空间名(定额)(表达式1):操作条件DOWN/UP表达式2v插入操作建立新元组-PUTv修改操作HOLD-修改-UPDATEv删除操作HOLD-DELETE第77页,此课件共83页哦第四章第四章关系数据库关系数据库4.1关系代数关系代数4.2关系演算关系演算4.3关系代数表达式的优化关系代数表达式的优化第7
26、8页,此课件共83页哦4.3关系代数表达式的优化(了解)关系代数表达式的优化(了解)v启发式优化方法规则:尽可能早地执行选择操作;尽可能早地执行投影操作;避免直接做笛卡尔积,把笛卡尔积操作之前和之后的一连串选择和投影合并起来一起做。第79页,此课件共83页哦v算法输入:一个关系代数表达式的语法树输出:计算表达式的一个优化序列方法:P1094.3关系代数表达式的优化(了解)关系代数表达式的优化(了解)第80页,此课件共83页哦小结小结v关系操作查询选择、投影、连接、除、并、交、差数据更新插入、删除、修改第81页,此课件共83页哦小结(续)小结(续)v关系数据语言关系代数语言关系演算语言元组关系演算语言ALPHA第82页,此课件共83页哦下课了。下课了。休息一会儿。休息一会儿。第83页,此课件共83页哦