database - 自然连接中的最大元组数是多少

标签 database

给定关系 R 和 S,每个关系分别有 n 和 m 个元组。 R 和 S 自然连接后,元组的最大数量是多少?我看到一个给定的答案是 n*m 但我无法弄清楚这种情况是什么。请帮助我理解这种情况。

最佳答案

我希望您了解 Natural Join 到底是什么。您可以查看here .

如果表 R 和 S 包含公共(public)属性,并且两个表中每个元组中该属性的值相同,则自然连接将产生 n*m 个元组,因为它将返回元组的所有组合。

考虑以下两个表

表 R(具有属性 AC)

 A  |  C
----+----
 1  |  2
 3  |  2

表 S(具有属性 BC)

 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    

您可以看到RS 都包含属性C,其每个元组中的值为2。表R包含2个元组,表S包含3个元组,其中Result表包含2*3=6个元组。

希望这会有所帮助。

关于database - 自然连接中的最大元组数是多少,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30145583/

相关文章:

php - 数据库选择返回空结果

mysql - 如何在一个包内的 SSIS 中比较两个不同服务器上的两个表

javascript - 如何在不使用按钮的情况下选择 html 表格中的一行?

mysql - 数据库设计-设计M-N关系

mysql - InnoDB 表被制作为 MyISAM

iphone - 核心数据对象失效

sql - 将 SQL 代码转换为图表的工具

python - 使用 sqlalchemy 的声明性 ORM 扩展时的多列索引

Java 异常错误 - Sqlite preparedStatement.setBlob

java - 从 Felix 内部嵌入 Java DB?