第02章关系数据库3

上传人:汽*** 文档编号:569874564 上传时间:2024-07-31 格式:PPT 页数:49 大小:1.01MB
返回 下载 相关 举报
第02章关系数据库3_第1页
第1页 / 共49页
第02章关系数据库3_第2页
第2页 / 共49页
第02章关系数据库3_第3页
第3页 / 共49页
第02章关系数据库3_第4页
第4页 / 共49页
第02章关系数据库3_第5页
第5页 / 共49页
点击查看更多>>
资源描述

《第02章关系数据库3》由会员分享,可在线阅读,更多相关《第02章关系数据库3(49页珍藏版)》请在金锄头文库上搜索。

1、1第02章关系数据库3Stillwatersrundeep.流静水深流静水深,人静心深人静心深Wherethereislife,thereishope。有生命必有希望。有生命必有希望2复复 习习1.集合运算集合运算 、 、2.专门的关系运算专门的关系运算选择选择投影投影连接连接( (广义笛卡尔积、等值连接广义笛卡尔积、等值连接) )除除3计算:计算:(1)b5(R)(2)A,B(R)复复 习习1.1.给定如下关系给定如下关系R R和和S S,如下:,如下: A B C 1 4 7 7 2 5 8 8 3 6 912 B C D E 5 7 8 6 8 9 3 6 1 1 2 7RSAB1472

2、58ABC77889124学习目标学习目标掌握连接、除运算规则掌握连接、除运算规则理解元组关系演算语言理解元组关系演算语言ALPHAALPHA理解域关系演算语言理解域关系演算语言QBEQBE52.4.2 2.4.2 专门关系运算专门关系运算n选择选择n投影投影n连接连接n除除6(1)连接连接:也称为:也称为连接。连接。从两个关系的笛卡尔积中选取属性间满足一定条从两个关系的笛卡尔积中选取属性间满足一定条件的元组。件的元组。表示:表示:R S=|tr R ts S trAtsB其中其中:A和和B分别为分别为R和和S上目数相等且可比的属性组;上目数相等且可比的属性组;:比较运算符。:比较运算符。 A

3、Btr ts3.3.连接连接含义:连接运算从含义:连接运算从R R和和S S的的笛卡尔积笛卡尔积R RS S中选取(中选取(R R关系)在关系)在A A属性组上的值与(属性组上的值与(S S关系)在关系)在B B属性组上属性组上值值满足比较关系满足比较关系的元组。的元组。 7R S举例举例RSAR.BCS.BEa1b15b27a1b15b310a1b26b27a1b26b310a2b38b310 CEABCa1b15a1b26a2b38a2b412BEb13b27b310b32b523.3.连接连接例例58例例5 AR.B CS.B Ea11513a11527a115310a11532a115

4、52a12613a12627a126310a12632a12652a23813a23827a238310a23832a23852a241213a241227a2412310a241232a241252RSABCa1b15a1b26a2b38a2b412BEb13b27b310b32b52RS9 CER SAR.BCS.BEa1b15b27a1b15b310a1b26b27a1b26b310a2b38b310例例5 AR.B CS.B Ea11513a11527a115310a11532a11552a12613a12627a126310a12632a12652a23813a23827a23831

5、0a23832a23852a241213a241227a2412310a241232a24125210(2)两类常用连接运算两类常用连接运算等值连接等值连接(equijoin)(equijoin): 什么是等值连接?什么是等值连接?为为= =的连接运算称为等值连接的连接运算称为等值连接 。 等值连接的含义:等值连接的含义:从从关关系系R R与与S S的的广广义义笛笛卡卡尔尔积积中中选选取取A A、B B属属性性值值相等的元组:相等的元组:R S=|tr Rts StrA=tsBA=Btr ts3.3.连接连接11RSABCa1b15a1b26a2b38a2b412BEb13b27b310b38

