避难所

数据库之关系数据库的关系运算

关系运算的机理有什么用

我们学习关系运算的机理,对我们理解数据库查询操作非常重要

所以我们进行关系操作时很大程度上需要明白关系操作以及关系之间的逻辑

在我们进行数据库查询操作时,如何规范的使用数据库语言,如何进行选择时能够消除我们不想要的结果,减少冗余。这些都需要充分理解关系运算

各种关系运算

集合运算符

1.并运算

2.差运算

3.交运算、

4.笛卡儿积

专门关系运算符

数据库的专门关系运算有:选择、投影、连接、自然连接、除运算等

1.选择运算

选择就是对表在水平方向上,筛选出一定符合条件的元组,然后组成新的关系

例:

2.投影运算

投影就是对表在垂直方向上,对列进行筛选。

例:

3.连接

连接就是根据给定的条件,从两个已知的关系R和S的笛卡尔集中,选取满足连接条件的若干元组,组成一个新的关系;

具体又分为:

1.条件连接:选取满足条件的元组组成新关系

2.等值连接:选取满足等值条件的元组组成的关系

3.自然连接:也是等值连接,只不过它是选取满足公共属性满足等值的元组,组成关系

4.外连接

举例:

先给出两个关系R和S:

R和S的笛卡儿积表示为:

我们先进行条件连接

选择R的C列小于S的E列的元组进行连接

表示为:

反映到笛卡儿积上:

2.等值连接

等值连接R的B列等于S的B列:

3.自然连接:

选取满足公共属性满足等值的元组,组成关系

暗含的条件是R.B=S.B且R.C=S.C,因为R、S中公共的属性列是B、C

反映到笛卡儿积上表示如下:

4.外连接:外连接就是将不满足条件舍弃的元组也保留到新关系中其属性值置为null

R和S的外连接:

1.先将R和S进行自然连接

2.把不满足R.B=S.B的元组也保存下来,其属性值置空

结果为:

除运算:

概念就不放了直接举例理解:

首先第一个(1),这个新生成的列表首先不能包含S的属性A3,然后这个新生成的表其所有属性值和S表组合都等在R中找到,满足这两个条件得到的结果就是上图

第二个(2),首先生成新表不包含S属性A3的值c,f,然后新表的每个属性对应行的值和S对应的属性值组成的元组都能在R中找到,满足条件就是如图

第三第四个同样。