关系代数运算符
集合运算符
运算符含义英文∪并Union−差Difference∩交Intersection×笛卡尔积Cartesian Product
比较运算符
运算符含义>大于≥大于等于<小于≤小于等于=等于≠不等于
专门的关系运算符
运算符含义英文σ选择Selectionπ投影Projection⋈链接Join÷除Division
逻辑运算符
运算符含义∧与∨或¬非
5 种基本的关系代数运算
并(Union)
关系 R 与 S 具有相同的关系模式,即 R 与 S 的元数相同(结构相同),R 与 S 的并是属于 R 或者属于 S 的元组构成的集合,记作 R ∪ S,定义如下:
$$R∪S=\{t|t∈R∨t∈S\}$$
差(Difference)
关系 R 与 S 具有相同的关系模式,关系 R 与 S 的差是属于 R 但不属于 S 的元组构成的集合,记作 R − S,定义如下:
$$R−S=\{t|t∈R∨t∉S\}$$
广义笛卡尔积(Extended Cartesian Product)
两个无数分别为 n 目和 m 目的关系 R 和 S 的 笛卡尔积是一个 (n+m) 列的元组的集合。组的前 n 列是关系 R 的一个元组,后 m 列是关系 S 的一个元组,记作 R × S,定义如下:
$$R×S=\{t|t=<(t^n,t^m)∧t^n∈R∧t^m∈S\}$$
$(t^n,t^m)$ 表示元素 $t^n$ 和 $t^m$ 拼接成的一个元组
投影(Projection)
投影运算是从关系的垂直方向进行运算,在关系 R 中选出若干属性列 A 组成新的关系,记作 $π_A(R)$,其形式如下:
$$π_A(R)=\{t[A]|t∈R\}$$
选择(Selection)
选择运算是从关系的水平方向进行运算,是从关系 R 中选择满足给定条件的元组,记作 $σ_F(R)$,其形式如下:
$$σ_F(R)=\{t|t∈R∧F(t)=True\}$$
实例
设有关系 R、S 如图所示,求 $R∪S$、 $R−S$、 $R×S$、 $π_{A,C}(R)$、 $σ_{A>B}(R)$ 和 $σ_{3<4}(R×S)$
进行并、差运算后结果如下:
进行笛卡尔、 投影、 选择运算后结果如下:
扩展的关系代数运算
交(Intersection)
关系 R 和 S 具有相同的关系模式,交是由属于 R 同时双属于 S 的元组构成的集合,记作 R∩S,形式如下:
$$R∩S=\{t|t∈R∧t∈S\}$$
链接(Join)
注:下面的 θ 链接应该记作:
θ 链接
从 R 与 S的笛卡尔积中选取属性间满足一定条件的元组,可由基本的关系运算笛卡尔积和选取运算导出,表示为:
$$R \Join_{XθY} S = σ_{XθY}(R×S)$$
XθY 为链接的条件,θ 是比较运算符,X 和 Y 分别为 R 和 S 上度数相等且可比的属性组
例如:求 $R \Join_{R.A 等值链接 当 θ 为「=」时,称之为等值链接,记为: $R\Join_{X=Y}S$ 自然链接 自然链接是一种特殊的等值链接,它要求两个关系中进行比较的分量必须是 相同的属性组,并且在结果集中将 重复的属性列 去掉 例如:设有关系 R、S 如图所示,求 $R \Join S$ 先求出笛卡尔积 $R×S$,找出比较分量(有相同属性组),即: R.A/S.A 与 R.C/S.C 取等值链接 $R.A = S.A$ 且 $R.C = S.C$ 结果集中去掉重复属性列,注意无论去掉 R.A 或者 S.A 效果都一样,因为他们的值相等,结果集中只会有属性 A、B、C、D 最终得出结果 除(Division) 设有以下如图关系,求 $R÷S$ 取关系 R 中有的但 S 中没有的属性组,即:A、B 取唯一 A、B 属性组值的象集 可知关系S存在于 a,b/c,k 象集 中。即 $R÷S$ 得