6、b52ABCBEa1b15b13a1b26b27a2b38b310a2b38b38等值连接等值连接R S R.B=S.B 3.3.连接连接举例举例:R.BS.B12RSABCa1b15a1b26a2b38a2b412BEb13b27b310b38b52等值连接等值连接R S C=E 3.3.连接连接举例举例:AR.BCS.BEa2b38b3813自然连接的含义自然连接的含义 R和和S具有相同的属性组具有相同的属性组BRS=|tr Rts StrB=tsB(2)两类常用连接运算两类常用连接运算自然连接自然连接( (Naturaljoin) ):tr ts什么是自然连接什么是自然连接? ? 自然连

7、接是一种特殊的等值连接自然连接是一种特殊的等值连接自然连接是一种特殊的等值连接自然连接是一种特殊的等值连接 两个关系中进行比较的分量必须是两个关系中进行比较的分量必须是两个关系中进行比较的分量必须是两个关系中进行比较的分量必须是相同的属性组相同的属性组相同的属性组相同的属性组 在结果中把重复的属性列去掉在结果中把重复的属性列去掉在结果中把重复的属性列去掉在结果中把重复的属性列去掉3.3.连接连接14(3)一般的连接操作是从行的角度进行运算。一般的连接操作是从行的角度进行运算。自然连接还需要取消重复列,所以是同时自然连接还需要取消重复列,所以是同时从行和从行和列的角度列的角度进行运算。进行运算。

8、 ABRS3.3.连接连接15(4)举例举例ABCEa1b153a1b267a2b3810a2b382自然连接自然连接R S RSABCa1b15a1b26a2b38a2b412BEb13b27b310b32b523.3.连接连接16(4)举例举例自然连接自然连接 R R S S?等值连接等值连接 R R S S? B=DB=D RSABCa1b15a1b26a2b38a2b412DEb13b27b310b32b523.3.连接连接 思考:思考:17RSABCa1b15a1b26a2b38a2b412BEb13b27b310b32b52AR.BCS.BEa1b15b13a1b26b27a2b3

9、8b310a2b38b32等值连接等值连接R S R.B=S.B 3.3.连接连接(5)比较比较18(5)比较比较ABCEa1b153a1b267a2b3810a2b382自然连接自然连接R S RSABCa1b15a1b26a2b38a2b412BEb13b27b310b32b523.3.连接连接19(5)等值连接与自然连接的等值连接与自然连接的比较比较A AB BC CE Ea1b153a1b267a2b3810a2b382自然连接自然连接R S 3.3.连接连接A AR.BR.BC CS.BS.BE Ea1b15b13a1b26b27a2b38b310a2b38b32等值连接等值连接R

10、S R.B=S.B 20常用记号:常用记号:象集象集(Images Set) Zx(Images Set) Zx:给定一个关系给定一个关系R(X,Z)R(X,Z),X X和和Z Z为属性组。为属性组。 当当tX=xtX=x时时,x,x在在R R中的象集为中的象集为: : Z Zx x=tZ|t=tZ|t R,tX=x R,tX=x 它表示它表示R R中属性组中属性组X X上值为上值为x x的诸元组在的诸元组在Z Z上分量的集合。上分量的集合。4.4.除除214.4.除除n补充例补充例1 1:u象集的计算。设象集的计算。设R(A,B)如下:如下:u求求B1AB1aa1ab2st1mm计算过程:计

11、算过程:(1)考察考察R的每个元组的每个元组t(2)如果如果tA=1,将将tB放入结果放入结果(3)得到得到B1:Baaabmm22(1)除运算除运算设设:给给定定关关系系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 X上分

