投影选择连接的区别

关系数据库中的选择,投影,连接,除法都是很重要的运算

选择

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

例:
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元组,因此投影结果只有三个元组:

投影的特性
投影特性


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

S:

自然连接: 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)}

选择/投影/自然连接/笛卡尔积/外连接

选择

定义:在关系中选择在指定属性上有确定值的关系的子集。
图片说明

选择运算是选择关系中行的子集,即 选择满意条件的元组

好比查询信息系(IS系)全体学生 σ Sdept=‘IS’(Student)

特性:可互换可分派

投影

投影是选取关系中列的子集。
图片说明
由于投影之后不但取消了原关系中的某些列,并且还大概取消某些元组,由于取消了某些属性列之后,就大概出现重复行, 投影结果中不应该包含重复行

特性:串接可互换性

自然连接

θ为 = 标记的连接运算称为等值连接。它是从关系R与S的广义笛卡尔积中选取A , B 属性值相称的那些元组。
图片说明
被水印遮住的地方是A=B
自然连接是一种特别的等值连接。它要求两个关系中进行比较的分量必须是同名的属性组,而且在结果中把重复的属性列去掉

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

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

以是等值连接和自然连接的区别是
自然连接是去除了重复的属性列的!

除法运算(division)

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

笛卡尔积

关系R:
图片说明
关系S:
图片说明
关系R与S的笛卡尔乘积为:
图片说明
等值连接:(条件R.B = S.B)
图片说明
自然连接:
图片说明
在自然连接时间,关系R中的某些元祖有大概在S中不存在公共属性值相称的元祖,从而造成R中的这些元祖丢失了,同样,S中有些元祖也大概被舍弃。这些舍弃的元祖被称为悬浮元祖。
假如把悬浮元祖也保存在结果关系中,而在其他属性上填空值(null),那么这种连接称为 外连接 ;只保存左边关系R中的悬浮元祖称为 左外连接 ;只保存右边关系的悬浮元祖称为 右外连接
外连接:
图片说明
左外连接:
图片说明
右外连接
图片说明

参考文献:
https://blog.csdn.net/Candle_light/div/details/84424034
https://blog.csdn.net/qwerty_4/div/details/82391144

1、自然连接 (Naturaljoin) 是一种特别的等值连接,它要求两个关系中进行比较的!分量必须是相同的属性组,而且在结果中把重复的属性列去掉。而等值连接并不去掉重复的属性列。 2、自然连接:在连接条件中使用即是 (=) 运算符比较被连接列的列值,但它使用选择列表指出查询结果聚集中所包括的列,并删除连接表中的重复列。 3 、自然连接与等值连接 在连接运算当中,一种最常用的连接是自然连接。

所谓自然连接就是在等值连接的环境下,当连接属性 X Y 具有相同属性组时, 把在连接结果中重复的属性列去掉。

自然连接是在广义笛卡尔积 R × S 中选出同名属性上切合相称条件元组,再进行投影,去掉重复的同名属性,构成新的关系。 4 、等值连接与自然连接的区别: 1 )等值连接中不要求相称属性值的属性名相同,而自然连接要求相称属性值的属性名必须相同,即两关系只有在同名属性才能进行自然连接。 2 )等值连接不将重复属性去掉,而自然连接去掉重复属性,也可以说,自然连接是去掉重复列的等值连接。 5 、实际上,我们一样平常使用的都是自然连接。 原文: http://baike.baidu.com/view/2444815.htm

本文网址: http://www.appike.com/d/20209275112_97_4141060307/home