§3.2 Relation Calculus(关系运算 Relation calculus: 1.Relation Algebra; 2.Tuple Relational Calculus; 3.Domain Relational Calculus ?们是DML语言的基础,可以证明三 种关系运算具有同等表达能力。 48
48 §3.2Relation Calculus(关系运算) Relation calculus: 1.Relation Algebra; 2.Tuple Relational Calculus; 3.Domain Relational Calculus ; 它们是DML语言的基础, 可以证明三 种关系运算具有同等表达能力
一.Relation Algebra(关系代数) 规定 关系R属性: A1,A2,...AK; 可用属性名,也可用它们的序号 表示,还可以把任一属性值称为该 元组的元组分量 49
49 一 .Relation Algebra(关系代数) 规定: 关系 R 属性: A1,A2,…,AK; 可用属性名,也可用它们的序号 表示,还可以把任一属性值称为该 元组的元组分量
·使用集合运算符,运算符优先权如下 ∈,一一 算数比较运算符 2 3 ∧ 4 V 5 。tuple variable 。 关系是元组的集合 50
50 • 使用集合运算符, 运算符优先权如下: ∈,-----------1 算数比较运算符 ---2 -------------3 -------------4 -------------5 • tuple variable • 关系是元组的集合
l,Union合并运算 设有同类关系R1,R2,定义二者合并运算: R1UR2=[tt∈R1Vt∈R2] 其中①U-Union Operator ②t-tuple Variable 含义①R1,R2元组的并集 ②R1,R2必须为同类关系,结果关系亦 为R1,R2的同类关系。 ③R1,R2有相等元组,结果关系中,只 出现一次。 51
51 1.Union 合并运算 设有同类关系R1,R2,定义二者合并运算: - R1 ∪ R2=[t|t∈R1t∈R2] 其中①U-Union Operator ②t-tuple Variable 含义①R1,R2元组的并集 ②R1,R2必须为同类关系,结果关系亦 为R1,R2的同类关系。 ③R1,R2有相等元组,结果关系中,只 出现一次
例: R1 R2 S 则:T1=R1R2 A1 A2 A3 A1 A2 A3 A2 A3 A1 A2 A3 b 2 d a 3 2 d b 2 d ● b 3 b b 2 d b 3 b c 2 d c 2 d 3 b c 2 d d 3 b e 5 f d b g 6 f a 3 c 5 f g 6 52
52 • 例: • R1 R2 S 则:T1=R1R2 • A1 A2 A3 A1 A2 A3 A2 A3 A1 A2 A3 • b 2 d a 3 c 2 d b 2 d • b 3 b b 2 d b 3 b • c 2 d c 2 d 3 b c 2 d • d 3 b e 5 f d 3 b • g 6 f a 3 c • e 5 f • g 6 f