自然连接(Natural join)是一种特殊的等值连接,它要求两个关系中进行比较的分量必须是相同的属性组,并且在结果中把重复的属性列去掉。而等值连接并不去掉重复的属性列。
自然连接是关系R和S在所有公共属性(common attribute)上的等接(Equijoin)。但在得到的结果中公共属性只保留一次,其余删除,R⋈S ≡ ΠR u S( δ predicate(R x S))。
直观的说就是集合A{a1,a2,a3} 集合B{b1,b2} ,他们的笛卡尔积是A*B ={(a1,b1),(a1,b2),(a2,b1),(a2,b2),(a3,b1),(a3,b2)}。任意两个元素结合在一起,两个逻辑算式之间的比较,如果不全为真,则结果为假。
举例:现有a和b两表分别为关系R和S关系。
扩展资料:
其实就是域相同的属性值相等就连接。
比如有R(A,B)和S(B,C)两个关系,自然连接的条件就是R.B=S.B,结果是一个关系,为3个属性(A,B,C)。
通过相同名字的属性连接的结果就是自然连接。自然连接是在笛卡尔积中选取属性值(对于这个例子就是属性B)相等的那些条目,然后把重复的属性删掉。
本例的自然连接就是 {m 1 3},并和交需要两个关系的结构相同,本例R的结构是属性A B S的结构是属性B C, 故而不能做交或者并的运算。
自然连接又叫笛卡尔乘积,简单的说就是两个集合相乘的结果,直观的说就是集合A{a1,a2,a3} 集合B{b1,b2},他们的笛卡尔积是 A*B ={(a1,b1),(a1,b2),(a2,b1),(a2,b2),(a3,b1),(a3,b2)}。任意两个元素结合在一起,两个逻辑算式之间的比较,如果不全为真,则结果为假。
参考资料来源:百度百科-自然连接
自然连接是一种特殊的等值连接,它要求两个关系中进行比较的分量必须是相同的属性组,并且在结果中把重复的属性列去掉。而等值连接并不去掉重复的属性列。
在连接运算当中,一种最常用的连接是自然连接。如果关系R与S具有相同的属性组B,且该属性组的值相等时的连接称为自然连接,结果关系的属性集合为R的属性并上S减去属性B的属性集合。
R和S自然连接可记作:R⋈S={t r⌒ts |tr∈R∧ts∈S∧tr[B]=ts[B]}
自然连接也可看作是在广义笛卡尔积R×S中选出同名属性上符合相等条件元组,再进行投影,去掉重复的同名属性,组成新的关系。
与等值连接的区别
(1)、等值连接中不要求属性值完全相同,而自然连接要求两个关系中进行比较的必须是相同的属性组(属性名可以不同),即要求必须有相同的值域。
(2)、等值连接不将重复属性去掉,而自然连接去掉重复属性,也可以说,自然连接是去掉重复列的等值连接。
以上内容参考 百度百科-自然连接
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)