《关系数据库(关系代数).ppt》由会员分享,可在线阅读,更多相关《关系数据库(关系代数).ppt(53页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、2.3 关系代数n 概述n 传统的集合运算n 专门的关系运算AnIntroductiontoDatabaseSystem概述1.关系代数2.运算的三要素3.关系代数运算的三个要素4.关系代数运算的分类5.表示记号AnIntroductiontoDatabaseSystem概述1.关系代数一种抽象的查询语言通过对关系的运算来表达查询AnIntroductiontoDatabaseSystem概述(续)2 关系代数运算的三个要素运算对象:关系运算结果:关系运算符:四类AnIntroductiontoDatabaseSystem概述(续)n 集合运算符n 将关系看成元组的集合n 运算是从关系的“水平
2、”方向即行的角度来进行n 专门的关系运算符n 不仅涉及行而且涉及列n 算术比较符n 辅助专门的关系运算符进行操作n 逻辑运算符n 辅助专门的关系运算符进行操作AnIntroductiontoDatabaseSystem集合运算符-并差交广义笛卡尔积比较运算符大于大于等于小于小于等于等于不等于运算符 含义 运算符 含义表1关系代数运算符概述(续)AnIntroductiontoDatabaseSystem专门的关系运算符选择投影连接除逻辑运算符非与或运算符 含义 运算符 含义表21关系代数运算符(续)概述(续)AnIntroductiontoDatabaseSystem概述(续)4 关系代数运算
3、的分类 传统的集合运算 并、差、交、广义笛卡尔积专门的关系运算 选择、投影、连接、除AnIntroductiontoDatabaseSystem概述(续)5 表示记号(1)R,t R,tAi 设关系模式为R(A1,A2,An)它的一个关系设为R。t R 表示t 是R 的一个元组tAi 则表示元组t 中相应于属性Ai的一个分量AnIntroductiontoDatabaseSystem概述(续)(2)A,tA,A 若A=Ai1,Ai2,Aik,其中Ai1,Ai2,Aik是A1,A2,An中的一部分,则A 称为属性列或域列。tA=(tAi1,tAi2,tAik)表示元组t 在属性列A 上诸分量的集
4、合。A 则表示A1,A2,An 中去掉Ai1,Ai2,Aik 后剩余的属性组。AnIntroductiontoDatabaseSystem概述(续)n(3)trts R 为n 目关系,S 为m 目关系。trR,tsS,trts称为元组的连接。它是一个n+m 列的元组,前n 个分量为R 中的一个n 元组,后m 个分量为S 中的一个m 元组。AnIntroductiontoDatabaseSystem2.3.1 传统的集合运算n 并n 差n 交n 广义笛卡尔积AnIntroductiontoDatabaseSystem1.并(Union)n R 和Sn 具有相同的目n(即两个关系都有n 个属性)n
5、 相应的属性取自同一个域n R Sn 仍为n 目关系,由属于R 或属于S 的元组组成 R S=t|t R t S AnIntroductiontoDatabaseSystem并(续)A B Ca1 b1 c1a1 b2 c2a2 b2 c1A B Ca1 b1 c1a1 b2 c2a1 b3 c2a2 b2 c1A B Ca1 b2 c2a1 b3 c2a2 b2 c1RSR SAnIntroductiontoDatabaseSystem2.差(Difference)n R 和Sn 具有相同的目nn 相应的属性取自同一个域n R-Sn 仍 为n 目 关 系,由 属 于R 而 不 属 于S 的
6、所 有 元组组成R-S=t|t R t SAnIntroductiontoDatabaseSystem差(续)A B Ca1 b1 c1a1 b2 c2a2 b2 c1A B Ca1 b1 c1A B Ca1 b2 c2a1 b3 c2a2 b2 c1RSR-SAnIntroductiontoDatabaseSystem3.交(Intersection)n R 和Sn 具有相同的目nn 相应的属性取自同一个域n R Sn 仍为n 目关系,由既属于R 又属于S 的元组组成 R S=t|t R t S R S=R-(R-S)AnIntroductiontoDatabaseSystem交(续)A B
7、 Ca1 b1 c1a1 b2 c2a2 b2 c1A B Ca1 b2 c2a2 b2 c1A B Ca1 b2 c2a1 b3 c2a2 b2 c1RSR SAnIntroductiontoDatabaseSystem4.广义笛卡尔积(Extended Cartesian Product)n Rn n 目关系,k1个元组n Sn m 目关系,k2个元组n RSn 列:(n+m)列的元组的集合n 元组的前n 列是关系R 的一个元组n 后m 列是关系S 的一个元组n 行:k1k2个元组n RS=trts|tr R tsSAnIntroductiontoDatabaseSystem广义笛卡尔积(
8、续)A B Ca1 b1 c1a1 b2 c2a2 b2 c1A B Ca1 b1 c1a1 b1 c1a1 b1 c1a1 b2 c2a1 b2 c2a1 b2 c2a2 b2 c1a2 b2 c1a2 b2 c1A B Ca1 b2 c2a1 b3 c2a2 b2 c1RSR SA B Ca1 b2 c2a1 b3 c2a2 b2 c1a1 b2 c2a1 b3 c2a2 b2 c1a1 b2 c2a1 b3 c2a2 b2 c1AnIntroductiontoDatabaseSystem2.3.2 专门的关系运算n 选择n 投影n 连接n 除AnIntroductiontoDatabas
9、eSystem1.选择(Selection)n 1)选择又称为限制(Restriction)n 2)选择运算符的含义n 在关系R 中选择满足给定条件的诸元组F(R)=t|t R F(t)=真n F:选择条件,是一个逻辑表达式,基本形式为:(X1Y1)(X2Y2)n:比较运算符(,或)n X1,Y1等:属 性 名、常 量、简 单 函 数;属 性 名 也 可 以 用 它的序号来代替;n:逻辑运算符(或)n:表示任选项n:表示上述格式可以重复下去AnIntroductiontoDatabaseSystem选择(续)n 3)选择运算是从行的角度进行的运算n 4)举例设 有 一 个 学 生-课 程 数
10、据 库,包 括 学 生 关 系Student、课程关系Course 和选修关系SC。AnIntroductiontoDatabaseSystem选择(续)学号Sno姓名Sname性别Ssex年龄Sage所在系Sdept95001李勇 男20 CS95002刘晨 女19 IS95003王敏 女18 MA95004张立 男19 IS(a)Student例1 例2 例4 例3 例9AnIntroductiontoDatabaseSystem选择(续)(b)Course课程号 课程名 先行课 学分Cno Cname Cpno Ccredit1数据库5 42数学23信息系统1 44操作系统6 35数据结
11、构7 46数据处理27 PASCAL语言 6 4例9AnIntroductiontoDatabaseSystem选择(续)(c)SC学号 课程号 成绩Sno Cno Grade95001 1 9295001 2 8595001 3 8895002 2 9095002 3 80例7 例9AnIntroductiontoDatabaseSystem选择(续)例1 查询信息系(IS 系)全体学生 Sdept=IS(Student)或5=IS(Student)结果:Sno Sname Ssex Sage Sdept95002刘晨 女19 IS95004张立 男19 ISAnIntroductionto
12、DatabaseSystem选择(续)例2 查询年龄小于20 岁的学生 Sage20(Student)或420(Student)结果:Sno Sname Ssex Sage Sdept95002刘晨 女19 IS95003王敏 女18 MA95004张立 男19 ISAnIntroductiontoDatabaseSystem2.投影(Projection)n 1)投影运算符的含义n 从R 中选择出若干属性列组成新的关系A(R)=tA|t RA:R 中的属性列AnIntroductiontoDatabaseSystem2.投影(Projection)n 2)投影操作主要是从列的角度进行运算n
13、但 投 影 之 后 不 仅 取 消 了 原 关 系 中 的 某 些 列,而且还可能取消某些元组(避免重复行)AnIntroductiontoDatabaseSystem投影(续)n 3)举例 例3 查询学生的姓名和所在系即 求Student 关 系 上 学 生 姓 名 和 所 在 系 两 个属性上的投影Sname,Sdept(Student)或2,5(Student)结果:AnIntroductiontoDatabaseSystem投影(续)Sname Sdept李勇CS刘晨IS王敏MA张立ISAnIntroductiontoDatabaseSystem投影(续)例4 查询学生关系Studen
14、t 中都有哪些系Sdept(Student)结果:SdeptCSISMAAnIntroductiontoDatabaseSystem3.连接(Join)n 1)连接也称为 连接n 2)连接运算的含义n 从 两 个 关 系 的 笛 卡 尔 积 中 选 取 属 性 间 满 足 一定条件的元组R S=|tr R ts S trAtsBn A 和B:分别为R 和S 上度数相等且可比的属性组n:比较运算符n 连接运算从R 和S 的广义笛卡尔积RS 中选取(R 关系)在A 属性组上的值与(S 关系)在B 属性组上值满足比较关系的元组。ABtrtsAnIntroductiontoDatabaseSystem
15、 连接(续)n 3)两类常用连接运算n 等值连接(equijoin)n 什么是等值连接n 为“”的连接运算称为等值连接n 等值连接的含义n 从 关 系R 与S 的 广 义 笛 卡 尔 积 中 选 取A、B 属 性值相等的那些元组,即等值连接为:R S=|tr R tsS trA=tsBA=BtrtsAnIntroductiontoDatabaseSystem 连接(续)n 自然连接(Naturaljoin)n 什么是自然连接n 自然连接是一种特殊的等值连接n 两个关系中进行比较的分量必须是相同的属性组n 在结果中把重复的属性列去掉n 自然连接的含义R 和S 具有相同的属性组BRS=|trR t
16、sS trB=tsBtrtsAnIntroductiontoDatabaseSystem连接(续)n 4)一 般 的 连 接 操 作 是 从 行 的 角 度 进 行 运算。自然连接还需要取消重复列,所以是同时从行和列的角度进行运算。ABRSAnIntroductiontoDatabaseSystem连接(续)n 5)举例 例5A B Ca1b15a1b26a2b38a2b412B Eb13b27b310b32b52RSAnIntroductiontoDatabaseSystem连接(续)R SA R.B C S.B Ea1b15 b27a1b15 b310a1b26 b27a1b26 b310
17、a2b38 b310 C EAnIntroductiontoDatabaseSystem连接(续)等值连接R S R.B=S.B A R.B C S.B Ea1b15 b13a1b26 b27a2b38 b310a2b38 b32AnIntroductiontoDatabaseSystem连接(续)自然连接R S A B C Ea1b15 3a1b26 7a2b38 10a2b38 2AnIntroductiontoDatabaseSystem4.除(Division)象 集Z:给 定 一 个 关 系R(X,Z),X 和Z 为属 性 组。当tX=x 时,x 在R 中 的 象 集(ImagesSet)为:Zx=tZ|t R,tX=x 它表示R 中属性组X 上值为x 的诸元组在Z上分量的集合。AnIntroductiontoDatabaseSystem除(续)给定关系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=trX|trR Y(S)YxYx:x在R中的象集,x=trXAnIntroductiontoDatabaseSystem