关系数据库(续)课件.ppt

上传人(卖家):三亚风情 文档编号:3347547 上传时间:2022-08-22 格式:PPT 页数:119 大小:1.41MB
下载 相关 举报
关系数据库(续)课件.ppt_第1页
第1页 / 共119页
关系数据库(续)课件.ppt_第2页
第2页 / 共119页
关系数据库(续)课件.ppt_第3页
第3页 / 共119页
关系数据库(续)课件.ppt_第4页
第4页 / 共119页
关系数据库(续)课件.ppt_第5页
第5页 / 共119页
点击查看更多>>
资源描述

1、浙江中医学院浙江中医学院 计算机系计算机系数据库系统概论数据库系统概论An Introduction to Database System第二章第二章 关系数据库关系数据库(续)续)第1页,共119页。Chapter 4 Operations in Relational Model4.1 An Algebra of Relational OperationsOperation 运算,操作Operator 算子Operand 操作数第2页,共119页。第二章第二章 关系数据库关系数据库2.1 关系模型概述2.2 关系数据结构2.3 关系的完整性2.4 关系代数2.5 关系演算2.6 小结第3页,

2、共119页。2.4 关系代数关系代数n 概述n 传统的集合运算n 专门的关系运算第4页,共119页。概述概述1.关系代数2.运算的三要素3.关系代数运算的三个要素4.关系代数运算的分类5.表示记号第5页,共119页。概述概述1.关系代数一种抽象的查询语言用对关系的运算来表达查询第6页,共119页。概述概述(续续)2关系代数运算的三个要素运算对象:关系运算结果:关系运算符:四类第7页,共119页。概述概述(续续)n集合运算符n将关系看成元组的集合n运算是从关系的“水平”方向即行的角度来进行n专门的关系运算符n不仅涉及行而且涉及列n算术比较符n辅助专门的关系运算符进行操作n逻辑运算符n辅助专门的关

3、系运算符进行操作第8页,共119页。集合运算符-并差交广义笛卡尔积比较运算符 大于大于等于小于小于等于等于不等于运算符含义运算符含义表表2.4 关系代数运算符关系代数运算符 概述概述(续续)第9页,共119页。专门的关系运算符 选择投影连接除逻辑运算符 非与或运算符含义运算符含义表表2.4 关系代数运算符(续)关系代数运算符(续)概述概述(续续)第10页,共119页。概述概述(续续)4关系代数运算的分类 传统的集合运算 并、差、交、广义笛卡尔积专门的关系运算 选择、投影、连接、除第11页,共119页。概述概述(续续)5表示记号(1)R,tR,tAi 设关系模式为R(A1,A2,An)它的一个关

4、系设为R。tR表示t是R的一个元组tAi则表示元组t中相应于属性Ai的一个分量 第12页,共119页。概述概述(续续)(2)A,tA,A 若A=Ai1,Ai2,Aik,其中Ai1,Ai2,Aik是A1,A2,An中的一部分,则A称为属性列或域列。tA=(tAi1,tAi2,tAik)表示元组t在属性列A上诸分量的集合。A则表示A1,A2,An中去掉Ai1,Ai2,Aik后剩余的属性组。第13页,共119页。概述概述(续续)n(3)tr ts R为n目关系,S为m目关系。tr R,tsS,tr ts称为元组的连接。它是一个n+m列的元组,前n个分量为R中的一个n元组,后m个分量为S中的一个m元组

