我希望,您了解 Natural Join 到底是什么。你可以在这里查看。
如果表 R 和 S 包含公共属性,并且两个表中每个元组中该属性的值相同,则自然连接将产生 n*m 个元组,因为它将返回元组的所有组合。
考虑以下两个表
表 R(具有属性 A 和 C)
一个 | C
----+----
1 | 2
3 | 2
表 S(具有属性 B 和 C)
乙| C
----+----
4 | 2
5 | 2
6 | 2
自然连接结果R * S(如果两个表中属性C的域相同)
一个 | 乙| C
---+---+----
1 | 4 | 2
1 | 5 | 2
1 | 6 | 2
3 | 4 | 2
3 | 5 | 2
3 | 6 | 2
您可以看到 R 和 S 在每个元组中都包含属性 C,其值为 2。表 R 包含 2 个元组,表 S 包含 3 个元组,其中 Result 表包含 2*3=6 个元组。
此外,在执行自然连接时,如果两个关系之间没有共同属性,自然连接将表现为笛卡尔积。在这种情况下,您显然会将 mxn 作为最大元组数。
考虑以下两个表
表 R(具有属性 A 和 B)
一个 | 乙
----+----
1 | 2
3 | 2
表 S(具有属性 C 和 D)
C | D
----+----
4 | 2
5 | 2
自然连接的结果 R * S
一个 | 乙| C | D
---+---+----+----
1 | 2 | 4 | 2
1 | 2 | 5 | 2
3 | 2 | 4 | 2
3 | 2 | 5 | 2
希望这可以帮助。