定义:在关系中选择在指定属性上有确定值的关系的子集。表示为:
选择运算公式
选择运算是选择关系中 的子集,即选择满足条件的元组

例:
1.查询信息系(IS系)全体学生
σ Sdept=‘IS’(Student)
2.查询年龄小于20岁的学生
σ Sage<20(Student)

选择运算的特性:
选择运算特性

投影是选取关系中 的子集。设模式R上关系r,X是R上属性的子集(x就是列),r到 X上的投影r`表示为:
投影
投影操作是从列的角度进行行的运算。 投影的结果不是原来的关系,是X中的几列属性。

由于投影之后不仅取消了原关系中的某些列,而且还可能取消某些元组,因为取消了某些属性列之后,就可能出现重复行, 投影结果中不应该包含重复行

例子:查询学生关系Student中都有哪些系,即查询关系Student上所在系属性上的投影
Student关系如图所示:

Sname Sdept
李勇 CS
刘晨 CS
王小明 MA
张超 IS

求 : π Sdept(Student)

因为Student关系原来有4个元组,但是我们的投影结果需要取消重复的CS元组,因此投影结果只有三个元组:
Sdept
CS
MA
IS

投影的特性
投影特性

连接(Join):自然连接,等值连接

定义: 连接也称为θ连接。它是从两个关系的笛卡尔积中选取属性间满足一定条件的元组。
记作:
连接运算
(θ为比较符: >,<,≥,≤,=,≠)

1.等值连接

θ为 = 符号的连接运算称为等值连接。它是从关系R与S的广义笛卡尔积中选取A , B 属性值相等的那些元组。
等值连接
(被水印遮住的地方是A=B)

2.自然连接

自然连接是一种特殊的等值连接。 它要求两个关系中进行比较的分量必须是同名的属性组,并且在结果中把重复的属性列去掉

表示为: R⋈S={t r⌒ts |tr∈R∧ts∈S∧tr[B]=ts[B]}

(自然连接也可看作是在广义笛卡尔积R×S中选出同名属性上符合相等条件元组,再进行投影,去掉重复的同名属性,组成新的关系。)

所以等值连接和自然连接的区别是

自然连接是去除了重复的属性列的!

求R和S的自然连接,等值连接,以及非等值连接R[C<E]S 的结果
R :

A B C
a1 b1 5
a1 b2 6
a2 b3 8
a2 b4 12
B E
b1 3
b2 7
b3 10
b3 2
b5 2
自然连接: R⋈S
A B C E
a1 b1 5 3
a1 b2 6 7
a2 b3 8 10
a2 b3 8 2
等值连接: R[R.B=S.B]S
A R.B C S.B E
a1 b1 5 b1 3
a1 b2 6 b2 7
a2 b3 8 b3 10
a2 b3 8 b3 2
非等值连接: R[C<E]S
A R.B C S.B E
a1 b1 5 b2 7
a1 b1 5 b3 10
a1 b2 6 b2 7
a1 b2 6 b3 10
a2 b3 8 b3 10

除法运算(division)

设关系R除以关系S的结果为关系T,则T包含所有在R但不在S中的属性及其值,且T的元组与S的元组的所有组合都在R中

除法的结果可以用计算象集的方法来解决,以一道题为例来说明怎么求除法

例题:已知关系R和S如下,求R➗S的结果
例题

第一步 : 因为R÷S所得到的属性值 是包含于R,但是S不包含的属性, 所以R➗S得到的属性列有(A,B),S在(C,D)属性上的投影为{(c1,d1),(c2,d2)}
第二步 : 关系R中,AB属性可以取值为={(a1,b1),(a2,b2),(a3,b3)}
第三步 : 求象集
  • (a1,b1)={(c1,d1),(c2,d2),(c3,d3)}
  • (a2,b2)={(c2,d2)}
  • (a3,b3)={(c1,d1),(c2,d2)}
第四步 : 从第三步中可以发现,有象集(a1,b1)和(a3,b3)包含了S在(C,D)属性上的投影,所以R÷S={(a1,b1),(a3,b3)}
A B
a1 b1
a3 b3
关系代数 Relational Algebra中,一元运算符有 选择 select、 投影 project、重命名remane,其余的包括并运算union、集合差set diffetence、笛卡尔积cartesian  product等为二元运算符。下面学习它们的基本使用。 一、一元运算符 a) 选择 选择 的操作符为小写sigma(σ),比如 选择 物理系的教师,可以写为: σdept_name=”P
选择 是单目运算,其运算对象是一个表。该运算按给定的条件,从表中选出满足条件的行形成一个新表作为运算结果。 选择 运算的记号为 σF(R)。 其中σ是 选择 运算符,下标F是一个条件表达式,R是被操作的表。 投影 (Projection) 投影 也是单目运算,该运算从表中选出指定的属性值组成一个新表,记为:ΠA(R)。 其中A是属性名(即列名)表,R是表名。 连接 (JOI... 自然 连接 (natural join) 自然 连接 是一种特殊的等值 连接 ,他要求两个关系表中进行比较的必须是相同的属性列,无须添加 连接 条件,并且在结果中消除重复的属性列。 sql语句:Select …… from 表1 natural join 表2 2. 投影 投影 是选取关系中列的子集。设模式R上关系r,X是R上属性的子集(x就是列),r到 X上的 投影 r`表示为: 投影 操作是...
关系R上的 投影 是从R 中 选择 出若干属性列组成新的关系。 记作:π A (R )= { t [A ] | t ∈ R } 其中A 为R 中的属性列。 投影 操作是从列的角度进行的运算。 例3 查询学生的姓名和所在系,即求Student关系在学生姓名和所在系两个属性上的 投影 。π Sname, Sdept (Student)或 π2, 5 (Student)
关系代数运算 关系代数用对关系的运算来表达查询,运算对象是关系,结果得到关系 关系可以理解为一张二维表,例如一张学生表,就是一个关系,关系代数运算就是我们写sql的一些查询操作,操作表生成新的表或者视图 关系代数的运算有两种: 运算符为传统的集合运算符:并、差、交、笛卡尔积 运算符为专门的关系运算符: 选择 投影 连接 、除 传统的集合运算符:从表的行的角度进行运算,所以需要运算的关系R、S具有相同的属性列的类型、属性列数目 专门的关系运算符:涉及到列、行,没有那些限制 其他: 选择 投影 、并、差、笛卡尔积是