- 关系代数表达式的五个基本算子
1.选择(selection):即选择某些行。代码:select ··· from ··· where。表达式:σ<条件>(<表>)。
2.投影(projection):即选择某些列。代码:select ··· distinct from ··· (distinct有去重的功能)。表达式:Π<属性>(<表>)。
3.叉乘(cross product):笛卡尔积,就像矩阵相乘。表达式:<表>X<表>。
4.做差(set-differences):减去交集。表达式:<表>-<表>。
5.并集(union):将两表合起来,注意去重。表达式:<表>U<表>。
6.更名(rename):将B改名为A。表达式:ρ(A,B). 重要的组合算子
1.交集(intersection)。
2.连接(join):▷◁
- 自然连接(natural join):R叉乘S,选择公共属性匹配的记录,投影去除重复的公共属性。
(1)对于多个公共属性的,每个公共属性都要匹配;
(2)对于没有公共属性的,连接相当于叉乘;
(3)对于所有属性都是公共属性的,连接相当于交集。
- 条件连接(conditional join):R叉乘S,根据条件进行选择。
3.除法(division):性质:R ÷ S = q,但是 q X S 只是R的子集。
查询优化
先选择数据和投影属性后再进⾏行连接(连接效率⽐比筛选低)关系演算:描述法表示某一集合
**可使用与或非,蕴含,谓词,量词
无限集合会越界,不安全,因此这是不合法的**关系演算与关系代数之间的关系
例题: