2015-07-19 54 views
0

什么是多基数(行数)与外键连接,从不同的表?为什么?加入外键基数(关系代数)

例如

(R1⋈(b=d)R2) ⋈(f=g)R3 

的关系是:

  • R1(A,B,C) - 一个是主键
  • R2(d,E,F) - d和e是主键
  • R3(G,H,I) - g是主键

其中b引用d,f引用g。 行数是R1还是R1和R1 * R3之间?希望你们能理解我的问题。

回答

0

有被引用SB装置的外键RA(a)用于每个SA值出现在SB和b)B为S的关键如果与A = B我们携手,则成为由每(a)中每R个行具有S和每(b)中的匹配它只有一个匹配在S.因此,加入具有相同的行数为S.

如果有从列在一个表的外键,则该列上的连接结果具有相同的外键。这是因为结果只有该表所做的该列的值,所以结果中该列的每个值也都在被引用的表和列中。

因此,对于你的例子:第一个加入了S1行。结果有一个从f到R3 g的外键,因为S2有。所以第二次连接的结果有S1行。