(转)详解数据库的自然连接
首先来看自然连接的定义:
自然连接:是一种特殊的等值连接,它要求两个关系进行比较的分量必须是相同的属性组,并且在结果集中将重复属性列去掉。
一个简单的例子,将下列关系R和S进行自然连接:
R:
A B C
a b c
b a d
c d e
d f g
S:
A C D
a c d
d f g
b d g
首先要对两个关系中相同属性组的分量进行比较,即比较R.A,R.C和S.A,S.C。 显然在R中只有第一行和第二行满足条件,因此进行连接得到结果:
A B C D
a b c d
b a d g
再来看一道2008年软件设计师考试的题目:
若关系R、S如下所示,则R与S自然连接后的属性列数和元组个数分别为()
R:
A B C D
a b c d
a c d c
a d g f
a b g f
S:
C D
c d
g f
分析,首先进行比较,容易得出R中有三个元组(即三行,1、3、4行)符合条件,所以元组个数为3,再然后去掉重复的列,显然仍然剩下A、B、C、D四个列。