跳转至

Relational Algebra

基本操作

操作 表达式 含义
选择 \(\sigma_p(r)\) 返回关系\(r\)中满足关系式\(p\)的元组的关系
投影 \(\Pi_{A_1,A_2,\dots,A_k(r)}\) 返回关系\(r\)中属性为\(A_1,A_2,\dots,A_k\)的列并去重
集合并 \(r\cup s\) 将两个属性数相等且所有属性的域相同的两个关系合并为同一个关系,并去重
集合差 \(r-s\) 返回属于关系\(r\)却不出现在关系\(s\)中的元组的关系
笛卡尔积 \(r\times s\) 返回任意两个关系的元组组合(两个关系的属性应不相交,否则应重命名)
重命名 \(\rho_{x}(E)\) \(E\)重命名为\(x\)并返回

拓展操作

操作 表达式 含义
集合交 \(r\cap s\) 取同时出现在两个关系中的元组,可转化为\(r-(r-s)\)
自然连接 \(r\bowtie s\) 取两个关系公共属性中具有相同属性值的元组进行拼接
theta连接 \(r\bowtie_\theta s\) 返回满足关系式\(\theta\)的自然连接结果
\(r\div s\) \(r\div s =\{t \vert t\in\Pi_{R-S}(r)\cap \forall u \in s(tu\in r)\}\)
聚集 \(_{G_1,G_2,\dots, G_n}\ \mathcal{G}_{F_1(A_1),F_2(A_2),\dots,F_n(A_n)}(r)\) \(G_i\)是用于分组的属性,\(F_i\)是聚集函数,\(A_i\)是属性名
赋值 \(r\leftarrow s\) 将右边的计算结果赋值给左边的表