您的位置:首页 > 数据库

数据库相关-关系代数

2017-03-16 13:19 183 查看

关系模型的基本运算

(1)投影运算

一个关系R通过投影运算(并由该运算给出所指定的属性)后仍为一个关系R’。R’是这样一个关系,它是R中投影运算所指出的那些域的列所组成的关系 πAi1,πAi2,....,πAim

简单讲:取限定的几列

例如:关系R

ABC
123
456
关系 T=πA,B(R)

如下:

AB
12
45
(2)选择运算

选择运算也是一个一元运算,关系R通过选择运算后仍未一个关系。这个关系是由R中那些满足逻辑条件的二元组所组成。设关系的逻辑条件为F,则R满足F的选择运算可写成为:

σF(R)

简单讲:选限定的几行

例如:关系S=σA>2(R),则关系S如下:

ABC
456
(3)笛卡尔积运算

对于两个关系的合并操作可以用笛卡尔积表示。设有n元关系R及m元关系S,它们分别有p、q个元组,则关系R与S经笛卡尔积记为R×S,该关系是一个n+m元关系,元组个数是p*q,有R与S的有序组组合而成。

简单讲:交叉相乘

关系R、S及T=R×S

关系R

AB
a1b1
a2b2
关系S

CD
c1d1
c2d2
关系T

ABCD
a1b1c1d1
a1b1c2d2
a2b2c1d1
a2b2c2d2
关系代数中的扩充运算

常用的扩充运算有交、除、连接及自然连接等。

(1)交运算

关系R与S将交运算后所得到的关系是由那些既在R内又在S内的有序组所组成,记为R∩S

例如:

关系R

ABCD
a1b1c1d1
a2b2c2d2
关系S

ABCD
a1b1c1d1
a3b3c3d3
T=R∩S

ABCD
a1b1c1d1
(2)并运算

设关系R和关系S具有相同的目n(即两个关系都有n个属性),且相应的属性取自同一个域,则关系R与关系S的并由属于R或属于S的元组组成。其结果关系仍为n目关系。记作:R∪S={t|t∈R∨t∈S}

(3)差运算

设关系R和关系S具有相同的目n,且相应的属性取自同一个域,则关系R与关系S的差由属于R而不属于S的所有元组组成。其结果关系仍为n目关系。记作:R−S={t|t∈R∧t∉S}

(4)除运算

设有关系R、S、T,当关系 T=R×S 时,则可将除运算写成为:

或T÷R=S 或 T/R=S

则,S称为T除以R的商。

设有关系T、R,T能被除的充分必要条件是:T中的域包含R中的所有属性;T中有一些域不出现在R中。

在除运算中S的域由T中那些不出现在R中的域所组成,对于S中任一有序组,由它与关系R中每个有序组所构成的有序组均出现在关系T中。

关系T

ABCD
1234
7856
7834
1256
1242
关系R1

CD
34
56
关系S1 = T/R1

AB
12
78
关系R2

CD
34
关系S2 = T/R2

AB
12
78
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  数据库