12、量值上分量值x x的象集的象集Y Yx x包含包含S S在在Y Y上投影的集合上投影的集合。 RS=trX|tr RY(S) Yx 其中:其中:Yx表示表示x在在R中的象集,中的象集,x=trX4.4.除除234.4.除除(2)除操作是同时从行和列角度进行运算除操作是同时从行和列角度进行运算RS24R例例6已知已知R和和S,求求RS。BCb1c2b3c7b4c6b2c3b6c6b2c3b2c1Aa1a2a3a1a4a2a1BCDb1c2d1b2c1d1b2c3d2S在关系在关系R中,中,A可以取四个值可以取四个值a1,a2,a3,a4 n a1的象集为的象集为(b1,c2),(b2,c3),(

13、b2,c1);n a2的象集为的象集为(b3,c7),(b2,c3);n a3的象集为的象集为(b4,c6);n a4的象集为的象集为(b6,c6)。S在在(B,C)上的投影为上的投影为 n (b1,c2),(b2,c1),(b2,c3) ,只有只有a1的象集包含了的象集包含了S在在(B,C)属性组上投影属性组上投影所以所以:RS=a1。RSAa14.4.除除25计算:计算: R S练练 习习1.1.给定如下关系给定如下关系R R和和S S,如下:,如下:R.A=S.BABC1477258836912BCDE578689361127RSS.BS.CDE77886622AR.BR.C778891

14、226计算:计算:(4)R S练练 习习1.1.给定如下关系给定如下关系R R和和S S,如下:,如下:ABC1477258836912BCDE578689361127RSR.B=S.BR.C=S.CS.B S.CDE58693117AR.BR.C47586927 例例77查询至少选修查询至少选修1 1号课程和号课程和3 3号课程的学生号码。号课程的学生号码。Cno13SnoSnoCnoCno950011950012950013950022950023Sno.Cno(SC)5.5.综合举例综合举例(1)首先建立一个临时关系首先建立一个临时关系K:(2)求求Sno.Cno(SC):学学 号号课程

15、号课程号成成 绩绩SnoSnoCnoCnoGradeGrade95001950011 1929295001950012 2858595001950013 3888895002950022 2909095002950023 38080SC28 例例77查询至少选修查询至少选修1 1号课程和号课程和3 3号课程的学生学号。号课程的学生学号。Cno13SnoSnoCnoCno950011950012950013950022950023Sno.Cno(SC)K5.5.综合举例综合举例(3)求象集:求象集:95001象集象集1,2,395002象集象集2,3Cno(K)=1,3(4)结果:结果:Sno.

16、Cno(SC)K=9500129补充例补充例2 2:查询信息系的年龄小于:查询信息系的年龄小于2020岁的学生岁的学生 5.5.综合举例综合举例Sdept=ISSage20(Student)也可以表示成:也可以表示成:Sdept=IS(Student)Sage20(Student)SnoSnoSnameSnameSsexSsexSageSageSdeptSdept9500195001李勇李勇男男2020CSCS9500295002刘晨刘晨女女1919ISIS9500395003王敏王敏女女1818MAMA9500495004张立张立男男1919ISIS30补充例补充例3 3:查询信息系的姓名和

