学习数据库系统概念(第六版)笔记,第六章形式化关系查询语言-关系代数,第十二章查询处理(部分),第十三章查询优化(部分)
关系代数
and |
or |
not |
∧ |
∨ |
¬ |
选择(select)
σ属性的数学关系(R) :返回关系R 中满足某些属性数学关系的行
注意,如果跟SQL对应,这里对应的是where
投影(project)
Π{A1,A2,⋯Am}(R) :输出关系R 中所有行的属性{A1,A2,⋯Am} ,去重
注意:SQL中对应的是select,不会去重
并(union)&交(intersect)&差(difference)
R1∪R2 ,R1∩R2,R1−R2 属性个数相同,属性对应的域相同
自然连接(natural join)
R1⋈R2 ,在相同名字的属性取值相同的元组
等价于 ΠR1∪R2(σR1.A1=R2.A1∧R1.A2=R2.A2∧⋯R1.Am=R2.Am(R1×R2))
笛卡尔积(Cartesian product)
R1×R2 ,两个关系组成的元组对
有R1⋈θR2=σθ(R1×R2)
assignment
R←R1⋈R2
更名(rename)
ρR(A1,A2,⋯An)(E) 将表达式E 的结果更名为R
关系运算的执行?
查询优化
等价规则
两种不同形式的表达式是等价的
启发式优化
尽早执行选择、投影运算