第六讲关系代数理论ppt课件.ppt
第六讲 关系代数理论,关系数据库模型(3),.,关系数据操作,关系数据模型的操作查询选择、投影、连接、除、并、交、差数据更新插入、删除、修改,.,关系代数,概述 传统的集合运算 专门的关系运算,.,概述,1.关系代数一种抽象的查询语言用对关系的运算来表达查询,.,概述(续),2关系代数运算的三个要素运算对象:关系运算结果:关系运算符:四类,.,概述(续),集合运算符将关系看成元组的集合运算是从关系的“水平”方向即行的角度来进行专门的关系运算符不仅涉及行而且涉及列算术比较符辅助专门的关系运算符进行操作逻辑运算符辅助专门的关系运算符进行操作,.,表1 关系代数运算符,概述(续),.,表 关系代数运算符(续),概述(续),.,概述(续),4关系代数运算的分类 传统的集合运算 并、差、交、广义笛卡尔积专门的关系运算 选择、投影、连接、除,.,传统的集合运算,并差交广义笛卡尔积,.,1. 并(Union),R和S具有相同的目n(即两个关系都有n个属性)相应的属性取自同一个域RS 仍为n目关系,由属于R或属于S的元组组成 RS = t|t Rt S ,.,并(续),R,S,RS,.,2. 差(Difference),R和S具有相同的目n相应的属性取自同一个域R - S 仍为n目关系,由属于R而不属于S的所有元组组成 R -S = t|tRtS ,.,差(续),R,S,R-S,.,3. 交(Intersection),R和S具有相同的目n相应的属性取自同一个域RS仍为n目关系,由既属于R又属于S的元组组成 RS = t|t Rt S RS = R (R-S),.,交 (续),R,S,R S,.,4. 广义笛卡尔积(Extended Cartesian Product),R n目关系,k1个元组S m目关系,k2个元组RS 列:(n+m)列的元组的集合元组的前n列是关系R的一个元组后m列是关系S的一个元组行:k1k2个元组RS = tr ts |tr R tsS ,.,广义笛卡尔积 (续),R,S,R S,.,专门的关系运算,选择投影连接除,.,选择(续),3) 选择运算是从行的角度进行的运算 4) 举例设有一个学生-课程数据库,包括学生关系Student、课程关系Course和选修关系SC。,.,选择(续),(a),Student,例1,例2,例4,例3,例9,.,选择(续),例1 查询信息系(IS系)全体学生 Sdept = IS (Student)或 5 =IS (Student)结果:,.,2. 投影(Projection),2)投影操作主要是从列的角度进行运算但投影之后不仅取消了原关系中的某些列,而且还可能取消某些元组(避免重复行),.,投影(续),3) 举例例3 查询学生的姓名和所在系即求Student关系上学生姓名和所在系两个属性上的投影 Sname,Sdept(Student)或 2,5(Student)结果:,.,投影(续),.,连接(续),3)两类常用连接运算等值连接(equijoin) 什么是等值连接为“”的连接运算称为等值连接 等值连接的含义从关系R与S的广义笛卡尔积中选取A、B属性值相等的那些元组,即等值连接为: R S = | tr Rts StrA = tsB ,A=B,.,连接(续),自然连接(Natural join) 什么是自然连接自然连接是一种特殊的等值连接两个关系中进行比较的分量必须是相同的属性组在结果中把重复的属性列去掉自然连接的含义R和S具有相同的属性组B R S = | tr Rts StrB = tsB ,.,连接(续),4)一般的连接操作是从行的角度进行运算。 自然连接还需要取消重复列,所以是同时从行和列的角度进行运算。,.,连接(续),5)举例 例5,R,S,.,连接(续),R S,.,连接(续),等值连接 R S,.,连接(续),自然连接 R S,.,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上投影的集合。 RS = tr X | tr RY (S) Yx Yx:x在R中的象集,x = trX,.,除(续),2)除操作是同时从行和列角度进行运算,.,除(续),R,S,.,小结,l关系代数运算关系代数运算并、差、交、笛卡尔积、投影、选择、连接、除基本运算并、差、笛卡尔积、投影、选择交、连接、除可以用5种基本运算来表达 引进它们并不增加语言的能力,但可以简化表达,.,