数据库原理:关系运算(选择、投影、连接、除),例题加深理解

一、关系运算

首先定义符号,R和S分别表示为一个关系

  1. 选择:

定义:

式中,F表示选择条件,是一个逻辑表达式。

简单来说,就是只留下我想要的。满足我给出的条件F就留下,选择是对行做操作,删掉的是不满足条件规定的属性值的那一行或者几行(元组)。

  1. 投影:

定义:

式中,A为R中的属性列。

简单来说,投影只留下满足你要的的那一个或者多个属性列,A就是让你想要的列。投影操作就是从列的角度进行运算。投影不需要管列的值,而选择操作与属性值有关。

  1. 连接:

定义:

式中,中,,A和B要是分别属于关系R和S的列数相等且可比的数组,θ是比较运算符(<>=等)。

简单来说,连接就是把满足你的条件()的两个关系(表)解接在一起,组成一个表。前提是:A和B要是分别属于关系R和S的列数相等且可比的数组。

  1. 除:

除运算理解比较麻烦,加上例题理解。首先,明白什么是像集。

  • 像集

给定一个关系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)得出结果

你可能感兴趣的:(学习笔记,数据库,学习)