给定关系 R 和 S,每个关系分别有 n 和 m 个元组。 R 和 S 自然连接后,元组的最大数量是多少?我看到一个给定的答案是 n*m
但我无法弄清楚这种情况是什么。请帮助我理解这种情况。
最佳答案
我希望您了解 Natural Join 到底是什么。您可以查看here .
如果表 R 和 S 包含公共(public)属性,并且两个表中每个元组中该属性的值相同,则自然连接将产生 n*m 个元组,因为它将返回元组的所有组合。
考虑以下两个表
表 R(具有属性 A 和 C)
A | C
----+----
1 | 2
3 | 2
表 S(具有属性 B 和 C)
B | C
----+----
4 | 2
5 | 2
6 | 2
自然连接R * S的结果(如果两个表中属性C的域相同)
A | B | 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个元组。
希望这会有所帮助。
关于database - 自然连接中的最大元组数是多少,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30145583/