1.概念
关系代数是一种抽象的查询语言,它用对关系的运算来表达查询。
按运算符的不同分为传统的集合运算和专门的关系运算两类:
传统的集合运算包括:并(∪)、差(−)、交(∩)、笛卡尔积(×)。
专门的关系运算包括:选择(σ)、投影(π)、连接(⋈)、除运算(÷)。
并(U)
并操作:求的是两个关系的加起来的所有的数据
有如下关系S1与S2
S1US2的结果
交(∩)
交操作:求的是两个关系中共有的的数据
关系S1∩S2的结果
差(−)
差操作:例如:(R1-R2)就是求R1有R2没有的数据,就是R1减去R1与R2的交集
关系S1-S2的结果:
笛卡尔积(×)
关系S1×S2的结果
投影(π)
投影操作:指定结果显式那些列
π s n o , s n a m e ( S 1 ) π_{sno,sname}(S1) πsno,sname(S1)的结果
选择(σ)
选择操作:相当数据库里面的where操作
σ
s
n
o
=
N
o
0003
(
S
1
)
σ_{sno}=_{No0003}(S1)
σsno=No0003(S1)的结果
连接(⋈)
自然连接:是一种特殊的等值连接,比较两个关系中分量相同的属性组,并且在结果中把重复的属性列去掉,最后只保留属性组中分量相同的元组。
左连接:在自然连接的基础上加上左边表上不包含自然连接中所含元组(行)的元组。
右连接:在自然连接的基础上加上右边表上不包含自然连接中所含元组(行)的元组。
有如下关系
S1,S2自然连接的结果