《传统的集合运算》PPT课件.ppt_第1页
《传统的集合运算》PPT课件.ppt_第2页
《传统的集合运算》PPT课件.ppt_第3页
《传统的集合运算》PPT课件.ppt_第4页
《传统的集合运算》PPT课件.ppt_第5页
已阅读5页,还剩51页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1,1.传统的集合运算,传统的集合运算是二目运算,包括并、交、差、广义笛卡尔积四种运算。 设关系R和关系S具有相同的目n(即两个关系都有n个属性),且相应的属性取自同一个域。 1.并(Union) 关系R与关系S的并由属于R或属于S的元组组成。其结果关系仍为n目关系。记作: RS=t|tRtS,2,R,S,RS,3,2.差(Difference) 关系R与关系S的差由属于R而不属于S的所有元组组成。其结果关系仍为n目关系。记作: RS=t|tRtS,4,R,S,RS,SR,5,交(Intersection Referential integrity) 关系R与关系S的交由既属于R又属于S的元组组成。其结果关系仍为n目关系。记作: RS=t|tRtS 交运算可以通过差运算来重写: RS=R-(R-S),6,R,S,RS,7,广义笛卡尔积(Extended cartesian product) 两个分别为n目和m目的关系R和S的广义笛卡尔积是一个(n+m)列的元组的集合。元组的前n列是关系R的一个元组,后m列是关系S的一个元组。若R有k1个元组,S有k2个元组,则关系R和关系S的广义笛卡尔积有k1k2个元组。记作:,RS = t|t=tr,tstrRtsS ,8,9,2.专门的关系运算,专门的关系运算包括选择、投影、连接、除等。 几个记号: 1.设关系模式为R(A1, A2,., An)。它的一个关系设为R。tR表示t是R的一个元组。tAi则表示元组t中相应于属性Ai的一个分量 。 2.若A=Ai1, Ai2,., Aik,其中Ai1, Ai2, ., Aik是A1, A2,., An中的一部分,则A称为属性列或域列。A则表示A1, A2,., An中去掉Ai1, Ai2,., Aik后剩余的属性组。tA=(tAi1, tAi2,., tAik)表示元组t在属性列A上诸分量的集合。,10,3.R为n目关系,S为m目关系。 trR,tsS, tr ts称为元组的连接 (Concatenation)。它是一个(n+m)列的元组,前n个分量为R中的一个n元组,后m个分量为S中的一个m元组。 给定一个关系R(X,Z),X和Z为属性组。我们定义,当tX=x时,x在R中的象集(Images Set)为:Zx=tZ|tR, tX=x 它表示R中属性组X上值为x的诸元组在Z上分量的集合。,X Z,张军同学所选修的全部课程,x=张军,Zx,11,更名运算(了解),定义 给一个关系表达式赋予名字 x(E) 返回表达式E的结果,并把名字x赋给E x(A1, A2 , , An )(E) 返回表达式E的结果,并把名字x赋给E,同时将各属性更名为A1,A2, ,An 关系被看作一个最小的关系代数表达式,可以将更名运算施加到关系上,得到具有不同名字的同一关系。这在同一关系多次参与同一运算时很有帮助,12,1.选择(Selection) 选择又称为限制(Restriction)。它是在关系R中选择满足给定条件的诸元组,记作: F(R) = t|tR F(t)=真 其中F表示选择条件,它是一个逻辑表达式,取逻辑值真或假。 选择运算实际上是从关系R中选取使逻辑表达式F为真的元组。 选择是从行的角度进行的运算。,13,R,A5(R),A5 C=7(R),14,例1 查询信息系(IS系)全体学生 Sdept=IS(Student) 或 5=IS(Student) 例2 查询年龄小于20岁的元组 Sage20(Student) 或 420(Student) 补充:查询年龄不小于20岁的男生 AGE20 SEX=男(S),15,2.投影(Projection) 关系R上的投影是从R中选择出若干属性列组成新的关系。记作: A(R) = tA | tR 其中A为R中的属性列。 投影操作是从列的角度进行的运算。 注意:投影结果中要去掉相同的行,R,B , C(R),16,例3 查询学生关系Student在学生姓名和所在系两个属性上的投影 Sname,Sdept(Student) 或 2,5(Student) 例4 查询学生关系Student中都有哪些系,即查询学生关系Student在所在系属性上的投影 Sdept(Student) 补充: Sname, Sage(S) Cno( Sno=95001 (SC),给出所有学生的姓名和年龄,找001号学生所选修的课程号,17,广义投影(了解),定义 在投影列表中使用算术表达式来对投影进行扩展 F1 , F2 , , Fn (E) F1 , F2 , , Fn 是算术表达式 示例 求教工应缴纳的所得税 P# , SAL*5/100 (PROF),18,3.连接(Join) 连接也称为连接。它是从两个关系的笛卡尔积中选取属性间满足一定条件的元组。记作: 其中A和B分别为R和S上度数相等且可比的属性组。 是比较运算符。 连接运算从R和S的笛卡尔积RS中选取(R关系)在A属性组上的值与(S关系)在B属性组上值满足比较关系的元组。,19,连接运算中有两种最为重要也最为常用的连接: 一种是等值连接(equi-join); 另一种是自然连接(Natural join) 为“”的连接运算称为等值连接。它是从关系R与S的笛卡尔积中选取A、B属性值相等的那些元组。 即等值连接为:,20,R,S,21,自然连接(Natural join)是一种特殊的等值连接,它要求两个关系中进行比较的分量必须是相同的属性组,并且要在结果中把重复的属性去掉。 即若R和S具有相同的属性组B,则自然连接可记作: 一般的连接操作是从行的角度进行运算。但自然连接还需要取消了重复列,所以是同时从行和列的角度进行运算。 当R与S无相同属性时,R S RS,22,23,R,S,24,4.除(Division) 给定关系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上投影的集合。记作: 其中, Yx为x在R中的象集,x=trX 除操作是同时从行和列的角度进行运算。,RS=trX|trRY(S)Yx,RS=X(R)X(X(R)Y(S)R),25,AB (R),AB (R) CD (S),AB (R) CD (S)-R,R S=,-,=,R,S,26,例6 设关系R, S分别为图2-9中的(a)和(b),求RS的结果 在关系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,c3),(b2,c1) 显然只有a1的象集(B,C)a1包含S在(B,C)属性组上的投影,所以RS=a1,27,选修了全部课程并且成绩都相同的学生,选修了全部课程的学生,28,习题,1.求选修了1号或2号课程的学生号,Sno(Cno = 1 Cno = 2(SC), Sno( Cno = 1 (SC) Sno( Cno = 2(SC),方案1:,方案2:,29,2.求选修了1号而没有选2号课程的学生号,Sno(Cno = 1 (SC)Sno(Cno = 2(SC),30,3.求同时选修了1号和2号课程的学生号,Sno(Cno =1 Cno = 2(SC),Sno(Cno =1 (SC)Sno(Cno = 2(SC),Sno,Cno(SC) Cno = 1 Cno = 2 (C),Sno(SC Cno = 1 Cno = 2 (C),31,4.求未选修1号课程的学生号,方案1: Sno(S)Sno(Cno = 1 (SC),方案2: Sno(Cno 1 (SC),哪一个正确?,32,5.求仅选修了1号课程的学生号,选修1号课程的学生仅选1号课程之外的学生,S#(C# = 1 (SC)S#(SCC# = 1 (SC),S# (SC)S#(C# 1 (SC),所有选课的学生仅选1号课程之外的学生,33,34,外连接(了解内容),外连接 为避免自然连接时因失配而发生的信息丢失,可以假定往参与连接的一方表中附加一个取值全为空值的行,它和参与连接的另一方表中的任何一个未匹配上的元组都能匹配,称之为外连接 外连接 = 自然连接 + 失配的元组 外连接的形式:左外连接、右外连接、全外连接 左外连接 = 自然连接 + 左侧表中失配的元组 右外连接 = 自然连接 + 右侧表中失配的元组 全外连接 = 自然连接 + 两侧表中失配的元组,35,外连接,所有老师的信息,36,外连接,所有课程的信息,37,外连接,所有老师和课程的信息,38,半连接, A( ) A是R中所有属性的集合,39,赋值运算(了解),定义 为使查询表达简单、清晰,可以将一个复杂的关系代数表达式分成几个部分,每一部分都赋予一个临时关系变量,该变量可被看作关系而在后面的表达式中使用 临时关系变量关系代数表达式 赋值给临时关系变量只是一种结果的传递,而赋值给永久关系则意味着对数据库的修改,40,赋值运算,示例 RS = X(R) X(X(R) Y(S) R) 用赋值重写为: temp1 X(R) temp2 X(temp1 Y(S) R) result temp1 temp2,41,聚集函数(不讲),42,聚集函数,avg:求平均 求001号同学选修课程的平均成绩。 avgSCORE(S# = 001(SC) count:计数 求001号同学选修的课程数。 countC#(S# = 001(SC) 求任课老师的总数。 count-distinctP#(PC),43,聚集函数,max:求最大值 min:求最小值 求学生选修数学的最高成绩 maxSCORE(CN = 数学(C) SC) 分组 将一个元组集合分为若干个组,在每个分组上使用聚集函数。 属性下标 G 聚集函数属性下标(关系),对此属性在每个分组上运用聚集函数,按此属性上的值对关系分组,44,聚集函数,分组运算G 的一般形式 G1 , G2 , . , Gn G F1 , A1 , F2 , A2 , , Fm , Am(E) Gi是用于分组的属性, Fi是聚集函数, Ai是属性名。 G 将E分为若干组,满足: 1)同一组中所有元组在G1 , G2 , . , Gn上的值相同。 2)不同组中元组在G1 , G2 , . , Gn上的值不同。 示例 求每位学生的总成绩和平均成绩 S# G sumSCORE ,avgSCORE(SC),45,数据库修改(不讲),删除 将满足条件的元组从关系中删除 r r E 是对永久关系的赋值运算 例: 删除001号老师所担任的课程 PC PC PC# = 001(PC) 删除没有选课的学生 S S (S# (S) S# (SC) S,关系,关系代数表达式,46,数据库修改,插入 插入一个指定的元组,或者插入一个查询结果 r r E 示例:新加入一个老师 PC PC (P07 ,“周正”, 750 , D08) 示例:加入计算机系学生选修“数学”的信息 SC SC S# (S DN =计算机系 (DEPT) C#(CN =数学(C),47,数据库修改,更新 利用广义投影改变元组的某些属性上的值 r F1 , F2 , , Fn (r) 示例:给每位老师上调10%的工资 PC P# , PN , SAL SAL* 1.1 , D# (PC) 示例:对工资超过800的老师征收5%所得税 PC P# , PN , SAL SAL* 0.95 , D# (SAL 800 (PC) P# , PN , SAL , D# (SAL 800 (PC),48,视图(不讲),定义 视图是命名的、从基本表中导出的虚表,它在物理上并不存在,存在的只是它的定义 视图中的数据是从基本表中导出的,每次对视图查询都要重新计算 create view view_name as 视图之上可以再定义视图 视图 Vs 临时关系变量,49,视图,视图的优点 个性化服务 简化了用户观点,使不同用户可以从不同角度观察同一数据 安全性 “知必所需”,限制用户数据的访问范围 逻辑独立性 视图作为基本表与外模式之间的映象,50,视图,示例 给出老师所教授课程的信息 create view p_course As PN , CN(PROF PC C) 给出李明老师所教授的课程名称 PN = 李明 (p_course),51,视图,视图更新 信息缺失 create view p_salary as PN , SAL(PROF) 在视图p_salary上执行: p_salary p_salary (李明, 800) 在基本表PROF上执行: PROF PROF (李明, 800) 往PROF中加入元组(李明, 800),缺主码P#信息,52,视图,cre

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论