名称 | 英文 | 标识 |
---|---|---|
选择 | selection | σ (sigma) |
投影 | projection | Π (PI大写) |
笛卡尔积 | Cartesian Product | × |
并集 | union | ∪ |
差集 | set difference | - |
更名 | rename | ρ (rho) |
自然连接 | Natural join | ⋈ |
半链接 | Semijoin | ⋉/⋊ |
左外链接 | Left outer join | ⟕ |
右外链接 | Right outer join | ⟖ |
全链接 | Full outer join | ⟗ |
除 | Division | ÷ |
一元运算符,选出满足给定的谓词元组,使用的是 =, ≠, >, ≥. <. ≤,另外可以用连词 ∧ (and), ∨ (or), ¬ (not),将多个谓词合并为一个较大的谓词
例子:
表S:
A | B | C | D |
---|---|---|---|
a | a | 1 | 3 |
a | b | 1 | 5 |
b | b | 2 | 7 |
b | b | 3 | 7 |
表达式: δ (A=B) ^ (D>5) (A等于B并且D>5)
A | B | C | D |
---|---|---|---|
b | b | 2 | 7 |
b | b | 3 | 7 |
一元运算符,返回作为参数关系的某些属性,去除所有重复行
例子:
A | B | C | D |
---|---|---|---|
a | a | 1 | 3 |
a | b | 1 | 5 |
b | b | 2 | 7 |
b | b | 3 | 7 |
表达式:πA,C
A | C |
---|---|
a | 1 |
b | 2 |
b | 3 |
投影运算需要在结果集中删除重复行 因重复行被删除
A | C |
---|---|
a | 1 |
例子 r表
A | B |
---|---|
a | 1 |
b | 2 |
b | 3 |
s表
C | D |
---|---|
a | 1 |
b | 3 |
r × s 求笛卡尔积
A | B | C | D |
---|---|---|---|
a | 1 | a | 1 |
a | 1 | b | 3 |
b | 2 | a | 1 |
b | 2 | b | 3 |
b | 3 | a | 1 |
b | 3 | b | 3 |
注意:
- 求笛卡尔积时有重复字段必须重命名
二元运算,将两个集合合并起来,会去除重复元组
例子 r表
A | B |
---|---|
a | 1 |
b | 2 |
b | 3 |
s表
A | B |
---|---|
a | 1 |
b | 7 |
r U s 求并集
A | B |
---|---|
a | 1 |
b | 2 |
b | 3 |
b | 7 |
交集的两个条件
- r和s必须有相同的列数
- r和s对应的列类型相同
找出一个关系中而不在另一个关系中的那些元组
例子 r表
A | B |
---|---|
a | 1 |
b | 2 |
b | 3 |
s表
A | B |
---|---|
a | 1 |
b | 7 |
r - s 求差集
A | B |
---|---|
b | 2 |
b | 3 |
差集的两个条件
- r和s必须有相同的列数
- r和s对应的列类型相同
一元运算,更名运算不是必须的,为了得到具有新名字的一个相同的关系
例子 r表
A | B |
---|---|
a | 1 |
b | 2 |
b | 3 |
ρs(r) 将r表更名为s表
s表
A | B |
---|---|
a | 1 |
b | 2 |
b | 3 |
例子1 R = (A, B, C, D) S = (E, B, D) Result schema = (A, B, C, D, E)
例子2 r表
A | B |
---|---|
a | 1 |
b | 2 |
b | 3 |
s表
A | C |
---|---|
a | j |
b | q |
r ⋈ s
A | B | C |
---|---|---|
a | 1 | j |
b | 2 | q |
b | 3 | q |
r表
A | B |
---|---|
a | 1 |
b | 2 |
b | 3 |
s表
A | C |
---|---|
a | j |
b | q |
r ⋈ s
A | B | C |
---|---|---|
a | 1 | j |
b | 2 | q |
b | 3 | q |
θ是在集合{<, ≤, =, >, ≥}中的二元关系
r表
A | B |
---|---|
a | 2 |
b | 3 |
b | 4 |
s表
C | D |
---|---|
j | 2 |
q | 3 |
k | 4 |
r ⋈ s B>D
A | B | C | D |
---|---|---|---|
b | 3 | j | 2 |
b | 4 | j | 2 |
b | 4 | q | 3 |
r表
A | B |
---|---|
a | 1 |
b | 2 |
c | 3 |
s表
A | C |
---|---|
a | j |
b | q |
e | q |
r ⋉ s
A | B | C |
---|---|---|
a | 1 | j |
b | 2 | q |
r表
A | B |
---|---|
a | 1 |
b | 2 |
c | 3 |
s表
A | C |
---|---|
a | j |
b | q |
e | q |
r ▷ s
A | B |
---|---|
c | 3 |
数据库语言SQL所定义的NULL,所以衍生以下链接操作
r表
A | B |
---|---|
a | 1 |
b | 2 |
c | 3 |
s表
A | C |
---|---|
a | j |
b | q |
e | q |
r ⟕ s
A | B | C |
---|---|---|
a | 1 | j |
b | 2 | q |
c | 3 | NULL |
r表
A | B |
---|---|
a | 1 |
b | 2 |
c | 3 |
s表
A | C |
---|---|
a | j |
b | q |
e | q |
r ⟖ s
A | B | C |
---|---|---|
a | 1 | j |
b | 2 | q |
e | q | NULL |
r表
A | B |
---|---|
a | 1 |
b | 2 |
c | 3 |
s表
A | C |
---|---|
a | j |
b | q |
e | q |
r ⟖ s
A | B | C |
---|---|---|
a | 1 | j |
b | 2 | q |
c | 3 | NULL |
e | q | NULL |
r表
A | B |
---|---|
s1 | p1 |
s1 | p2 |
s1 | p3 |
s1 | p4 |
s2 | p1 |
s2 | p2 |
s3 | p2 |
s4 | p2 |
s4 | p4 |
s1表
B |
---|
p2 |
s2表
B |
---|
p2 |
p4 |
r ÷ s1
A |
---|
s1 |
s2 |
s3 |
s4 |
r ÷ s2 |
A |
---|
s1 |
s4 |
- 求和 Sum
- 计数 Count
- 平均 Average
- 最大 Maximum
- 最小 Minimum