5、。第14页,共119页。概述概述(续续)n4)象集Zx 给定一个关系R(X,Z),X和Z为属性组。当tX=x时,x在R中的象集(Images Set)为:Zx=tZ|t R,tX=x 它表示R中属性组X上值为x的诸元组在Z上分量的集合。第15页,共119页。2.4 关系代数关系代数n 概述n 传统的集合运算n 专门的关系运算第16页,共119页。2.4.1 传统的集合运算传统的集合运算n并n差n交n广义笛卡尔积第17页,共119页。1.并(并(Union)nR和Sn具有相同的目n(即两个关系都有n个属性)n相应的属性取自同一个域nRS n仍为n目关系,由属于R或属于S的元组组成 RS=t|t

6、Rt S 第18页,共119页。并并(续续)ABCa1b1c1a1b2c2a2b2c1ABCa1b1c1a1b2c2a1b3c2a2b2c1ABCa1b2c2a1b3c2a2b2c1RSRS 第19页,共119页。2.差(差(Difference)nR和Sn具有相同的目nn相应的属性取自同一个域nR-S n仍为n目关系,由属于R而不属于S的所有元组组成 R-S=t|tRtS 第20页,共119页。差差(续续)ABCa1b1c1a1b2c2a2b2c1ABCa1b1c1ABCa1b2c2a1b3c2a2b2c1RSR-S 第21页,共119页。3.交(交(Intersection)nR和Sn具有

7、相同的目nn相应的属性取自同一个域nRSn仍为n目关系,由既属于R又属于S的元组组成 RS=t|t Rt S RS=R(R-S)第22页,共119页。交交(续续)ABCa1b1c1a1b2c2a2b2c1ABCa1b2c2a2b2c1ABCa1b2c2a1b3c2a2b2c1RSR S 第23页,共119页。4.广义笛卡尔积(广义笛卡尔积(Extended Cartesian Product)nRnn目关系,k1个元组nSnm目关系,k2个元组nRS n列:(n+m)列的元组的集合n元组的前n列是关系R的一个元组n后m列是关系S的一个元组n行:k1k2个元组nRS=tr ts|tr R tsS

8、 第24页,共119页。广义笛卡尔积广义笛卡尔积(续续)ABCa1 b1 c1a1 b2 c2a2 b2 c1ABCa1b1c1a1b1c1a1b1c1a1b2c2a1b2c2a1b2c2a2b2c1a2b2c1a2b2c1ABCa1 b2 c2a1 b3 c2a2 b2 c1RSR S ABCa1b2c2a1b3c2a2b2c1a1b2c2a1b3c2a2b2c1a1b2c2a1b3c2a2b2c1第25页,共119页。2.4 关系代数关系代数n概述n传统的集合运算n专门的关系运算第26页,共119页。2.4.2 专门的关系运算专门的关系运算n选择n投影n连接n除第27页,共119页。1.选

9、择(选择(Selection)n1)选择又称为限制(Restriction)n2)选择运算符的含义n在关系R中选择满足给定条件的诸元组 F(R)=t|tRF(t)=真nF:选择条件,是一个逻辑表达式,基本形式为:(X1Y1 )(X2Y2 )n:比较运算符(,或)nX1,Y1等:属性名、常量、简单函数;属性名也可以用它的序号来代替;n:逻辑运算符(或)n:表示任选项n:表示上述格式可以重复下去第28页,共119页。选择(续)选择(续)n3)选择运算是从行的角度进行的运算 n4)举例设有一个学生-课程数据库,包括学生关系Student、课程关系Course和选修关系SC。第29页,共119页。选择

10、(续)选择(续)学学 号号Sno姓姓 名名Sname性性 别别Ssex年年 龄龄Sage所所 在在 系系Sdept95001李勇李勇男男20CS95002刘晨刘晨女女19IS95003王敏王敏女女18MA95004张立张立男男19IS(a)Student例1例2例4例3例9第30页,共119页。选择(续)选择(续)(b)Course课程号课程号课程名课程名先行课先行课学分学分CnoCnameCpnoCcredit1数据库数据库542数学数学 23信息系统信息系统144操作系统操作系统635数据结构数据结构746数据处理数据处理 27PASCAL语言语言64例9第31页,共119页。选择(续)选

11、择(续)(c)SC学学 号号课课 程程 号号成成 绩绩SnoCnoGrade9500119295001285950013889500229095002380例7例9第32页,共119页。选择(续)选择(续)例1 查询信息系(IS系)全体学生 Sdept=IS(Student)或 5=IS(Student)结果:SnoSnameSsexSageSdept95002刘晨刘晨女女19IS95004张立张立男男19IS第33页,共119页。选择(续)选择(续)例2 查询年龄小于20岁的学生 Sage 20(Student)或 4 20(Student)结果:SnoSnameSsexSageSdept9

12、5002刘晨刘晨女女19IS95003王敏王敏女女18MA95004张立张立男男19IS 第34页,共119页。2.投影(投影(Projection)n1)投影运算符的含义n从R中选择出若干属性列组成新的关系 A(R)=tA|t R A:R中的属性列 第35页,共119页。2.投影(投影(Projection)n2)投影操作主要是从列的角度进行运算n但投影之后不仅取消了原关系中的某些列,而且还可能取消某些元组(避免重复行)第36页,共119页。投影(续)投影(续)n3)举例例3 查询学生的姓名和所在系即求Student关系上学生姓名和所在系两个属性上的投影 Sname,Sdept(Studen

13、t)或 2,5(Student)结果:第37页,共119页。投影(续)投影(续)SnameSdept李勇李勇CS刘晨刘晨IS王敏王敏MA张立张立IS第38页,共119页。投影(续)投影(续)例4 查询学生关系Student中都有哪些系 Sdept(Student)结果:SdeptCSISMA第39页,共119页。3.连接(连接(Join)n1)连接也称为连接n2)连接运算的含义n从两个关系的笛卡尔积中选取属性间满足一定条件的元组 R S=|tr Rts StrAtsB nA和B:分别为R和S上度数相等且可比的属性组n:比较运算符 n连接运算从R和S的广义笛卡尔积RS中选取(R关系)在A属性组上

