数据库_关系代数的运算

集合运算

关系代数运算中,五中基本运算为并,差,选择,投影,笛卡尔积。

集合运算包括并(UNION)(∪)、交(INTERSECT)(∩)、差(MINUS)(-)、乘积(TIMES)(×)。

使用并、交、差运算,需要参与运算的数据表具有兼容性要求,兼容性要求即:如果数据表R和数据表S具有相同的列结构,对应的列来自于相同的数据类型域并且具有相同的含义,那么我们说他们是兼容的。

对于并,交,差的定义与数学中的定义相同,以下是并,交,差运算的示例:

数据表R
ABC
a1b1c1
a1b2c3
a2b1c2
数据表S
ABC
a1b1c1
a1b1c2
a1b2c3
a3b2c3

R∪S:通俗来说就是把数据表S的每一行加到数据表R之后,(有完全相同的行只需要写一次),

R∩S:就是取相同元素。

R-S:在R中去掉与S中有相同的元组

结果:

R∪S
ABC
a1b1c1
a1b2c3
a2b1c2
a1b1c2
a3b2

c3

R∩S
ABC
a1b1c1
a1b2c3

R-S
ABC
a2b1c2

乘积不需要兼容,乘积(笛卡尔积)的原则是行数=行数相乘,列相加,实例如下:

R
AB
12
34

S
ABC
134
567
889

R×S
R.AR.BS.AS.BS.C
12134
12567
12889
34134
34567
34889

自然关系运算

包含投影([])、选择(where)、连接(JOIN或∞)、除运算(DIVIDEBY或÷)。

运算优先级:投影>选择>乘积>连接>除法>交>并>差

1、投影:选取数据表中需要的属性列,例:

R
ABC
a1b1c1
a2b2c2
a3b3c3

经过投影操作R[B]得到

R[B]
B
b1
b2
b3

2、选择:是根据条件查找出相应的结果(以上诉R为例):

关系代数表达式:R   where  C = c2

意思是,找出C列中值等于c2的行,得到结果为:

ABC
a2b2c2

3、连接(⋈):简单来说就是将两个表先做笛卡尔乘积,后做选择,最后得出的就是连接的结果。

例:给出如下两个表,做连接:R⋈S(R.B>S.B)

  其中R⋈S表示连接,括号中的内容作为选择的条件,删去不满足该条件的行即得结果

R
ABC
456
789
S
AB
13
46
79

步骤一:先做笛卡尔积得到如下的表:

R×S
R.AR.BR.CS.AS.B
45613
45646
45679
78913
78946
78979

步骤二:选择出满足括号内关系的行,即保留R.B>S.B的行:最终结果为:

R.AR.BR.CS.AS.B
45613
78913
78946

关于一些特殊的连接:如果选择的条件为等于,则连接方式称为等值连接

在等值连接后,再将连接的两个表中,相同重复的列删去简化为一列后得到的结果称为自然连接

4、运算:

条件:两个表要能够进行除运算,被除的表的属性(列数)必须大于除的表,以R÷S示例,S的属性,应为R属性的真子集。

R÷S的运算结果(用一个实例来说明运算方法):

R
A

B

C
abc
adc
dbc
abb
dbb
bca
S
C
c
T
C
c
b

(1)、对于R÷S,结果得到的列数(属性)为A和B,去掉了C,结果如下:

R÷S
AB
ab
ad
db

满足结果中有三个元组,(a,b)、(a,d)和(d,b),这三个元组和S组合得到的三个元组(a,b,c)、(a,d,c)和(d,b,c)都在被除表R中。

(2)、对于R÷T,结果的列数也为2,得到:

R÷T
AB
ab
db

满足结果中有两个元组(a,b)和(d,b),这两个元组和T中的两个元组(c)和(b)随机组合得到的四个三元组都在被除表R中。

  • 24
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

D D D D C

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值