如何计算自然连接?

时间:2009-02-13 18:05:24

标签: relational-algebra

有人可以向我解释这里发生了什么,以及如何解决这个问题?

假设关系R(A,B)具有元组:

A B
1 2
3 4
5 6

并且关系S(B,C,D)具有元组:

B C D
2 4 6
4 6 8
4 7 9

计算R和S的自然连接。然后,确定以下哪个元组 自然连接
R |>< | S.您可以假设每个元组都有模式(A,B,C,D)。

我不知道自然联接的真正含义。你能解释一下吗?

2 个答案:

答案 0 :(得分:11)

自然联接是从两个匹配的关系中加入(“粘在一起”)元素。在这个例子中

  • (1, 2 )匹配( 2 ,4,6),因此您获得(1,2,4,6)
  • (3, 4 )匹配( 4 ,6,8)所以你得到(3,4,6,8)
  • (3, 4 )匹配( 4 ,7,9)所以你得到(3,4,7,9)

所以自然连接是{(1,2,4,6),(3,4,6,8),(3,4,7,9)}

答案 1 :(得分:1)

我假设R(A,B)是主设备,S(B,C,D)是细节,B是外键。

SQL:从R,S中选择*,其中R.B = S.B

然后结果是:

A B C D

1 2 4 6

3 4 6 8

3 4 7 9