数据库原理:关系运算(选择、投影、连接、除),例题加深理解
满足我给出的条件F就留下,选择是对行做操作,删掉的是不满足条件规定的属性值的那一行或者几行(元组)。中,,A和B要是分别属于关系R和S的列数相等且可比的数组,θ是比较运算符(=等)。,再计算出S在Y上的投影,最后判断投影是否被包含在像集里,找出满足条件的像集对应的。它表示R中属性组X上值为x的诸元组在Z上的属性值的集合。对于关系R,由于两个关系共有属性B和C,而属性A的取值为。满足下列条件的元组在
一、关系运算
首先定义符号,R和S分别表示为一个关系
-
选择:
定义:
式中,F表示选择条件,是一个逻辑表达式。
简单来说,就是只留下我想要的。满足我给出的条件F就留下,选择是对行做操作,删掉的是不满足条件规定的属性值的那一行或者几行(元组)。
-
投影:
定义:
式中,A为R中的属性列。
简单来说,投影只留下满足你要的的那一个或者多个属性列,A就是让你想要的列。投影操作就是从列的角度进行运算。投影不需要管列的值,而选择操作与属性值有关。
-
连接:
定义:
式中,
中,,A和B要是分别属于关系R和S的列数相等且可比的数组,θ是比较运算符(<>=等)。
简单来说,连接就是把满足你的条件(
)的两个关系(表)解接在一起,组成一个表。前提是:A和B要是分别属于关系R和S的列数相等且可比的数组。
-
除:
除运算理解比较麻烦,加上例题理解。首先,明白什么是像集。
-
像集
给定一个关系R(X,Z),X、Z为属性组。当t[X]=x时,x在R中的像集定义为:

它表示R中属性组X上值为x的诸元组在Z上的属性值的集合。
简单举例:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
在R中的像集为
在R中的像集为
在R中的像集为
-
除运算
定义:
式中,
是x在Y中的像集,而
-
满足下列条件的元组在X属性列上的投影:元组在X上 属性值x的像集
包含在 S在Y上投影的集合 里面 。
即先计算属性X的每一个属性值
对应的像集
,再计算出S在Y上的投影,最后判断投影是否被包含在像集里,找出满足条件的像集对应的
。
-
除运算是同时从列和行的角度进行运算。
-
例题:
关系R:
|
A |
B |
C |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
关系S:
|
B |
C |
D |
|
|
|
|
|
|
|
|
|
|
|
|
-
解:
(1)首先计算像集
对于关系R,由于两个关系共有属性B和C,而属性A的取值为
,所以:
a1的像集为
a2的像集为
a3的像集为
a4的像集为
(2)计算投影
S在属性集(B,C)上的投影为:
(3)分析满足条件的分量x
通过像集和投影的比较,发现只有a1的像集包含了S的投影,也就是S的投影被包含在a1的像集中。
(4)得出结果

更多推荐



















所有评论(0)