2.3 关系代数
关系代数是以关系为运算对象的一组高级运算的集合。通过对关系的运算,关系代数能够表达查询操作,运算结果也是关系。关系定义为元数相同的元组集合。关系代数中的运算可分为传统的集合运算和专门的关系运算。下面通过关系代数来说明关系操作的实现方式。
2.3.1 传统集合运算
传统的集合运算是二目运算,主要包括以下几种:
-
并运算 (Union)
两个关系 R 和 S 的并运算记为 R ∪ S,结果是一个新的 n 元关系。其定义为:
R ∪ S = {t | t ∈ R ∨ t ∈ S},其中 t 为元组变量,表示关系中的元组。
-
交运算 (Intersection)
两个关系 R 和 S 的交运算记为 R ∩ S,结果是一个新的 n 元关系。其定义为:
R ∩ S = {t | t ∈ R ∧ t ∈ S}。
交运算也可以用差运算表示,即:
R ∩ S = R - (R - S)。
-
差运算 (Difference)
两个关系 R 和 S 的差运算记为 R - S,结果是一个新的 n 元关系。其定义为:
R - S = {t | t ∈ R ∧ not(t ∈ S)}。
-
笛卡尔积 (Cartesian Product)
两个分别为 n 元和 m 元的关系 R 和 S 的笛卡尔积是一个 (n + m) 列的元组集合。