等值连接和自然连接

1.首先

元组:关系中的行

属性:关系中的列

关系运算:

R(A,B,C,D) 、S(B,C,Y,Z)为两个关系;

选择[取得关系R中符合条件的元组]、

投影[取得关系R某几个属性列组成新的关系]、

连接[RxS的笛卡尔积中选取属性间满足条件元组]

 

等值连接:关系R、S,取两者笛卡尔积属性值相等的元组,比如

R.A=S.B

R.B=S.B

自然连接:是一种特殊的等值连接,它要求比较的属性列必须是相同的属性组,并且把结果重复属性

 

举例:两个关系R、S

 

R(A,B,C)关系:

Sql代码   收藏代码
  1. (a1,b1,5)  
  2. (a1,b2,6)  
  3. (a2,b3,8)  
  4. (a2,b4,12)  

S(B,E)关系:

Sql代码   收藏代码
  1. (b1,3)  
  2. (b2,7)  
  3. (b3,10)  
  4. (b3,2)  
  5. (b5,2)  

 

R和S在R.B=S.B上等值连接结果

Sql代码   收藏代码
  1. (A,     R.B,   C,     S.B,    E)  
  2. (a1,   b1,     5,      b1,      3)  
  3. (a1,   b2,     6,      b2,      7)  
  4. (a2,   b3,     8,      b3,      10)  
  5. (a2,   b3,     8,      b3,      2)  

 R和S自然连接结果:

Sql代码   收藏代码
  1. (A,    B,      C,     E)  
  2. (a1,   b1,     5,     3)  
  3. (a1,   b2,     6,     7)  
  4. (a2,   b3,     8,     10)  
  5. (a2,   b3,     8,     2)  

 

[备注]

连接操作的过程:

表1中取第一个元组,扫描表2,符合条件,则元组拼接,存入结果表;

表1中取第二个元组,扫描表2,符合条件,则元组拼接,存入结果表;

......

直到表1最后条元组比较完毕。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值