数据库复习笔记(2)------关系代数

分类

传统的集合运算
并(∪)、交(∩)、差(-)、笛卡尔积(×)
专门的关系运算
选择(σ)、投影(π)、连接、除(÷)
基本的五种关系运算
选择(σ)、投影(π)、并(∪)、差(-)、笛卡尔积(×)

传统的集合运算

并运算(∪)

R∪S = { t|t 属于R∨t 属于S }

交运算( ∩ )

R∩S = { t|t 属于R∧t 属于S }

差运算(-)

R -S = { t|t属于R∧t不属于S }

广义笛卡尔积(×)

R×S = { (tr,ts) |tr属于R ∧ ts属于S }

专门的关系运算

象集:用于表示关系中某一属性上取值固定后,诸元组在其余属性上的分量集合。

选择(σ)

σF(R) = {t|t属于R∧F(t)= ‘真’}
F(t)为选择条件,即在关系R中选择满足给定条件的元组。
例σmno = ‘01’ (Student)表示查询Student表中,mno属性值为01的元组
属性还可以由其在表头中所在位置来表示
多个限制条件可以由∧符号连接

投影(π)

πA(R) = { t[A] | t 属于R }
A:R中的属性列
t[A]表示取出A属性的那一列或几列
即从R中选择出若干属性列组成新的关系
投影之后不仅取消了原关系中的某些列,而且还可能取消某些元组来避免重复行 (自动取消重复行!)

连接(条件连接)

从两个关系的笛卡尔积中选取属性间满足一定条件的元组。
选取的属性分别为两个关系上度数相等且可比的属性组

等值连接

选取等值的条件,令不同关系的中的某个属性值相同为条件进行连接,当条件不同时连接的结果也不相同,两个关系可以没有相同的属性列

自然连接(特殊的等值连接)

自然连接必须要有相同的属性列才能进行,以相同的属性作为等值条件,等值连接之后要去除相同的属性列

外连接

如果把舍弃的元组也保存在结果关系中,而在其他属性上填空值(Null),这种连接就叫做外连接。

左外连接

如果只把左边关系R中要舍弃的元组保留就叫做左外连接。

右外连接

如果只把右边关系S中要舍弃的元组保留就叫做右外连接。

除(÷)

两个关系中的某个或某些属性出自相同的域集,记为A
除运算是将被除的关系中,除去这些属性A后对剩下的属性进行筛选,选出其取值所在的象集中包含有除数关系中对A的投影的部分。
例子
在关系R中,A可以取四个值{a1,a2,a3,a4}
a1的象集为 {(b1,c2),(b2,c3),(b2,c1)}
a2的象集为 {(b3,c7),(b2,c3)}
a3的象集为 {(b4,c6)}
a4的象集为 {(b6,c6)}
S在(B,C)上的投影为:
{(b1,c2),(b2,c1),(b2,c3) }
只有a1的象集包含了S在(B,C)属性组上的投影, 所以:
R ÷ S = { a1 }