关系数据库运算

关系操作的特点是操作对象和操作结果都是集合。

关系代数运算符有4类:集合运算符、专门的关系运算符、算术比较符和逻辑运算符。根 据运算符的不同,关系代数运算可分为传统的集合运算和专门的关系运算。传统的集合运算是 从关系的水平方向进行的,包括并、交、差及广义笛卡儿积。专门的关系运算既可以从关系的 水平方向进行运算,又可以向关系的垂直方向运算,包括选择、投影、连接以及除法。

5种基本的关系代数运算包括并、差、笛卡尔积、投影和选择,其他运算可以通过基本的关系运算导出。

1.并(Union)

关系R 与S具有相同的关系模式,即R 与S的元数相同(结构相同)。关系R 与S的并由 属于R 或属于S的元组构成的集合组成。

2.差 (Difference)

关系 R 与S具有相同的关系模式,关系R 与S的差是由属于R但不属于S的元组构成的集合。

3.广义笛卡尔积 (Extended Cartesian Product)

两个元数分别为n目和m 目的关系R 和S的广义笛卡尔积是一个(n+m) 列的元组的集 合。

4.投影 (Projection)

投影运算是从关系的垂直方向进行运算,在关系R中选择出若干属性列A组成新的关系。

5.选择(Selection)

选择运算是从关系的水平方向进行运算,是从关系R 中选择满足给定条件的诸元组。

扩展的关系运算可以从基本的关系运算中导出,主要包括:选择、投影、连接、除法、广 义笛卡尔积、外连接。

6.交 (Intersection)

关系R 与S具有相同的关系模式,关系R 与S 的交是由属于R 同时又属于S的元组构成的 集合。

7.连接(Join)

连接分为θ连接、等值连接及自然连接3种。连接运算是从两个关系R和S的笛卡尔积中 选取满足条件的元组。因此,可以认为笛卡尔积是无条件连接,其他的连接操作是有条件连接。 下面分述如下。

1)θ连接

θ连接是从R 与S的笛卡尔积中选取属性满足一定条件的元组。

2)等值连接(Equijoin)

当θ为“=”时,称之为等值连接。

3)自然连接 (Natural Join) 是一种特殊的等值连接,它要求两个关系中进行比较的分量必 须是相同的属性组,并且在结果集中将重复属性列去掉。

特别需要说明的是:一般连接是从关系的水平方向运算,而自然连接不仅要从关系的水平 方向,而且也要从关系的垂直方向运算。因为自然连接要去掉重复属性,如果没有重复属性, 那么自然连接就转化为笛卡儿积。

8.除 (Division)

除运算同时从关系的水平方向和垂直方向进行运算。给定关系R(X,Y)和S(Y,Z), X、Y、Z为属性组。 R÷S应当满足元组在X 上的分量值x的象集Yx包含关系S在属性组Y上投 影的集合。

9.广义投影(Generalized Projection)

广义投影运算允许在投影列表中使用算术运算,实现了对投影运算的扩充。

10.外连接 (Outer Jion)

外连接运算是连接运算的扩展,可以处理缺失的信息。外连接运算有三种:左外连接、右 外连接和全外连接。

①左外连接 (Left Outer Jion)

左外连接:取出左侧关系中所有与右侧关系中任一元组都不匹配的元组,用空值null充填 所有来自右侧关系的属性,构成新的元组,将其加入自然连接的结果中。

②右外连接 (Right Outer Jion)

右外连接:取出右侧关系中所有与左侧关系中任一元组都不匹配的元组,用空值null填充 所有来自左侧关系的属性,构成新的元组,将其加入自然连接的结果中。

③全外连接 (Full Outer Jion)

全外连接:完成左外连接和右外连接的操作。即填充左侧关系中所有与右侧关系中任一元 组都不匹配的元组,又填充右侧关系中所有与左侧关系中任一元组都不匹配的元组,将产生的 新元组加入自然连接的结果中。

11.聚集函数

聚集运算是关系代数运算中的一个非常重要的扩展。聚集函数输入一个值的集合,返回 单一值作为结果。例如,集合{2,4,6,8,10,15}。将聚集函数sum用于该集合时返回和45;将 聚集函数avg用于该集合时返回平均值7.5;将聚集函数count用于该集合时返回集合中元数 的个数6;将聚集函数min用于该集合时返回最小值2;将聚集函数max用于该集合时返回最 大值15。

需要说明的是,使用聚集函数的集合中,一个值可以出现多次,值出现的顺序是无关紧要 的,这样的集合称之为多重集。集合是多重集的一个特例,其中每个值都只出现一次。

但是,有时在计算聚集函数前必须去掉重复值,此时可以将distinct用连接符附加在函数名 后,如count-distinct。

你可能感兴趣的:(系统架构设计师,机器学习,人工智能)