《关系运算》ppt课件

上传人:tia****nde 文档编号:70702883 上传时间:2019-01-17 格式:PPT 页数:86 大小:1.16MB
返回 下载 相关 举报
《关系运算》ppt课件_第1页
第1页 / 共86页
《关系运算》ppt课件_第2页
第2页 / 共86页
《关系运算》ppt课件_第3页
第3页 / 共86页
《关系运算》ppt课件_第4页
第4页 / 共86页
《关系运算》ppt课件_第5页
第5页 / 共86页
点击查看更多>>
资源描述

《《关系运算》ppt课件》由会员分享,可在线阅读,更多相关《《关系运算》ppt课件(86页珍藏版)》请在金锄头文库上搜索。

1、第2章 关系运算,数据库原理及应用,教学内容,关系的数学定义 关系代数 关系演算,第1节 关系的数学定义,第2章 关系运算,主要内容,笛卡儿积的数学定义 关系的数学定义 关系的性质,一、笛卡儿积的数学定义,1、笛卡儿积的数学定义 定义2.1 设有属性A1,A2,An分别在值域D1,D2,Dn中取值,则这些值域的笛卡儿积定义为: D1D2Dn=(d1,d2,dn)|djDj, j=1,2,n 其中,每个元素 (d1,d2,dn)称为元组。 元组中的第j个值dj称为元组的第j个分量。 若Dj (j=1,2,n)为有限集,且其基数为mj (j=1,2,n),则笛卡儿积D1D2Dn的基数为,注:笛卡儿

2、积的基数即为笛卡儿积定义的元组集合中元组的个数。,一、笛卡儿积的数学定义,例1:设D1=1,2,3,基数为3; D2=a,b,基数为2; 则有: D1D2=(1,a),(1,b),(2,a),(2,b),(3,a),(3,b) 基数为32=6。,一、笛卡儿积的数学定义,例2:设D1=李兵,王芳,D2=男,女, D3=北京,上海。 D1D2D3=(李兵,男,北京),(李兵,男,上海), (李兵,女,北京),(李兵,女,上海), (王芳,男,北京),(王芳,男,上海), (王芳,女,北京),(王芳,女,上海) 基数为222=8。,一、笛卡儿积的数学定义,可见,笛卡儿积实际上是一个二维表,结果共有8

3、个元组。,二、关系的数学定义,2、关系的数学定义 定义2.2 笛卡儿积D1D2Dn的任一子集称为在域D1,D2,Dn上的关系。 值域集合D1,D2,Dn是关系中元组的取值范围,称为关系的域(Domain),n称为关系的目或度(Degree)。,n=1,一元关系 n=2,二元关系 度为n时,n元关系,有意义!,三、关系的性质,3、关系的性质 (1)关系中的每个属性值都是不可再分的数据单位,即关系表中不能再有子表; (2)关系中任意两行不能完全相同,即关系中不允许出现相同的元组; (3)关系是一个元组的集合,所以关系中元组间的顺序可以任意; (4)关系中的属性是无序的,使用时一般按习惯排列各列的顺

4、序; (5)每一个关系都有一个主键,唯一地标识它的各个元组。,关系是一种规范化了的二维表。,第2节 关系代数,第2章 关系运算,主要内容,基于传统集合理论的关系运算 关系代数特有的关系运算 4种非基本关系运算 关系代数运算在查询中的应用,一、基于传统集合理论的关系运算,1、并 前提:关系R和S具有相同的关系模式 定义:RSt|tRtS,运算过程: 将关系R和S的元组放在一起,然后消去重复的元组。,一、基于传统集合理论的关系运算,1、并 示例: 求R1R2,关系R1,关系R2,R1R2,适用于:找出所有出现在两个关系之一的或同时出现在两个关系中的元组。,一、基于传统集合理论的关系运算,2、交 前

5、提:关系R和S具有相同的关系模式 定义:RSttRtS,运算过程: 找出同时存在于关系R和S中的所有相同的元组。,一、基于传统集合理论的关系运算,2、交 示例: 求R1R2,关系R1,关系R2,适用于:需要找出所有同时出现在两个关系中的元组时。,R1R2,一、基于传统集合理论的关系运算,3、差 前提:关系R和S具有相同的关系模式 定义:RSt|tRtS,运算过程: 从关系R的元组中去除它与关系S相同的那些元组,一、基于传统集合理论的关系运算,3、差 示例: 求R1R2,关系R1,关系R2,适用于:找出在一个关系中而不在另一个关系中的那些元组.,R1R2,一、基于传统集合理论的关系运算,4、广义

6、笛卡儿积 前提:关系R和S的目数分别为r和s。 定义: RSt|t=trRtsS ,运算过程: 用R的第i(i=1,2,m)个元组与S的全部元组结合成n个元组,所以RS有mn个元组。,一、基于传统集合理论的关系运算,4、广义笛卡儿积 示例: 求R1R3,关系R3,R1R3,关系R1,a b c g h,a b c i j,一、基于传统集合理论的关系运算,4、广义笛卡儿积 命名机制 关系名.属性名,关系R3,R1R3,关系R1,适用于: 将任意两个关系的信息无条件组合在一起,例题,例 求两个子公司营业情况进行统计,汇总结果,例 检查其中哪一个人输入是正确的,求差结果,例2.3说明了对于两个关系R

