0%

等值连接和自然连接

1.1 元组:关系中的行

1.2 属性:关系中的列

2. 关系运算:

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

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

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

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

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

比如

R.A=S.B

R.B=S.B

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

举例:两个关系R、S

R(A,B,C)关系:

(a1,b1,5)  
(a1,b2,6)  
(a2,b3,8)  
(a2,b4,12) 

S(B,E)关系:

(b1,3)  
(b2,7)  
(b3,10)  
(b3,2)  
(b5,2) 

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

(A,     R.B,   C,     S.B,    E)  
(a1,   b1,     5,      b1,      3)  
(a1,   b2,     6,      b2,      7)  
(a2,   b3,     8,      b3,      10)  
(a2,   b3,     8,      b3,      2)

R和S自然连接结果:

(A,    B,      C,     E)  
(a1,   b1,     5,     3)  
(a1,   b2,     6,     7)  
(a2,   b3,     8,     10)  
(a2,   b3,     8,     2)

3. 备注:连接操作的过程

连接操作的过程:

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

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

……

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

例子摘自清华大学出版社 王珊 陈红的《数据库系统原理教程》第50页

—[2013-06-27]—