知识点讲解
 
       扩展的关系运算
知识路径: > 数据库技术 > 关系数据库 > 关系运算 > 关系代数运算及关系代数表达式 > 
被考次数:14次
被考频率: 高频率
总体答错率: 48%
知识难度系数:
考试要求: 掌握     
相关知识点:7个
        扩展的关系运算可以从基本的关系运算中导出,主要包括:交、连接、除、广义投影、外连接、聚集函数。
               交(Intersection)
               关系RS具有相同的关系模式,关系RS的交是由属于R同时又属于S的元组构成的集合,关系RS的交可记为RS,其形式定义如下:
               RS={ttRtS
               显然,RS=R-(R-S),或者RS=S-(S-R)。
               
               运算结果
               连接(Join)
               连接分为θ连接、等值连接及自然连接三种。连接运算是从两个关系RS的笛卡儿积中选取满足条件的元组。因此,可以认为笛卡儿积是无条件连接,其他的连接操作是有条件连接。θ连接
               θ连接是从RS的笛卡儿积中选取属性间满足一定条件的元组。其形式定义如下:
               
               其中:'XθY'为连接的条件,θ是比较运算符,XY分别为RS上度数相等,且可比的属性组。tnX]表示Rtn元组的相应于属性X的一个分量。tmY]表示Stm元组的相应于属性Y的一个分量。需要说明的是:
               .θ连接也可以表示为:
               
               其中:i=1,2,3,…,nj=1,2,3,…,m,'iθj'的含义为从两个关系RS中选取R的第i列和S的第j列之间满足θ运算的元组进行连接。
               .θ连接可以由基本的关系运算笛卡儿积和选取运算导出。因此θ连接可表示为:
               
                      等值连接(equijoin)
                      当θ为“=”时,称之为等值连接,记为。其形式定义如下:
                      
                      自然连接(Natural join)
                      自然连接是一种特殊的等值连接,它要求两个关系中进行比较的分量必须是相同的属性组,并且在结果集中将重复属性列去掉。
                      若tn表示R关系的元组变量,tm表示S关系的元组变量;RS具有相同的属性组B,且B=(B1B2,…,BK);并假定R关系的属性为A1A2,…,An-kB1B2,…,Bk,S关系的属性为B1B2,…,BKBK+1BK+2,…,Bm;为S的元组变量tm去掉重复属性B所组成的新的元组变量为。自然连接可以记为,其形式定义如下:
                      
                      自然连接可以由基本的关系运算笛卡儿积和选取运算导出,因此自然连接可表示为:
                      
                      特别需要说明的是:一般连接是从关系的水平方向运算,而自然连接不仅要从关系的水平方向,而且要从关系的垂直方向运算。因为自然连接要去掉重复属性,如果没有重复属性,那么自然连接就转化为笛卡儿积。
               除(Division)
               除运算是同时从关系的水平方向和垂直方向进行运算。给定关系RXY)和SYZ),XYZ为属性组。R÷S应当满足元组在X上的分量值x的象集Yx包含关系S在属性组Y上投影的集合。其形式定义如下:
               
               其中:YxxR中的象集,x=tnX]。且R÷S的结果集的属性组为X
               广义投影(generalized projection)
               广义投影运算允许在投影列表中使用算术运算,实现了对投影运算的扩充。
               若有关系R,条件F1F2,…,Fn中的每一个都是涉及R中常量和属性的算术表达式,那么广义投影运算的形式定义为:
               外连接(outer jion)
               
               SCSC关系
               外连接运算是连接运算的扩展,可以处理缺失的信息。对于上图的SSC关系,当进行的自然连接时,其结果如下图所示。
               
               
               从上图可以看出SSC的自然连接的结果丢失了黎明、刘明远、赵国庆的信息。可是,使用外连接就可以避免这样的信息丢失。外连接运算有三种:左外连接、右外连接和全外连接。
                      左外连接(left outer jion)
                      
                      SCSC关系
                      左外连接:取出左侧关系中所有与右侧关系中任一元组都不匹配的元组,用空值null填充所有来自右侧关系的属性,构成新的元组,将其加入自然连接的结果中。对于上图的SSC关系,当我们对其进行左外连接时,其结果如下图所示。
                      
                      
                      右外连接(right outer jion)
                      
                      SCSC关系
                      右外连接:取出右侧关系中所有与左侧关系中任一元组都不匹配的元组,用空值null填充所有来自左侧关系的属性,构成新的元组,将其加入自然连接的结果中。对于上图的SCC关系,当我们对其进行右外连接时,其结果如下图所示。
                      
                      
                      全外连接(full outer jion)
                      全外联接:完成左外连接和右外连接的操作。既填充左侧关系中所有与右侧关系中任一元组都不匹配的元组,又填充右侧关系中所有与左侧关系中任一元组都不匹配的元组,将产生的新元组加入自然连接的结果中。
               聚集函数
               聚集运算是关系代数运算中的一个非常重要的扩展。聚集函数输入一个值的集合,返回单一值作为结果。例如,集合{2,4,6,8,10,15}。将聚集函数sum用于该集合时返回和45;将聚集函数avg用于该集合时返回平均值7.5;将聚集函数count用于该集合时返回集合中元数的个数6;将聚集函数min用于该集合时返回最小值2;将聚集函数max用于该集合时返回最大值15。
               需要说明的是,使用聚集函数的集合中,一个值可以出现多次,值出现的顺序是无关紧要的,这样的集合称之为多重集。集合是多重集的一个特例,其中每个值都只出现一次。
               但是,有时在计算聚集函数前必须去掉重复值,此时可以将“distinct”用连接符附加在函数名后,如count-distinct。
 

更多复习资料
请登录电脑版软考在线 www.rkpass.cn

京B2-20210865 | 京ICP备2020040059号-5
京公网安备 11010502032051号 | 营业执照
 Copyright ©2000-2023 All Rights Reserved
软考在线版权所有