首页 > 编程知识 正文

数据库基础选择投影连接除法运算的原因,数据库选择,投影,连接,除运算例题

时间:2023-05-03 06:29:31 阅读:241347 作者:254

转载自: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关系如图所示:

SnameSdeptlqdxlcCS健忘的老师CSwydxfMAsxdgbIS

求 : π Sdept(Student)

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

投影的特性

连接(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 :

ABCa1b15a1b26a2b38a2b412

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的结果

第一步 : 因为忐忑的机器猫所得到的属性值 是包含于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)属性上的投影,所以忐忑的机器猫={(a1,b1),(a3,b3)} ABa1b1a3b3

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。