14、的值与(S关系)在B属性组上值满足比较关系的元组。ABtr ts第40页,共119页。连接连接(续续)n3)两类常用连接运算n等值连接(equijoin)n什么是等值连接n为“”的连接运算称为等值连接 n等值连接的含义n从关系R与S的广义笛卡尔积中选取A、B属性值相等的那些元组,即等值连接为:R S=|tr Rts StrA=tsB A=Btr ts第41页,共119页。连接连接(续续)n自然连接(Natural join)n什么是自然连接n自然连接是一种特殊的等值连接n两个关系中进行比较的分量必须是相同的属性组n在结果中把重复的属性列去掉n自然连接的含义R和S具有相同的属性组B R S=|t

15、r Rts StrB=tsB tr ts第42页,共119页。连接连接(续续)n4)一般的连接操作是从行的角度进行运算。自然连接还需要取消重复列,所以是同时从行和列的角度进行运算。ABRS第43页,共119页。连接连接(续续)n5)举例 例5 ABCa1b15a1b26a2b38a2b412BEb13b27b310b32b52RS第44页,共119页。连接连接(续续)R S AR.BCS.BEa1b15b27a1b15b310a1b26b27a1b26b310a2b38b310 CE第45页,共119页。连接连接(续续)等值连接 R S R.B=S.B AR.BCS.BEa1b15b13a1b

16、26b27a2b38b310a2b38b32第46页,共119页。连接连接(续续)自然连接 R S ABCEa1b153a1b267a2b3810a2b382第47页,共119页。4)象集)象集Z 给定一个关系R(X,Z),X和Z为属性组。当tX=x时,x在R中的象集(Images Set)为:Zx=tZ|t R,tX=x 它表示R中属性组X上值为x的诸元组在Z上分量的集合。第48页,共119页。4)象集)象集ZABCa1b1c2a2b3c7a3b4c6a1b2c3a4b6c6a2b2c3a1b2c1BCDb1c2d1b2c1d1b2c3d2RSAa1RS第49页,共119页。4.除(除(Di

17、vision)给定关系给定关系R(X,Y)和和S(Y,Z),其中其中X,Y,Z为属性组。为属性组。R中的中的Y与与S中的中的Y可以有不同的属性名,但必须出自相同可以有不同的属性名,但必须出自相同的域集。的域集。R与与S的除运算得到一个新的关系的除运算得到一个新的关系P(X),P是是R中满足下列条件的元组在X属性列上的投影:元组在属性列上的投影:元组在X上分上分量值量值x的象集的象集Yx包含包含S在在Y上投影的集合。上投影的集合。RS=tr X|tr RY(S)Yx Yx:x在在R中的象集,中的象集,x=trX第50页,共119页。除除(续续)n2)除操作是同时从行和列角度进行运算 n3)举例

18、例6 (p62)RS第51页,共119页。除除(续续)ABCa1b1c2a2b3c7a3b4c6a1b2c3a4b6c6a2b2c3a1b2c1BCDb1c2d1b2c1d1b2c3d2RSAa1RS第52页,共119页。分析:分析:在关系在关系R中,中,A可以取四个值可以取四个值a1,a2,a3,a4 a1的象集为的象集为(b1,c2),(b2,c3),(b2,c1)a2的象集为的象集为(b3,c7),(b2,c3)a3的象集为的象集为(b4,c6)a4的象集为的象集为(b6,c6)S在在(B,C)上的投影为上的投影为 (b1,c2),(b2,c1),(b2,c3)只有只有a1的象集包含了的

