一、除法运算:
1.定义:
过程理解:首先在被除数的大集合中找到我们需要的属性(除数中存在的)
2.第二个角度:
设关系R除以关系S的结果为关系T,则T包含所有在R但不在S中的属性及其值,且T的元组与S的元组的所有组合都在R中。
二、优化
1.条件分解
2..选择操作下移 尽可能早地执行选择操作
3.投影操作下移 尽可能早地执行投影操作
4. 把选择和投影的串接合并成单个选择、单个投影或一个选择后跟一个投影
这个消除对查询无用的属性,,也可以理解为是将投影操作下移
三、关系演算与元组演算
关系数据库中的关系运算:关系代数、关系演算
关系演算包括(元组运算、域运算)
- 基本概念
关系代数:是一种抽象的查询语言,用来对关系的运算来表达查询。运算对象与结果均为关系。
元组:笛卡尔积中每一个元素(d1,d2,…,dn)叫作一个n元组(n-tuple)或简称元组,通常用t表示。
关系操作:
- 元组演算
在元组关系演算系统中,称{t|Φ(t)}为元组演算表达式。其中t是元组变量,Φ(t)为元组关系演算公式,简称公式,它由原子公式和运算符组成。
原子公式有三类:
(1) R(t)
R是关系名, t是元组变量。 R(t) 表示 t是 R中的元组。于是,关系 R可表示为:{t|R(t)}
(2) t[i] θ u[j]
t和 u是元组变量, θ是算术比较运算符。 t[i]θu[j] 表示断言“元组t的第i个分量与元组u的第j个分量满足比较关系θ” 。例如, t[2]<u[3] 表示元组t的第2个分量小于元组u的第3个分量。
(3) t[i]θc 或 cθt[i]
这里c是常量,该公式表示 “t的第i个分量与常量C满足比较关系θ”。例如: t[4]=3表示元组t的第4个分量等于3。
3.元组表达式与关系代数表达式的转换
关系->元组
元组->关系
注意乘法,不是自然连接,乘法(笛卡尔积)不需要指定某表某列=某表某列,自然连接需要指定。