专门的运算关系包括选择、投影、链接、除运算等
1.选择(selection)
定义:在关系R中选出满足指定条件F的元组(行操作)
表达式:σF(R) = {t|t∈R∧F(t)='真'},其中条件表达式F可进行以下运算:
比较运算符 > 大于
≥ 大于等于
< 小于
≤ 小于等于
= 等于
<> 不等于
逻辑运算符 ┐ 非
∧ 与
∨ 或
2.投影(projection)
定义:从关系R中选出若干属性A组成新关系(列操作)
表达式:πA(R) = {t[A]|t∈R}
3.连接(join)
定义:从两个关系R和S的笛卡尔积中选取属性间满足指定条件AθB的元组
表达式:R∞S(AθB) = {t(r)t(s)|t(r)∈R∧t(s)∈S∧t(r)[A]θt(s)[B]}
拓展关系:
连接分两种:等值连接与自然连接
①等值连接:指定条件AθB的θ为'='时
②自然连接:在等值连接的基础上去除重复的属性
4.除运算(division)
定义:设关系R除以关系S的结果为关系T,则T包含所有在R但不在S中的属性及值,且
T的元组与S的元组的所有组合都在R中
表达式:R÷S = {t(r)[X]|t(r)∈R∧π(Y)(S)属于Y(x)},其中Y(x)为x在R中的象集,x=t(r)[X]
举例:
关系R 关系S
A B C B C D
a1 b1 c2 b1 c2 d1
a2 b3 c7 b2 c1 d1
a3 b4 c6 b2 c3 d2
a1 b2 c3
a4 b6 c6
a2 b2 c3
a1 b2 c1
进行选择运算:
从关系R中查询C为c3的情况如下(须去除行重复元素)
A B C
a1 b2 c3
a2 b2 c3
进行投影运算:
从关系R中查询有哪些C的情况如下(须去除列重复元素)
C
c2
c7
c6
c3
c1
进行等值连接:
从关系R和S中查询满足R.B = S.B且R.C = S.C的情况如下
A R.B R.C S.B S.C D
a1 b1 c2 b1 c2 d1
a1 b2 c3 b2 c3 d2
a2 b2 c3 b2 c3 d2
a1 b2 c1 b2 c1 d1
进行自然连接:
从关系R和S中查询满足R.B = S.B且R.C = S.C的情况如下
A B C D
a1 b1 c2 d1
a1 b2 c3 d2
a2 b2 c3 d2
a1 b2 c1 d1
进行除运算:
R÷S情况如下
A
a1