17、年龄:查询信息系的姓名和年龄 (投影和选择的混合运算)(投影和选择的混合运算)5.5.综合举例综合举例Sdept=IS(Student)也可以写成:也可以写成:姓名姓名,年龄年龄Sdept=IS(Student)注:注:单目运算为右结合单目运算为右结合姓名姓名,年龄年龄()31补充例补充例4 4:求选了:求选了2 2号课程的学生的学号和姓名号课程的学生的学号和姓名 (连接和投影的混合运算)(连接和投影的混合运算)5.5.综合举例综合举例Sno,Sname(StudentCno=2(SC)补充例补充例5 5:求选了:求选了“数据库数据库”的学生的学号和姓的学生的学号和姓名名Sno,Sname(S

18、tudentSCCname=数据库数据库(Course)32 例例99查查询询至至少少选选修修了了一一门门其其直直接接先先行行课课为为5 5号号课课程程的的课课程的学生姓名。程的学生姓名。5 5 综合举例综合举例Sname(Cpno=5(CourseSCStudent)或或:Sname(Cpno=5(Course)SCSno,name(Student)或:或:Sname(Sno(Cpno=5(Course)SC)Sno,Sname(Student) 例例1010查询选修了全部课程的学生的学号和姓名。查询选修了全部课程的学生的学号和姓名。Cno(Course)Sno,Sname(Student)

19、Sno,Cno(SC)332.5 2.5 关系演算关系演算( ( ( (一般了解一般了解一般了解一般了解) ) ) )关系演算以数理逻辑中的谓词演算为基础关系演算以数理逻辑中的谓词演算为基础n种类:按谓词变元不同分类种类:按谓词变元不同分类1.1.元组关系演算元组关系演算:以以元组变量元组变量元组变量元组变量作为谓词变元的基本对象作为谓词变元的基本对象一种典型的元组关系演算语言:一种典型的元组关系演算语言:ALPHA2.2.域关系演算:域关系演算:以以域变量域变量域变量域变量作为谓词变元的基本对象作为谓词变元的基本对象一种典型的域关系演算语言:一种典型的域关系演算语言:QBE342.5.1 2

20、.5.1 元组关系演算语言元组关系演算语言ALPHAALPHAn由由E.F.Codd提出提出INGRES所用的所用的QUEL语言是参照语言是参照ALPHA语言研语言研制的制的n语句语句检索语句检索语句GETGET更新语句更新语句PUT,HOLDHOLD,UPDATEUPDATE,DELETEDELETE,DROPn语句的基本格式:语句的基本格式:操作语句操作语句 工作空间名(表达式):操作条件工作空间名(表达式):操作条件351 1、检索操作、检索操作 n语法格式:语法格式:GET GET GET GET 工作空间名工作空间名工作空间名工作空间名 ( (定额定额) ) (表达式(表达式(表达式

21、(表达式1 1 1 1) :操作条件操作条件 DOWN/UP DOWN/UP 表达式表达式2 2 其中:其中:定额定额:规定检索的元组个数:规定检索的元组个数格式:数字格式:数字表达式表达式1 1:指定语句的操作对象,可以是关系名或:指定语句的操作对象,可以是关系名或属性名;属性名;操作条件操作条件:将操作结果限定在满足条件的元组中;:将操作结果限定在满足条件的元组中;格式:逻辑表达式格式:逻辑表达式表达式表达式2 2:指定排序方式。:指定排序方式。格式:格式: 关系名关系名. 属性名属性名| 元组变量元组变量. 属性名属性名,361.1.检索操作检索操作(1)(1)简单检索简单检索格式:格式

22、:GET工作空间名工作空间名 (表达式(表达式1)例例1查询所有被选修的课程号。查询所有被选修的课程号。例例2查询所有学生的数据。查询所有学生的数据。GETW(SC.Cno)GETW(Student)37(2) (2) 限定检索限定检索格式:格式:GET工作空间名(表达式工作空间名(表达式1):操作条件:操作条件例例3查查询询信信息息系系(IS)中中年年龄龄小小于于20岁岁的的学学生生的的学学号号和年龄。和年龄。1 1、检索操作、检索操作 GETW(Student.Sno,Student.Sage):Student.Sdept=ISStudent.Sage2038(3) (3) 排序检索排序检

23、索格式:格式:GET 工作空间名工作空间名(表达式表达式1):操作条件操作条件 DOWN/UP 表达式表达式2 例例4查查询询计计算算机机系系(CS)学学生生的的学学号号、年年龄龄,结结果果按按年龄降序排序年龄降序排序1 1、检索操作、检索操作 GETW(Student.SnoGETW(Student.Sno,Student.Sage)Student.Sage):Student.Sdept=CS:Student.Sdept=CSDOWNDOWNStudent.SageStudent.Sage39(4) (4) 定额检索定额检索格式格式:GET工作空间名工作空间名(定额定额定额定额)(表达式表达

24、式1) :操作条件操作条件 DOWN/UP 表达式表达式2例例5取出一个信息系学生的学号。取出一个信息系学生的学号。1 1、检索操作、检索操作 GETW(Student.Sno)GETW(Student.Sno):Student.Sdept=IS:Student.Sdept=IS(1)(1)40(4) (4) 定额检索定额检索格式格式:GET工作空间名工作空间名(定额定额定额定额)(表达式表达式1) :操作条件操作条件 DOWN/UP 表达式表达式2例例6查查询询信信息息系系年年龄龄最最大大的的三三个个学学生生的的学学号号及及年年龄龄,按年龄降序排列。按年龄降序排列。1 1、检索操作、检索操作

25、 GETW(GETW(3 3)(Student.Sno)(Student.Sno,Student.Sage)Student.Sage):Student.Sdept=IS:Student.Sdept=ISDOWNDOWNStudent.SageStudent.Sage41(5)(5)用元组变量的检索用元组变量的检索元组变量的含义元组变量的含义表表示示可可以以在在某某一一关关系系范范围围内内变变化化(也也称称为为范范围围变量变量Range VariableRange Variable)元组变量的用途元组变量的用途 简简化化关关系系名名:设设一一个个较较短短名名字字的的元元组组变变量量来来代代替较长

26、的关系名。替较长的关系名。 操作条件中使用量词时必须用元组变量。操作条件中使用量词时必须用元组变量。1 1、检索操作、检索操作 42(5)(5)用元组变量的检索用元组变量的检索( (续续) )定义元组变量定义元组变量 格式:格式: RANGE 关系名关系名 变量名变量名 说明:一个关系可以设多个元组变量说明:一个关系可以设多个元组变量 1 1、检索操作、检索操作 43(5)(5)用元组变量的检索用元组变量的检索 例例7 7 查询信息系学生的名字。查询信息系学生的名字。1 1、检索操作、检索操作 用元组变量的表示:用元组变量的表示:RANGEStudentXRANGEStudentXGETW(G

27、ETW(X X.Sname):.Sname):X X.Sdept=IS.Sdept=IS(可用来简化关系名可用来简化关系名)不用元组变量的表示不用元组变量的表示:GETW(GETW(StudentStudent.Sname).Sname):StudentStudent.Sdept=IS.Sdept=IS44(6) (6) 用存在量词的检索用存在量词的检索(操作条件中有量词时必须用元组变量操作条件中有量词时必须用元组变量) 例例8 8 查询选修查询选修2 2号课程的学生姓名。号课程的学生姓名。1 1、检索操作、检索操作 RANGERANGESCSCX XGETW(Student.Sname):G

28、ETW(Student.Sname): XX( (X X.Sno=Student.Sno.Sno=Student.Sno X X.Cno=2).Cno=2)45(6) (6) 用存在量词的检索用存在量词的检索(操作条件中有量词时必须用元组变量操作条件中有量词时必须用元组变量) 例例99查查询询选选修修这这样样课课程程的的学学生生学学号号,其其直直接接先先行行课是课是6 6号课程。号课程。1 1、检索操作、检索操作 RANGECourseRANGECourseCXCXGETW(SC.Sno)GETW(SC.Sno): CXCX(CX.Cno=SC.Cno(CX.Cno=SC.CnoCX.Pcno

29、=6)CX.Pcno=6) 46(7)(7)有多个关系的表达式的检索有多个关系的表达式的检索 例例11 11 查询成绩为查询成绩为9090分以上的学生名字与课程名字。分以上的学生名字与课程名字。1 1、检索操作、检索操作 RANGERANGESCSCSCXSCXGETW(Student.SnameGETW(Student.Sname,Course.Cname):Course.Cname): SCX(SCX.Grade90SCX(SCX.Grade90SCX.Sno=Student.SnoSCX.Sno=Student.SnoSCX.Cno=Course.CnoSCX.Cno=Course.Cn

30、o)47(8)集函数集函数(Aggregationfunction) 例例1616查询信息系学生的平均年龄。查询信息系学生的平均年龄。GETWGETW( (AVG(Student.Sage)AVG(Student.Sage):Student.Sdept=IS:Student.Sdept=IS) )函数名函数名功能功能COUNT对元组计数对元组计数TOTAL求总和求总和MAX求最大值求最大值MIN求最小值求最小值AVG求平均值求平均值1 1、检索操作、检索操作 48小结小结n关系代数运算:关系代数运算: 连接、除连接、除n元组关系演算语言元组关系演算语言ALPHAALPHA49下课了。下课了。追求追求休息休息

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 建筑/环境 > 施工组织

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号