2.3 关系代数

关系代数是以关系为运算对象的一组高级运算的集合。通过对关系的运算,关系代数能够表达查询操作,运算结果也是关系。关系定义为元数相同的元组集合。关系代数中的运算可分为传统的集合运算和专门的关系运算。下面通过关系代数来说明关系操作的实现方式。

2.3.1 传统集合运算

传统的集合运算是二目运算,主要包括以下几种:

  1. 并运算 (Union)

    两个关系 R 和 S 的并运算记为 R ∪ S,结果是一个新的 n 元关系。其定义为:

    R ∪ S = {t | t ∈ R ∨ t ∈ S},其中 t 为元组变量,表示关系中的元组。

  2. 交运算 (Intersection)

    两个关系 R 和 S 的交运算记为 R ∩ S,结果是一个新的 n 元关系。其定义为:

    R ∩ S = {t | t ∈ R ∧ t ∈ S}。

    交运算也可以用差运算表示,即:

    R ∩ S = R - (R - S)。

  3. 差运算 (Difference)

    两个关系 R 和 S 的差运算记为 R - S,结果是一个新的 n 元关系。其定义为:

    R - S = {t | t ∈ R ∧ not(t ∈ S)}。

  4. 笛卡尔积 (Cartesian Product)

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