关系代数的运算按运算对象的不同主要分为两类: 传统的集合运算:把关系看成元组的集合,以元组作 为集合中元素来进行运算,其运算是从关系的“水平” 方向即行的角度进行的。包括并、差、交和笛卡尔积 等运算。 专门的关系运算:不仅涉及行运算,也涉及列运算, 这种运算是为数据库的应用而引进的特殊运算。包括 选取、投影、连接和除法等运算。 同时,根据运算对象的个数还可以分为: 元运算:只对一个关系进行运算。例如:选取、投 影、命名运算。 二元运算:对两个关系进行运算。例如:并、差、交 和笛卡尔积等运算 16 U
16 关系代数的运算按运算对象的不同主要分为两类: ➢ 传统的集合运算:把关系看成元组的集合,以元组作 为集合中元素来进行运算,其运算是从关系的“水平” 方向即行的角度进行的。包括并、差、交和笛卡尔积 等运算。 ➢ 专门的关系运算:不仅涉及行运算,也涉及列运算, 这种运算是为数据库的应用而引进的特殊运算。包括 选取、投影、连接和除法等运算。 同时,根据运算对象的个数还可以分为: ➢ 一元运算:只对一个关系进行运算。例如:选取、投 影、命名运算。 ➢ 二元运算:对两个关系进行运算。例如:并、差、交 和笛卡尔积等运算
3.2.1传统的集合运算 1.并( Union) 关系R和关系S的并由属于R或属于S的元组组成,即R和S的所 有元组合并,删去重复元组,组成一个新关系,其结果仍为n 目关系。记作 R∪S={tt∈Rt∈S} ≯对于关系数据库,记录的插入和添加可通过并运算实现。 2.差( Difference) 关系R与关系S的差由属于R而不属于S的所有元组组成,即R 中删去与S中相同的元组,组成一个新关系,其结果仍为n目 关系。记作: RS={tteR∧tes} ≯通过差运算,可实现关系数据库记录的删除。 17 U
17 3.2.1 传统的集合运算 1. 并(Union) ➢ 关系R和关系S的并由属于R或属于S的元组组成,即R和S的所 有元组合并,删去重复元组,组成一个新关系,其结果仍为n 目关系。记作: R∪S={t|t∈R∨t∈S} ➢ 对于关系数据库,记录的插入和添加可通过并运算实现。 2. 差(Difference) ➢ 关系R与关系S的差由属于R而不属于S的所有元组组成,即R 中删去与S中相同的元组,组成一个新关系,其结果仍为n目 关系。记作: R-S={t|t∈R∧┐t∈S} ➢ 通过差运算,可实现关系数据库记录的删除
3.交( Intersection) 关系R与关系S的交由既属于R又属于S的元组组成, 即R与S中相同的元组,组成一个新关系,其结果仍 为n目关系。记作: R∩S={t∈R∧t∈S} 如果两个关系没有相同的元组,那么它们的交为空 ≯两个关系的并和差运算为基本运算(即不能用其他 运算表达的运算),而交运算为非基本运算,交运 算可以用差运算来表示: R∩S=R-(RS) 18 U
18 3. 交(Intersection) ➢关系R与关系S的交由既属于R又属于S的元组组成, 即R与S中相同的元组,组成一个新关系,其结果仍 为n目关系。记作: R∩S={t|t∈R ∧ t∈S} ➢如果两个关系没有相同的元组,那么它们的交为空。 ➢两个关系的并和差运算为基本运算(即不能用其他 运算表达的运算),而交运算为非基本运算,交运 算可以用差运算来表示: R∩S=R-(R-S)
广义笛卡尔积( Extended cartesian Product >两个分别为n目和m目关系R和S的广义笛卡尔积是 一个(n+m)列的元组的集合,元组的前n列是关系 R的一个元组,后m列是关系S的一个元组。若R有 k1个元组,S有k2个元组,则关系R和关系S的广义笛 卡尔积有k1*k2个元组,记作 R×S={t⌒tt∈R,∧t∈S} ≯关系的广义笛卡尔积可用于两关系的连接操作(连 接操作将在一节中介绍)来实现 19 U
19 4. 广义笛卡尔积(Extended Cartesian Product) ➢两个分别为n目和m目关系R和S的广义笛卡尔积是 一个(n+m)列的元组的集合,元组的前n列是关系 R的一个元组,后m列是关系S的一个元组。若R有 k1个元组,S有k2个元组,则关系R和关系S的广义笛 卡尔积有k1*k2个元组,记作 R×S={tr ⌒t s | t r ∈R,∧t s ∈S} ➢关系的广义笛卡尔积可用于两关系的连接操作(连 接操作将在一节中介绍)来实现