大数据管理与分析(基础篇二)(接上篇)
三、关系代数
2.关系代数的基本操作
7.交(Intersection,∩)
R ∩ S
返回同时属于关系 R 和关系 S 的所有元组。要求:R 和 S 的属性必须相同。
8.自然连接(natural-join,⋈)
把两个关系(表)在所有同名属性上做等值匹配,然后把匹配上的元组合并成一行,公共属性只保留一列。它自动找出“公共列”并据此连接
9.除 (division, ÷)
r÷s
关系 s 的属性是关系 r 的属性的真子集(即 s⊂r,并且 r 有至少一个额外的属性)。运算结果的属性 = rrr 的所有属性 – sss 的所有属性。
结果包含的是 rrr 中那些和 sss 里所有元组都关联的属性值。
10.赋值运算符 (Assignment Operator, ←)
T←E
T:临时变量(类似编程里的变量名)
E:任意关系代数表达式
把某个复杂查询的中间结果保存到一个临时关系中,以便后续继续使用。
赋值运算不改变数据库中的原始关系,只是产生一个临时的“命名结果”。目的是让复杂的查询分步骤表达,更清晰可读。后续可以用这个临时变量继续做投影、选择、集合运算等。
11.广义投影 (Generalized Projection)
πF1,F2,…,Fn(E)
E:任意关系代数表达式
Fi:算术表达式,基于属性和常量,可以包含:加(+),减(-),乘(×),除 (÷)。
结果是一个新关系,包含计算后的属性。
eg:πID,name,salary÷12(Instructor)
12.聚集 (Aggregate Functions)
G1,G2,…,GngF1(A1),F2(A2),…,Fm(Am)(E)
E:一个关系代数表达式(输入关系)
G1,G2,…,Gn:分组属性(可以没有)
Fi:聚集函数
Ai:应用聚集函数的属性
聚集函数:以值是一个集合为输入、返回单个值的函数。
avg:平均值
min:最小值
max:最大值
sum:求和
count:计数(行数)
聚集运算中 null 值不会被计算(除了 count)
13.外连接 (Outer Join)
外连接为自然连接的扩展,为了避免信息的丢失
计算连接,然后将一个关系中与另一个关系中的元组不匹配的元组添加到连 接的结果中。
左外连接⟕
保留左边关系中的所有元组。
如果右边没有匹配,就用 null 填充
右外连接⟖
保留右边关系中的所有元组。
如果左边没有匹配,就用 null 填充。
全外连接⟗
左外连接 + 右外连接的结合。
保留两边所有元组,如果没有匹配就用 null 补齐。
14.空值null
算术运算:任何涉及 null 的运算,结果都是 null。
聚集函数:自动忽略 null 值。
15.删除 (Deletion)
目的:从关系中移除符合条件的元组。
语法:
r ← r−E
r:要操作的关系
E:一个关系代数表达式,表示要删除的元组集
只能删除整行元组,不能只删某个属性的值。
16.插入 (Insertion)
向关系中添加新的元组。
r ← r∪E
E:一个关系代数表达式,返回要插入的元组集合。
插入单个元组:让 EEE 是一个常量关系。
插入多个元组:让 EEE 是查询结果。
17.更新 (Updating)
修改已有元组中的部分属性值
用 广义投影 (π) 重新构造出新的关系,并用赋值符号覆盖原关系
r←πF1,F2,…,Fn(r)
Fi:要更新的属性表达式(未更新的属性保持不变)。
更多推荐


所有评论(0)