7、和S,其RS和SR的结果是不一样的。,二、关系代数特有的关系运算,先引入几个记号 (1) R,tR,tAi 设关系模式为R(A1,A2,An) 它的一个关系设为R tR表示t是R的一个元组 tAi则表示元组t中相应于属性Ai的一个分量,二、关系代数特有的关系运算,(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后剩余的属性组。,二、关系代数特有的关系运算,(3) tr ts R为n

8、目关系,S为m目关系。 tr R,tsS, tr ts称为元组的连接。 tr ts是一个n + m列的元组,前n个分量为R中的一个n元组,后m个分量为S中的一个m元组。,二、关系代数特有的关系运算,(4)象集Zx 给定一个关系R(X,Z),X和Z为属性组。 当tX=x时,x在R中的象集(Images Set)为: Zx=tZ|t R,tX=x 它表示R中属性组X上值为x的诸元组在Z上分量的集合,二、关系代数特有的关系运算,x1在R中的象集 Zx1 =Z1,Z2,Z3, x2在R中的象集 Zx2 =Z2,Z3, x3在R中的象集 Zx3=Z1,Z3,象集举例,二、关系代数特有的关系运算,1、投影

9、 定义 设关系R为r目关系,其元组变量为tr(t1,t2,tr),关系R在其属性分量Aj1,Aj2,Ajk(kr;j1,j2,jk为1到r之间互不相同的整数)上的投影是一个k目关系,j1,j2,jk(R)t|t(tj1,tj2,tjk)(Aj1,Aj2,Ajk)R,1、投影 运算过程: 首先按照j1,j2,jk的顺序,从关系R中取出列序号为j1,j2,jk的k列,然后除去结果中的重复元组,构成一个以j1,j2,jk为顺序,以Aj1,Aj2,Ajk为属性的k目关系 投影是从列的角度进行的运算 投影的下标可是列序号,也可是列属性名,二、关系代数特有的关系运算,1、投影 示例:1,2(R2),关系R

10、2,二、关系代数特有的关系运算,适用于:可以从某一关系中选出若干属性列构成新的关系,通常用于查询结果的输出,2、选择 定义: F(R)ttRF(t)=true 运算过程: 根据公式F对关系R作水平分割,从中挑选出满足公式F的那些元组组成新关系。 设F是一个命题公式 或 选择是从行的角度进行的运算,产生的关系具有与R相同的属性,但其元组数量总是小于或等于R中的元组数量,二、关系代数特有的关系运算,2、选择 示例,关系R1,B=dC=e(R1),二、关系代数特有的关系运算,适用于:可以在某一关系中选择满足给定条件的诸元组构成新的关系,练习,关系R1,3,1(R1),二、关系代数特有的关系运算,二、

11、关系代数特有的关系运算,关系R2,23(R2),练习,二、关系代数特有的关系运算,给定关系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,3、除,除(续),2)除操作是同时从行和列角度进行运算,除(续),例6设关系R、S分别为下图的(a)和(b),RS的结果为图(c),分析,在关系R

12、中,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的象集包含了S在(B,C)属性组上的投影 所以 RS =a1,应用举例除法():,首先除法的结果中元数为两个元数的差, RS的操作思路如下- 把S看作一个块,如果R中相同属性集中的元组有相同的块, 且除去此块后留下的相应元组均相同,那么可以得到一条元组, 所有这些元组的集合就是除法的结果,R,S3,S2,S

13、1,RS1,RS2,RS3,4、联接 1)设关系R和S的目数分别为r和s,是算术比较运算符,则联接运算定义为:,二、关系代数特有的关系运算,2)运算过程 将R的每个元组的第j个分量与S的每个元组的第k个分量做比较运算,当满足比较条件时,就把S的该分量所在元组接在R的相应元组的右边构成一个新关系的元组;当不满足比较条件时,继续下一次比较,直到关系R和S中的元组都比较完为止。,4、联接 3)说明,二、关系代数特有的关系运算, R S,FF1F2Fm, 等值联接:为“=”,关系R,关系S,例2.4 已知关系R和S,求R S或R S,二、关系代数特有的关系运算,4)示例,5)适用于 有选择条件的多个关

14、系的数据组合,5、自然联接 1)设关系R和S的目数分别为r和s,且关系R和S的属性中有部分相同属性A1,A2,Ak,则自然联接定义为:,二、关系代数特有的关系运算,2)运算过程 将R的每个元组的A1,A2,Ak列的值和关系S的每个元组的A1,A2,Ak列的值进行比较,比较条件是R.A1S.A1R.A2S.A2R.AkS.Ak,当条件都满足时,就从关系S中正在比较的元组中去掉被比较的k个分量后,把剩余的分量依原序接在关系R的元组的右边构成新关系的一个元组;当至少有一个条件不满足时,就继续下一次比较,直到关系R和S中的元组均比较完为止。,R,S,例2.5 已知关系R和S,求RS,二、关系代数特有的

15、关系运算,3)示例,5、自然联接 4)适用于:自然联接在关系数据库理论和实践中处于中心地位,它的使用非常方便。 5)与等值联接的区别: 当两个关系R和S有相同属性时,自然联接与等值联接都是判断在相同属性上的值是否相等。但结果关系中,自然联接的公共属性只出现一次,而等值联接的公共属性则要重复出现; 当关系R和S无公共属性时,R与S的自然联接即为R与S的广义笛卡儿积。,二、关系代数特有的关系运算,1、交 设R和S具有相同的关系模式。 定义: RSR(RS) 或 RSS(SR),三、4种非基本关系运算,2、商 设R和S的目数分别为r和s,且rs,s。 用基本关系代数运算可定义商为: RS1,2,r-s(R)-1,2,r-s(1,2,r-s(R)S)-R),三、4种非基本关系运算,3、联接 设R和S的目数分别为r和s。 用基本关系代数运算可定义联接为:,三、4种非基本关系运算,过程为:在R和S的广义笛卡儿积中挑选那些其第j个分量和第r+k个分量

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号