版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、2020年9月14日7时21分,数据库原理及应用,1,数据库原理及应用,熊才权 主讲,湖北工业大学计算机学院,2020年9月14日7时21分,数据库原理及应用,2,第二章 关系数据库,2.4 关系代数,概述 传统的集合运算 专门的关系运算,2020年9月14日7时21分,数据库原理及应用,3,2.4.1概述,1. 关系代数:一种抽象的查询语言,用对关系的运算来表达查询。 2. 关系代数运算的分类 传统的集合运算 并、差、交、广义笛卡尔积 专门的关系运算 选择、投影、,2020年9月14日7时21分,数据库原理及应用,4,3运算的三要素: (1)运算对象关系, (2)运算结果关系, (3)运算符
2、 i)集合运算符 将关系看成元组的集合 运算是从关系的“水平”方向即行的角度来进行 ii)专门的关系运算符 不仅涉及行而且涉及列 iii)算术比较符 辅助专门的关系运算符进行操作0 iv)逻辑运算符 辅助专门的关系运算符进行操作,2020年9月14日7时21分,数据库原理及应用,5,2020年9月14日7时21分,数据库原理及应用,6,1. 并(Union): RS,仍为n目关系,由属于R或属于S的元组组成 RS = t|t Rt S R和S具有相同的目n(即两个关系都有n个属性)相应的属性取自同一个域,2.4.1传统的集合运算,2020年9月14日7时21分,数据库原理及应用,7,2. 差(
3、Difference)R - S,仍为n目关系,由属于R而不属于S的所有元组组成 R -S = t|tRtS ,2020年9月14日7时21分,数据库原理及应用,8,3. 交(Intersection):RS,仍为n目关系,由既属于R又属于S的元组组成 RS = t|t Rt S RS = R (R-S),2020年9月14日7时21分,数据库原理及应用,9,4. 笛卡尔积(Cartesian Product): RS,参与运算的元素: R(n目关系,k1个元组); S(m目关系,k2个元组) 运算的结果: RS = trts |tr R tsS 列:(n+m)列元组的集合,前n列来自R,后m
4、列来自S. 行:k1k2个元组,(3) trts R为n目关系,S为m目关系。 tr R,tsS, trts称为元组的连接。 trts是一个n + m列的元组,前n个分量为R中的一个n元组,后m个分量为S中的一个m元组。,2020年9月14日7时21分,数据库原理及应用,10,笛卡尔积(续),2020年9月14日7时21分,数据库原理及应用,11,(1) 设关系模式为R(A1,A2,An) tR表示t是R的一个元组; tAi则表示元组t中相应于属性Ai的一个分量。,2.4.2专门的关系运算,(2) A,tA, A 若A=Ai1,Ai2,Aik,其中Ai1,Ai2,Aik是A1,A2,An中的一
5、部分,则A称为属性列或域列。 tA=(tAi1,tAi2,tAik)表示元组t在属性列A上诸分量的集合。 A则表示A1,A2,An中去掉Ai1,Ai2,Aik后剩余的属性组。,2020年9月14日7时21分,数据库原理及应用,12,(3) tr ts R为n目关系,S为m目关系。 tr R,tsS, tr ts称为元组的连接。 tr ts是一个n + m列的元组,前n个分量为R中的一个n元组,后m个分量为S中的一个m元组。,2020年9月14日7时21分,数据库原理及应用,13,(4)象集Zx 给定一个关系R(X,Z),X和Z为属性组。当tX=x时,x在R中的象集(Images Set)为:
6、Zx=tZ|t R,tX=x 它表示R中属性组X上值为x的诸元组在Z上分量的集合。,2020年9月14日7时21分,数据库原理及应用,14,专门的关系运算(续),x1在R中的象集 Zx1 =Z1,Z2,Z3, x2在R中的象集 Zx2 =Z2,Z3, x3在R中的象集 Zx3=Z1,Z3,象集举例,2020年9月14日7时21分,数据库原理及应用,15,2.4.2 专门的关系运算,选择 投影 连接 除,2020年9月14日7时21分,数据库原理及应用,16,专门的关系运算(续),(a),Student,设有一个学生-课程数据库,包括: 学生关系Student、课程关系Course和选修关系SC
7、,2020年9月14日7时21分,数据库原理及应用,17,专门的关系运算(续),Course,(b),2020年9月14日7时21分,数据库原理及应用,18,专门的关系运算(续),(c),SC,2020年9月14日7时21分,数据库原理及应用,19,1. 选择(Selection),1) 选择又称为限制(Restriction) 2) 选择运算符的含义 在关系R中选择满足给定条件的诸元组 F()(R) = t|tRF (t)= 真 F:选择条件,是一个逻辑表达式,基本形式为: X1Y1,2020年9月14日7时21分,数据库原理及应用,20,选择(续),3) 选择运算是从行的角度进行的运算,2
8、020年9月14日7时21分,数据库原理及应用,21,选择(续),例1 查询信息系(IS系)全体学生 Sdept = IS (Student) 或 5 =IS (Student) 结果:,Student,2020年9月14日7时21分,数据库原理及应用,22,例2 查询年龄小于20岁的学生 Sage 20 (Student) 或 4 20 (Student) 结果:,原表,2020年9月14日7时21分,数据库原理及应用,23,2. 投影(Projection),1)投影运算符的含义 从R中选择出若干属性列组成新的关系 A(R) = tA | t R A:R中的属性列,2020年9月14日7时
9、21分,数据库原理及应用,24,2. 投影(Projection),2)投影操作主要是从列的角度进行运算 但投影之后不仅取消了原关系中的某些列,而且还可能取消某些元组(避免重复行),2020年9月14日7时21分,数据库原理及应用,25,3) 举例 例3 查询学生的姓名和所在系 即求Student关系上学生姓名和所在系两个属性上的投影 Sname,Sdept (Student) 或 2,5 (Student) 结果:,原表,2020年9月14日7时21分,数据库原理及应用,26,例4 查询学生关系Student中都有哪些系 Sdept(Student) 结果:,Student,2020年9月1
10、4日7时21分,数据库原理及应用,27,关系代数的五个基本操作 (例),(a)RS (b)RS(c)RS (d)C,A(R)(e)B=b(R) 图2.13 关系代数操作的结果,(a)关系R (b)关系S 图2.12 两个关系,2020年9月14日7时21分,数据库原理及应用,28,3. 连接(Join),1)连接也称为连接 2)连接运算的含义 从两个关系的笛卡尔积中选取属性间满足一定条件的元组 R S = | tr Rts StrAtsB A和B:分别为R和S上度数相等且可比的属性组 :比较运算符 连接运算从R和S的广义笛卡尔积RS中选取(R关系)在A属性组上的值与(S关系)在B属性组上值满足
11、比较关系的元组。,2020年9月14日7时21分,数据库原理及应用,29,3. 连接(Join),连接运算运算规律: 从R和S的广义笛卡尔积RS中选取 (R关系)在A属性组上的值与(S关系)在B属性组上值满足比较关系的元组。,2020年9月14日7时21分,数据库原理及应用,30,3)两类常用连接运算 等值连接(equijoin) 什么是等值连接 为“”的连接运算称为等值连接 等值连接的含义 从关系R与S的广义笛卡尔积中选取A、B属性值相等的那些元组,即等值连接为: R S = | tr Rts StrA = tsB ,A=B,2020年9月14日7时21分,数据库原理及应用,31,自然连接(
12、Natural join) 什么是自然连接 自然连接是一种特殊的等值连接 两个关系中进行比较的分量必须是相同的属性组 在结果中把重复的属性列去掉 自然连接的含义 R和S具有相同的属性组B R S = | tr Rts StrB = tsB ,2020年9月14日7时21分,数据库原理及应用,32,连接(续),4)一般的连接操作是从行的角度进行运算。 自然连接还需要取消重复列,所以是同时从行和列的角度进行运算。,2020年9月14日7时21分,数据库原理及应用,33,连接(续),5)举例 例5,R,S,2020年9月14日7时21分,数据库原理及应用,34,连接(续),R S,R,S,2020年
13、9月14日7时21分,数据库原理及应用,35,连接(续),等值连接 R S,2020年9月14日7时21分,数据库原理及应用,36,连接(续),自然连接 R S,2020年9月14日7时21分,数据库原理及应用,37,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 =
14、 trX,2020年9月14日7时21分,数据库原理及应用,38,除(续),2)除操作是同时从行和列角度进行运算 3)举例 参考 (p59),2020年9月14日7时21分,数据库原理及应用,39,除(续),R,S,2020年9月14日7时21分,数据库原理及应用,40,分析:,在关系R中,A可以取四个值a1,a2,a3,a4 a1的象集为 (b1,c2),(b2,c3),(b2,c1) a2的象集为 (b2,c1),(b2,c3) a3的象集为 (b4,c6) a4的象集为 (b6,c6) S在(B,C)上的投影为 (b1,c2),(b2,c1),(b2,c3) 只有a1的象集包含了S在(B
15、,C)属性组上的投影 所以 RS =a1,2020年9月14日7时21分,数据库原理及应用,41,思考?,R,S1,2020年9月14日7时21分,数据库原理及应用,42,5综合举例,以学生-课程数据库为例 例7 查询至少选修1号课程和3号课程的学生号码 首先建立一个临时关系K: 然后求:Sno.Cno(SC)K,2020年9月14日7时21分,数据库原理及应用,43,综合举例(续),例 7续 Sno.Cno(SC) 95001象集1,2,3 95002象集2,3 Cno(K)=1,3 于是:Sno.Cno(SC)K=95001,2020年9月14日7时21分,数据库原理及应用,44,关系代数
16、的五个基本操作 (例),例8 图2.12有两个关系R和S,此处R和S的属性名相同,R和S的并、差、笛卡儿积、投影、选择运算结果见图2.13,2020年9月14日7时21分,数据库原理及应用,45,关系代数的五个基本操作 (例),(a)RS (b)RS(c)RS (d)C,A(R)(e)B=b(R) 图2.13 关系代数操作的结果,(a)关系R (b)关系S 图2.12 两个关系,2020年9月14日7时21分,数据库原理及应用,46,综合举例(续),例 8 查询选修了2号课程的学生的学号。 Sno(Cno=2(SC) 95001,95002,2020年9月14日7时21分,数据库原理及应用,4
17、7,综合举例(续),例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),2020年9月14日7时21分,数据库原理及应用,48,综合举例(续),作业: 查询选修了全部课程的学生号码和姓名。(写出运算过程) (Sno,Cno(SC)Cno(Course)) Sno,Sname(Student),2020年9月14日7时21分
18、,数据库原理及应用,49,小结,l关系代数运算 关系代数运算 并、差、交、笛卡尔积、投影、选择、连接、除 基本运算 并、差、笛卡尔积、投影、选择 交、连接、除 可以用5种基本运算来表达 引进它们并不增加语言的能力,但可以简化表达,2020年9月14日7时21分,数据库原理及应用,50,小结(续),l关系代数表达式 关系代数运算经有限次复合后形成的式子 l 典型关系代数语言 ISBL(Information System Base Language) 由IBM United Kingdom研究中心研制 用于PRTV(Peterlee Relational Test Vehicle)实验系统,20
19、20年9月14日7时21分,数据库原理及应用,51,2.5 关 系 演 算,2.5.1 元组关系演算 2.5.2 域关系演算,2020年9月14日7时21分,数据库原理及应用,52,2.5 关系演算,关系演算 以数理逻辑中的谓词演算为基础,常见的谓词如下表所示,2020年9月14日7时21分,数据库原理及应用,53,种类:按谓词变元不同分类 1.元组关系演算: 以元组变量作为谓词变元的基本对象 元组关系演算语言ALPHA 2.域关系演算: 以域变量作为谓词变元的基本对象 域关系演算语言QBE,2020年9月14日7时21分,数据库原理及应用,54,元组关系演算 (1),在元组关系演算(Tupl
20、e Relational Calculus)中,元组关系演算表达式简称为元组表达式,其一般形式为 t | P(t) 其中,t是元组变量,表示一个元数固定的元组; P是公式,在数理逻辑中也称为谓词,也就是计算机语言中的条件表达式。 t | P(t)表示满足公式P的所有元组t的集合。,2020年9月14日7时21分,数据库原理及应用,55,元组关系演算 (2),在元组表达式中,公式由原子公式组成。 定义2.4 原子公式(Atoms)有下列三种形式: R(s) siuj sia或auj。 在定义关系演算操作时,要用到“自由”(Free)和“约束”(Bound)变量概念。 在一个公式中,如果元组变量未
21、用存在量词或全称量词符号定义,那么称为自由元组变量,否则称为约束元组变量。,2020年9月14日7时21分,数据库原理及应用,56,元组关系演算 (3),定义2.5 公式(Formulas)的递归定义如下: 每个原子是一个公式。其中的元组变量是自由变量。 如果P1和P2是公式,那么P1、P1P2、P1P2和 P1P2也都是公式。 如果P1是公式,那么(s)(P1)和(s)(P1)也都是公式。 公式中各种运算符的优先级从高到低依次为: ,和,和,。在公式外还可以加括号,以改变上述优先顺序。 公式只能由上述四种形式构成,除此之外构成的都不是公式。,2020年9月14日7时21分,数据库原理及应用,
22、57,元组关系演算 (4),例2.16 图2.20的(a)、(b)是关系R和S,(c)(g)分别是下面五个元组表达式的值,图2.20 元组关系演算的例子,R1 = t | S(t)t12 R2 = t | R(t)S(t) R3 = t |(u)(S(t)R(u)t3u1),R5 = t |(u)(v)(R(u) S(v)u1v2t1=u2t2=v3t3=u1),2020年9月14日7时21分,数据库原理及应用,58,元组关系演算 (5),在元组关系演算的公式中,有下列三个等价的转换规则: P1P2等价于(P1P2); P1P2等价于(P1P2)。 (s)(P1(s)等价于(s)(P1(s);
23、 (s)(P1(s)等价于(s)(P1(s)。 P1P2等价于 P1P2。,2020年9月14日7时21分,数据库原理及应用,59,元组关系演算 (6),关系代数表达式到元组表达式的转换 例2.17 RS可用 t | R(t)S(t)表示; R-S可用 t | R(t)S(t) 表示; RS可用 t |(u)(v)(R(u)S(V) t1=u1 t2=u2t3=u3t4=v1 t5=v2 t6=v3) 表示。 设投影操作是2,3(R),那么元组表达式可写成: t |(u)(R(u)tl=u2t2=u3) F(R)可用 t |R(t)F表示,F是F的等价表示形式。譬如 2=d(R)可写成 t |
24、(R(t)t2=d)。,2020年9月14日7时21分,数据库原理及应用,60,元组关系演算的例子,例2.16 图2.20的(a)、(b)是关系R和S,(c)(g)分别是下面五个元组表达式的值,图2.20 元组关系演算的例子,R1 = t | S(t)t12 R2 = t | R(t)S(t) R3 = t |(u)(S(t)R(u)t3u1),R5 = t |(u)(v)(R(u) S(v)u1v2t1=u2t2=v3t3=u1),2020年9月14日7时21分,数据库原理及应用,61,元组关系演算语言ALPHA,由E.F.Codd提出 INGRES所用的QUEL语言是参照ALPHA语言研制的 语句 检索语句 GET 更新语句 PUT,HOLD,UPDATE,DELETE,DROP,2020年9月14日7时21分,数据库原理及应用,62,元组关系演算语言ALPHA,检索操作 GET GET工作空间名 (定额)(表达式1) :操作
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 会议报告与总结撰写制度
- 兰州大学口腔医院2026年招聘备考题库及参考答案详解1套
- 2026年鹤山镇中心卫生院医学检验科招聘备考题库及参考答案详解
- 中学学生社团活动经费监管职责制度
- 中学社团指导教师职责制度
- 2026年昭通市第三人民医院总务科综合岗位招聘备考题库附答案详解
- 2026年菜园坝街道社区卫生服务中心招聘放射技师1名备考题库附答案详解
- 2026年秦皇岛市九龙山医院第二批公开选聘工作人员备考题库有答案详解
- 2026年长春黄金设计院有限公司招聘备考题库带答案详解
- 2026年皮山县人民医院招聘备考题库及一套答案详解
- 2024年地下储气库行业现状分析:全球地下储气库数量增至679座
- GB/T 6003.2-2024试验筛技术要求和检验第2部分:金属穿孔板试验筛
- 离婚协议标准版(有两小孩)
- 浙江省台州市路桥区2023-2024学年七年级上学期1月期末考试语文试题(含答案)
- 假体隆胸后查房课件
- 2023年互联网新兴设计人才白皮书
- DB52-T 785-2023 长顺绿壳蛋鸡
- 关于地方储备粮轮换业务会计核算处理办法的探讨
- GB/T 29319-2012光伏发电系统接入配电网技术规定
- GB/T 1773-2008片状银粉
- GB/T 12007.4-1989环氧树脂粘度测定方法
评论
0/150
提交评论