关系运算第1讲.ppt_第1页
关系运算第1讲.ppt_第2页
关系运算第1讲.ppt_第3页
关系运算第1讲.ppt_第4页
关系运算第1讲.ppt_第5页
已阅读5页,还剩45页未读 继续免费阅读

下载本文档

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

文档简介

第2章 关系运算,数据库系统原理及应用,(第一讲),学习关系运算的意义,关系运算是以集合运算等为基础,实现关系数据库的数据表中数据的联系、设计关系数据库操作语言和实现各种数据库操作的数学基础。 学习和理解关系运算的机理,对于理解关系数据库中的数据查询机制等,都具有十分重要的意义。,2.1 关系的数学定义 2.2 关系代数(2.2.1,2.2.2),2.1 关系的数学定义,第2章 关系运算,一、笛卡儿积的数学定义,定义2.1 设有属性A1和A2分别在值域D1和D2中取值,则这两个属性的值域集合的笛卡儿积定义为: D1D2=|d1D1且d2D2 其中,序偶d1,d2中的两个元素d1和d2是有序的,也即其次序是不能改变的。进一步讲,D1D2D2D1。 例如,笛卡儿坐标系的二维平面上一个点的坐标x, y的次序就是不能改变的。,一、笛卡儿积的数学定义,定义2.2 设有属性A1,A2,An分别在值域D1,D2,Dn中取值,则这n 个值域集合的笛卡儿积定义为: D1D2Dn| djDj,j=1,2,n 其中: 每个元素称为有序n元组,也即a1,a2,anb1,b2,bn,当且仅当aj=bj (j1, 2, 3, n)。,一、笛卡儿积的数学定义,定义2.2 设有属性A1,A2,An分别在值域D1,D2,Dn中取值,则这n 个值域集合的笛卡儿积定义为: D1D2Dn| djDj,j=1,2,n 其中: 有序n元组中的第j个值dj称为有序n元组的第j个分量。若Dj为有限集,且其基数为mj,则笛卡儿积的基数为m 。,一、笛卡儿积的数学定义,比如:设D1=1,2,3,基数为3; D2=a,b,基数为2; 则有: D1D2=, , 且基数为32=6。 对比基数的定义式: m 可见,笛卡儿积的基数即为笛卡儿积定义的元组集合中的元组的个数。,一、笛卡儿积的数学定义,例2.1:设D1=李兵,王芳,D2=男,女, D3=北京,上海。 D1D2D3= , , , , , , , 且基数为222=8。,一、笛卡儿积的数学定义,分析上述例2中的笛卡儿积结果可知,可将其表示成一个具有8个元组的二维表。,二、关系的数学定义,考察例2.1中用表格表示的根据笛卡儿定义所得的结果可知,其内容是难以符合现实中的实际情况的。,例2.1 的笛卡儿结果,二、关系的数学定义,有意义!,在实际中,只有取该表格中的一部分元组,其元组值才可能有意义。,二、关系的数学定义,1、关系的数学定义 定义2.2 笛卡儿积D1D2Dn的任一子集称为在域D1,D2, ,Dn上的关系。 其中,值域集合D1,D2, ,Dn是关系中元组的取值范围,称为关系的域(Domain),n称为关系的目或关系的度(Degree)。,二、关系的数学定义,n=2时,二元关系 n=m时,m元关系,1、关系的数学定义 定义2.2 笛卡儿积D1D2Dn的任一子集称为在域D1,D2, ,Dn上的关系。 其中,值域集合D1,D2, ,Dn是关系中元组的取值范围,称为关系的域(Domain),n称为关系的目或关系的度(Degree)。,三、关系的性质,2、关系的性质 (1)关系中的每个属性值都是不可再分的数据单位,即关系表中不能再有子表; (2)关系中任意两行不能完全相同,即关系中不允许出现相同的元组; (3)关系是一个元组的集合,所以关系中元组间的顺序可以任意; (4)每一个关系都有一个主键,用于唯一地标识它的各个元组。,2.2 关系代数,第2章 关系运算,关系代数的运算对象和运算符,一、基于传统集合理论的关系运算,1、并 设关系R 和S 具有相同的关系模式,R 和S 的并是由属于R,或属于S,或同时属于R和S 的所有元组组成的集合,并定义为: RS ttRtS,一、基于传统集合理论的关系运算,并运算过程: 将关系R 和S 的元组放在一起,然后消去重复的元组。,一、基于传统集合理论的关系运算,1、并 示例: 求R1R2,关系R1,关系R2,R1R2,适用于:找出所有出现在两个关系之一的或同时出现在 两个关系中的元组的运算需求。,一、基于传统集合理论的关系运算,2、交 设关系R 和S 具有相同的关系模式,R 和S 的交是由既属于R 也属于S 的所有元组组成的集合,并定义为: RS ttRtS,一、基于传统集合理论的关系运算,交运算过程: 找出同时存在于关系R 和S 中的所有相同的元组。,一、基于传统集合理论的关系运算,2、交 示例: 求R1R2,关系R1,关系R2,适用于:需要找出那些所有同时出现在两个关系中的元 组的运算需求。,R1R2,一、基于传统集合理论的关系运算,3、差 设关系R 和S 具有相同的关系模式,R 和S 的差运算是由属于R 但不属于S 的元组组成的集合,并定义为: RS ttRtS,一、基于传统集合理论的关系运算,差运算过程: 从关系R 的元组中去除它与关系S 相同的那些元组。,一、基于传统集合理论的关系运算,3、差 示例: 求R1R2,关系R1,关系R2,适用于:找出在一个关系中而不在另一个关系中的那些 元组的运算需求.,R1R2,一、基于传统集合理论的关系运算,4、广义笛卡儿积 由前面的关系的数学定义可知,在面向关系运算的广义笛卡儿积中,并不强调“序偶”a,b和“有序n元组”a,a,a中各元素的次序问题。比如: (学号,姓名,性别)和(姓名,学号,性别)的表示只是习惯问题而不是严格的次序问题。 所以,把这种不强调其n元组中元素次序的笛卡儿积运算,称为广义笛卡儿积运算。在广义笛卡儿积运算中,用一对圆括号表示一个n元组。,一、基于传统集合理论的关系运算,4、广义笛卡儿积 定义:设关系R 和S 的目数分别为r 和s,R 和S 的笛卡尔积是一个rs 目的元组集合,每个元组的前r 个分量来自R 中的一个元组,后s 个分量来自S 中的一个元组,并定义为: RSt | t(tr,ts)trRtsS 其中,tj 表示t 的目数为j。,一、基于传统集合理论的关系运算,广义笛卡儿积运算过程: 用R 的第i(i=1,2,m)个元组与S的全部元组(设为n 个元组)进行结合(为n个),所以RS 有mn 个元组。,一、基于传统集合理论的关系运算,4、广义笛卡儿积 示例: 求R1R3,关系R3,R1R3,关系R1,a b c g h,a b c i j,一、基于传统集合理论的关系运算,4、广义笛卡儿积 示例: 求R1R3,关系R3,R1R3,关系R1,a b c g h,a b c i j,一、基于传统集合理论的关系运算,4、广义笛卡儿积 命名机制 关系名.属性名,关系R3,R1R3,关系R1,广义笛卡儿积适用于: 将任意两个关系的信息无条件组合在一起的运算需求。,二、关系代数特有的关系运算,1、投影(Projection) 设关系R 为r 目关系,其元组tr变量为t=(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,Ajr)R 其中,为投影运算符。,投影运算过程: 首先按照j1,j2,jk的顺序,从关系R 中取出列序号为j1,j2,jk(或属性名序列为Aj1,Aj2,Ajk )的k 列,然后除去结果中的重复元组,构成一个以Aj1,Aj2,Ajk为属性顺序的k 目关系。 投影是从列的角度进行的运算 投影的下标可是列序号,也可是列属性名,二、关系代数特有的关系运算,1、投影 示例:1,2(R2),关系R2,二、关系代数特有的关系运算,适用于:可以从某一关系中选出若干属性列构成新的关系, 通常用于查询结果的输出,取出A、B两列,取掉重复元组,2、选择 设F 是一个命题公式,其运算对象是常量或元组分量(属性名或列序号),运算符为算术比较运算符(,)和逻辑运算符(,)。则关系R 关于公式F 的选择运算定义为: F(R)ttRFtrue 其中,为选择运算符。F(R)运算是从R 中挑选满足公式F 的那些元组。,二、关系代数特有的关系运算,选择运算过程:F(R)ttRF(t)=true 根据由形如 或 组成的命题公式(关系表达式 )F 对关系 R 作水平(行)分割,从中挑选出满足公式 F 的那些元组,组成新关系。 运算得到的新关系与 R 的属性相同,但其元组数量总是小于或等于 R 中的元组数量。,二、关系代数特有的关系运算,2、选择 示例:,关系R1,B=dC=e(R1),二、关系代数特有的关系运算,适用于:可以在某一关系中选择满足给定条件的诸元组 构成新的关系,运算结果,练习,关系R1,3,1(R1),二、关系代数特有的关系运算,二、关系代数特有的关系运算,关系R2,23(R2),练习,4、连接 设关系R 和S 的目数分别为r 和s,是算术比较运算符,则连接运算定义为:,二、关系代数特有的关系运算,二、关系代数特有的关系运算,连接运算过程: 将R 的每个元组的第j 个分量与S 的每个元组的第k 个分量做 比较运算,当满足比较条件时,就把S 的该分量所在元组接在R 的相应元组的右边构成一个新关系的元组;当不满足比较条件时,继续下一次比较,直到关系R 和S 中的元组都比较完为止。,关系R,关系S,例2.4 已知关系R和S,求R S 或 R S,二、关系代数特有的关系运算,适用于:有选择条件的多个关系的数据组合运算需 求。,连接运算的条件: R S,FF1F2Fm 当Fi 中的关系运算符是“=”时,为等值连接。,二、关系代数特有的关系运算,视同一种自然情况下的连接,5、自然连接 设关系R 和S 的目数分别为r 和s ,且关系 R 和S 的属性中有部分相同属性 A1,A2,Ak,则自然连接定义为:,二、关系代数特有的关系运算,其中: 表示从 S 关系的元组变量ts=( , , )中取掉分量S.A1,S.A2,S.Ak 后所形成的新元组变量。,二、关系代数特有的关系运算,自然连接运算过程: 将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,求R S,二、关系代数特有的关系运算,R,S,例2.5 已知关系R 和S,求RS,二、关系代数特有的关系运算,5、自连联接

温馨提示

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

评论

0/150

提交评论