一、等值连接
连接也称为θ连接,记为R⋈S={t r⌒ts |tr∈R∧ts∈S∧tr[A]θts[B]} ,
其中A和B分别是关系R上度数相同且可比属性组,θ为比较运算符。
比较运算符θ为“=”时的连接称为等值连接,记为R⋈S={t r⌒ts |tr∈R∧ts∈S∧tr[A]=ts[B]} ,
其结果是从关系R和S的笛卡尔积中选取属性组A和B之相等的元组。
二、自然连接
如果关系R与S具有相同的属性组B,且该属性组的值相等时的连接称为自然连接,结果关系的属性集合为R的属性并上S减去属性B的属性集合。
R和S自然连接可记作:R⋈S={t r⌒ts |tr∈R∧ts∈S∧tr[B]=ts[B]}
自然连接也可看作是在广义笛卡尔积R×S中选出同名属性上符合相等条件元组,再进行投影,去掉重复的同名属性,组成新的关系。
A | B | C |
---|---|---|
a1 | b1 | 5 |
a1 | b1 | 6 |
a2 | b2 | 8 |
a2 | b2 | 12 |
B | D |
---|---|
b1 | 3 |
b2 | 7 |
b3 | 10 |
b3 | 2 |
b4 | 5 |
下表为自然连接计算的结果关系R⋈S
A | B | C | D |
---|---|---|---|
a1 | b1 | 5 | 3 |
a1 | b1 | 6 | 3 |
a2 | b2 | 8 | 7 |
a2 | b2 | 12 | 7 |
三、等值连接与自然连接的区别
1. 等值连接中不要求属性值完全相同,而自然连接要求两个关系中进行比较的必须是相同的属性组(属性名可以不同),即要求必须有相同的值域。
2. 等值连接不将重复属性去掉,而自然连接去掉重复属性,也可以说,自然连接是去掉重复列的等值连接。
换句话说:
1、自然连接一定是等值连接,但等值连接不一定是自然连接。
2、等值连接要求相等的分量,不一定是公共属性;而自然连接要求相等的分量必须是公共属性。
3、等值连接不把重复的属性除去;而自然连接要把重复的属性除去。