转载自:https://blog.csdn.net/Candle_light/article/details/84424034
关系数据库中的选择,投影,连接,除法都是很重要的运算
选择定义:在关系中选择在指定属性上有确定值的关系的子集。表示为:
选择运算是选择关系中行的子集,即选择满足条件的元组
例:
1.查询信息系(IS系)全体学生
σ Sdept=‘IS’(Student)
2.查询年龄小于20岁的学生
σ Sage<20(Student)
选择运算的特性:
投影是选取关系中列的子集。设模式R上关系r,X是R上属性的子集(x就是列),r到 X上的投影r`表示为:
投影操作是从列的角度进行行的运算。投影的结果不是原来的关系,是X中的几列属性。
例子:查询学生关系Student中都有哪些系,即查询关系Student上所在系属性上的投影
Student关系如图所示:
求 : π Sdept(Student)
因为Student关系原来有4个元组,但是我们的投影结果需要取消重复的CS元组,因此投影结果只有三个元组: SdeptCSMAIS投影的特性
定义: 连接也称为θ连接。它是从两个关系的笛卡尔积中选取属性间满足一定条件的元组。
记作:
(θ为比较符: >,<,≥,≤,=,≠)
θ为 = 符号的连接运算称为等值连接。它是从关系R与S的广义笛卡尔积中选取A , B 属性值相等的那些元组。
(被水印遮住的地方是A=B)
自然连接是一种特殊的等值连接。它要求两个关系中进行比较的分量必须是同名的属性组,并且在结果中把重复的属性列去掉
表示为: R⋈S={t r⌒ts |tr∈R∧ts∈S∧tr[B]=ts[B]}
(自然连接也可看作是在广义笛卡尔积R×S中选出同名属性上符合相等条件元组,再进行投影,去掉重复的同名属性,组成新的关系。)
所以等值连接和自然连接的区别是自然连接是去除了重复的属性列的!
例题求R和S的自然连接,等值连接,以及非等值连接R[C<E]S 的结果
R :
S:
BEb13b27b310b32b52自然连接:R⋈S ABCEa1b153a1b267a2b3810a2b382等值连接:R[R.B=S.B]S AR.BCS.BEa1b15b13a1b26b27a2b38b310a2b38b32非等值连接:R[C<E]S AR.BCS.BEa1b15b27a1b15b310a1b26b27a1b26b310a2b38b310除法运算(division)设关系R除以关系S的结果为关系T,则T包含所有在R但不在S中的属性及其值,且T的元组与S的元组的所有组合都在R中
除法的结果可以用计算象集的方法来解决,以一道题为例来说明怎么求除法例题:已知关系R和S如下,求R➗S的结果