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)关系:
(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)
?
[备注]
连接操作的过程:
表1中取第一个元组,扫描表2,符合条件,则元组拼接,存入结果表;
表1中取第二个元组,扫描表2,符合条件,则元组拼接,存入结果表;
......
直到表1最后条元组比较完毕。
?
例子摘自清华大学出版社 王珊 陈红的《数据库系统原理教程》第50页。