关系运算
关系运算符的分类
传统的关系运算符:∪(并)、-(差)、∩(交)
所有的关系必须具有相同的结构。
专门的关系运算符:
σ(选择)、Π(投影)
×(笛卡尔积)、⋈(自然连接/连接)
ρ(重命名)
辅助专门关系运算符的关系运算符
比较运算符:< <= > >= = <>
逻辑运算符:∧(与) ∨(或) ¬(非)
传统关系运算
R ∪ S
并集(union)
并集的结果包含R与S两个关系中所有的元素。
集合运算的结果是没有重复的元组。

并集结果

R ∩ S
交集(intersection)
交集的结果中包含了即属于R关系也属于S关系的元组。

交集结果

R-S
差集(difference)
差集的结果中包含了只属于R不属于S的所有元组。

差集结果

专门的关系运算
投影
从关系R中选择出若干属性形成新的关系。
格式:ΠL(R)
L是关系R中的一个或一组属性。
结果只能包含R中的属性。
结果中没有重复的元组,自动去重。
选择
在关系R中选择出满足条件的元组。
格式:σc(R)
c是查询条件。
笛卡尔积
两个关系的乘积,R×S。
设:R有m个元组,x个属性。S有n个元组,y个属性。那么R×S的结果为:
列数:x+y
行数:m×n
如果R与S中存在重名的属性,则使用R.属性或S.属性的方式区分

笛卡尔积的结果:

连接
通常连接需要连接条件

2为关系R中的第2列,1为关系S中的第1列。R与S分别使用这两列进行连接。

R ⋈ S
B<B'
等值连接
条件为=号的连接称为等值连接。
R ⋈ S
B=B'
R ⋈ S
R.B=S.B
自然连接
当两个关系中存在公共属性(名字相同的列),则自动以公共属性作为连接条件来连接。
R ⋈ S
自然连接的结果会自动去掉重复的属性。

除法
除法运算通常用于解决“全部的.../所有的...”问题。
如果关系R与关系S进行除运算时,S中的所有属性必须在R中出现,并且S中的属性个数不能小于R中的属性个数。
示例
关系R

关系S

除运算属性要求:R与S进行除运算时,结果属性应为R中特有属性,上例中结果属性应为A1。
如果R中有m个属性,S中有n个属性,则除运算结果的属性为m-n。
除运算元组要求:除运算结果中的每个元组与S中的每个元组组合后的元组必须在R中出现。
结果为


1万+

被折叠的 条评论
为什么被折叠?



