关系代数
在关系代数的形式化语言中:
- 用表、或者数据集合表示关系或者实体
- 用行表示元组
- 用列表示属性
关系代数运算符,
我们利用下表数据加以说明1:
关系运算符23
- 选择运算($\sigma$):返回满足指定条件的元组(行)。
- 投影($\pi$):返回指定的指定的属性(列)。
- 广义笛卡尔积($R\times S$)
$R$: n 目关系, $k_1$ 个元组;
$S$: m 目关系, $k_2$ 个元组;
$R\times S$: $n+m$ 目关系, $k_1\times k_2$ 个元组;
$S$: m 目关系, $k_2$ 个元组;
$R\times S$: $n+m$ 目关系, $k_1\times k_2$ 个元组;
- 连接:连接运算是由一个笛卡尔积运算和一个选取运算构成的,它是从两个关系的笛卡尔积中选取属性间满足一定条件的元组。
首先用笛卡尔积完成对两个数据集合的乘运算,然后对生成的结果集合进行选取运算,确保只把分别来自两个数据集合并且具有重叠部分的行合并在一起。
连接的全部意义在于在水平方向上合并两个数据集合(通常是表),并产生一个新的结果集合,其方法是将一个数据源中的行于另一个数据源中和它匹配的行组合成一个新元组。
- 除:返回两个数据集之间的精确匹配
设有关系 $R(X,Y)$ 与关系 $S(Y,Z)$,其中 X,Y,Z 为属性集合,R 中的 Y 与 S 中的 Y 可以有不同的属性名,但对应属性必须出自相同的域。
关系 $R\div S$ 所得的商是一个新关系 $P(X)$,P 是 R 中满足下列条件的元组在 X 上的投影 :元组在 X 上分量值 x 的象集 $Y_x$ 包含关系 S 在 Y 上投影的集合。
关系 $R\div S$ 所得的商是一个新关系 $P(X)$,P 是 R 中满足下列条件的元组在 X 上的投影 :元组在 X 上分量值 x 的象集 $Y_x$ 包含关系 S 在 Y 上投影的集合。
连接操作实战
- 内连接(INNER JOIN):
- 左外连接(LEFT JOIN 或 LEFT OUTER JOIN):
- 右外连接(RIGHT JOIN 或 RIGHT OUTER JOIN):
- 全外连接(FULL JOIN 或 FULL OUTER JOIN):
-
数据库原理与应用(常玉慧,钱进,张俐) ↩