From Date'数据库系统简介(第8版,第186页,略有编辑):
考虑{X1,X2,...,Xm},{Y1,Y2,...,Yn},{Z1,Z2,... Zp}为 三个复合属性,分别为X,Y,Z。然后是自然的 a和b的连接,
a JOIN B
是与标题{X,Y,Z {的关系 和由所有元组组成的主体{X x,Y y,Z z}使得a 元组出现在X值x和Y值y中,并且元组出现在 b,Y值为y,Z值为z。如果m = p = 0(意思是a和b属于同一类型),则
a JOIN b
退化为a INTERSECT b
。
这种退化是如何起作用的?
图像:
答案 0 :(得分:1)
当参数属性集相同时,INTERSECT就是JOIN。当参数属性集不相交时,TIMES就是JOIN。两个参数属性集都是一个特殊情况。 (这是INTERSECT& TIMES。)
但是引用中 m = p = 0的空集不是参数的属性集,它们是属于唯一的属性集。左参数 a 和右参数 b 。当这些集合为空时,唯一的属性是常见的,即参数属性集是相同的。 n = 0的空集是公共属性,即 a & b 是不相交的。
更清楚的是避免这种模糊的“考虑作为复合属性”的业务。对于具有属性集A的 a 和具有属性集B的 b , a JOIN b (具有属性集AUB和)拥有一组元组t,其中存在元组ta和amp; tb其中ta IN a 和tb IN b 和t =ta∪tb。当A = B时,我们有INTERSECT,当A∩B= {}时,我们有TIMES。