19、象集包含了S在在(B,C)属性组上的投影属性组上的投影所以 RS=a1 第53页,共119页。5综合举例综合举例 以学生以学生-课程数据库为例课程数据库为例(P.59)例7 查询至少选修1号课程和3号课程的学生号码 首先建立一个临时关系K:然后求:Sno.Cno(SC)KCno 1 3第54页,共119页。综合举例综合举例(续续)n例 7续 Sno.Cno(SC)95001象集象集1,2,395002象集象集2,3 Cno(K)=1,3 于是:Sno.Cno(SC)K=95001SnoCno950011950012950013950022950023第55页,共119页。综合举例综合举例(续续

20、)例 8 查询选修了2号课程的学生的学号。Sno(Cno=2(SC)95001,95002 第56页,共119页。综合举例综合举例(续续)例9 查询至少选修了一门其直接先行课为5号课程的课程的学生姓名。Sname(Cpno=5(Course SC Student)或 Sname(Cpno=5(Course)SC Sno,Sname(Student)或 Sname(Sno(Cpno=5(Course)SC)Sno,Sname(Student)第57页,共119页。综合举例综合举例(续续)例10 查询选修了全部课程的学生号码和姓名。Sno,Cno(SC)Cno(Course)Sno,Sname(S

21、tudent)第58页,共119页。小结小结 l 关系代数运算n关系代数运算并、差、交、笛卡尔积、投影、选择、连接、除n基本运算并、差、笛卡尔积、投影、选择n交、连接、除可以用5种基本运算来表达 引进它们并不增加语言的能力,但可以简化表达第59页,共119页。小结小结(续续)l 关系代数表达式n关系代数运算经有限次复合后形成的式子l 典型关系代数语言nISBL(Information System Base Language)n由IBM United Kingdom研究中心研制n用于PRTV(Peterlee Relational Test Vehicle)实验系统 第60页,共119页。第二

22、章第二章 关系数据库关系数据库2.1 关系模型概述2.2 关系数据结构2.3 关系的完整性2.4 关系代数2.5 关系演算2.6 小结第61页,共119页。2.5 关系演算关系演算 n关系演算以数理逻辑中的谓词演算为基础n种类:按谓词变元不同分类1.元组关系演算:以元组变量作为谓词变元的基本对象 元组关系演算语言ALPHA2.域关系演算:以域变量作为谓词变元的基本对象 域关系演算语言QBE第62页,共119页。2.5.1 2.5.1 元组关系演算语言元组关系演算语言ALPHAALPHAn由E.F.Codd提出INGRES所用的QUEL语言是参照ALPHA语言研制的n语句检索语句nGET更新语句

23、nPUT,HOLD,UPDATE,DELETE,DROP第63页,共119页。一、检索操作一、检索操作 n 语句格式:GET工作空间名 (定额)(表达式1):操作条件 DOWN/UP 表达式2 定额:规定检索的元组个数n格式:数字表达式1:指定语句的操作对象n格式:关系名|关系名.属性名|元组变量.属性名|集函数,操作条件:将操作结果限定在满足条件的元组中n格式:逻辑表达式表达式2:指定排序方式n格式:关系名.属性名|元组变量.属性名,第64页,共119页。检索操作检索操作(续续)(1)简单检索(即不带条件的检索)(2)限定的检索(即带条件的检索)(3)带排序的检索(4)带定额的检索(5)用元

24、组变量的检索(6)用存在量词的检索第65页,共119页。检索操作检索操作(续续)(7)带有多个关系的表达式的检索(8)用全称量词的检索(9)用两种量词的检索(10)用蕴函(Implication)的检索(11)集函数第66页,共119页。(1)简单检索)简单检索 GET工作空间名(表达式1)例1 查询所有被选修的课程号码。GET W (SC.Cno)例2 查询所有学生的数据。GET W (Student)第67页,共119页。(2)限定的检索)限定的检索格式 GET工作空间名(表达式1):操作条件例3 查询信息系(IS)中年龄小于20岁的学生的学号和年龄。GET W (Student.Sno,

25、Student.Sage):Student.Sdept=IS Student.Sage19第100页,共119页。条件查询(与条件)条件查询(与条件)例4 求计算机科学系年龄大于19岁的学生的学号。方法(1):把两个条件写在同一行上StudentSnoSnameSsexSageSdept P.95001 19CS第101页,共119页。条件查询(续)条件查询(续)方法(2):把两个条件写在不同行上,但使 用相同的示例元素值StudentSnoSnameSsexSageSdept P.95001P.95001 19CS 第102页,共119页。条件查询(续)条件查询(续)例5 查询既选修了1号课

26、程又选修了2号课程的学生的学号。SCSnoCno Grade P.95001P.9500112 第103页,共119页。条件查询(续)条件查询(续)n例6 查询计算机科学系或者年龄大于19岁的学生的学号。StudentSnoSnameSsexSageSdept P.95001P.95002 19CS 第104页,共119页。多表连接多表连接例7 查询选修1号课程的学生姓名。注意:示例元素Sno是连接属性,其值在两个表中要相同。SCSnoCno Grade 950011 StudentSnoSnameSsexSageSdept 95001P.李勇李勇 第105页,共119页。条件查询(非条件)条

27、件查询(非条件)例8 查询未选修1号课程的学生姓名 思路:显示学号为95001的学生名字,而该学生选修1号课程的情况为假SCSnoCno Grade 950011 StudentSnoSnameSsexSageSdept 95001P.李勇李勇 第106页,共119页。条件查询(续)条件查询(续)例9 查询有两个人以上选修的课程号思路:查询这样的课程1,它不仅被95001选修 而且也被另一个学生(95001)选修了SCSnoCno Grade 95001.95001P.11 第107页,共119页。3.集函数集函数常用集函数:函函 数数 名名功功 能能CNT对元组计数对元组计数SUM求求 总总

28、 和和AVG求平均值求平均值MAX求最大值求最大值MIN求最小值求最小值第108页,共119页。集函数(续)集函数(续)例10 查询信息系学生的平均年龄。StudentSnoSnameSsexSageSdept P.AVG.ALL.IS第109页,共119页。4.对查询结果排序对查询结果排序(续)(续)例11 查全体男生的姓名,要求查询结果按所在系升序排序,对相同系的学生按年龄降序排序。StudentSnoSnameSsexSageSdept P.李勇李勇男男DO(2).AO(1).第110页,共119页。二、修改操作二、修改操作例12 把95001学生的年龄改为18岁。方法(1):将操作符“

29、U.”放在值上StudentSnoSnameSsexSageSdept95001 U.18 第111页,共119页。修改操作修改操作(续续)方法(2):将操作符“U.”放在关系上码95001标明要修改的元组。“U.”标明所在的行是修改后的新值。由于主码是不能修改的,所以系统不会混淆要修改的属性。StudentSnoSnameSsexSageSdeptU.95001 18 第112页,共119页。修改操作修改操作(续续)例13将计算机系所有学生的年龄都改为18岁StudentSnoSnameSsexSageSdept95008 U.18 CS第113页,共119页。修改操作修改操作(续续)例14

30、 把95001学生的年龄增加1岁分两行分别表示改前和改后的示例元素必须将操作符“U.”放在关系上StudentSnoSnameSsexSageSdept U9500195001 1717+1 第114页,共119页。修改操作修改操作(续续)例15 将计算机系所有学生的年龄都增加1岁StudentSnoSnameSsexSageSdept U9500895008 1818+1 CS第115页,共119页。2.插入操作插入操作例16 把信息系女生95701,姓名张三,年龄17岁存入数据库中。StudentSnoSnameSsexSageSdeptI.95701张三张三女女17IS第116页,共119页。3.删除操作删除操作例17 删除学生95089为保证参照完整性,删除95089学生前,先删除95089学生选修的全部课程StudentSnoSnameSsexSageSdeptD.95089SCSnoCno GradeD.95089 第117页,共119页。作业作业今日作业:P42:18,21,22P80:3,5(只要用关系代数,ALPHA,QBE不需要)第118页,共119页。下课了。下课了。休息一会儿。休息一会儿。第119页,共119页。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公、行业 > 各类PPT课件(模板)
版权提示 | 免责声明

1,本文(关系数据库(续)课件.ppt)为本站会员(三亚风情)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|