【发布时间】:2013-11-23 05:00:38
【问题描述】:
我正在研究逻辑查询计划的大小估计,以便选择物理查询计划。
我想知道连接(自然连接)与自身的关系的大小是多少?
例如 R(a,b) JOIN R(a,b),说元组的总数是 100 和属性 a 和 b 两者都有一个不同的值 20。
连接大小(结果中的元组数)是否等于 100?
我很困惑!
【问题讨论】:
标签: database join relational-algebra
我正在研究逻辑查询计划的大小估计,以便选择物理查询计划。
我想知道连接(自然连接)与自身的关系的大小是多少?
例如 R(a,b) JOIN R(a,b),说元组的总数是 100 和属性 a 和 b 两者都有一个不同的值 20。
连接大小(结果中的元组数)是否等于 100?
我很困惑!
【问题讨论】:
标签: database join relational-algebra
要回答所问的问题: 关系与自身的自然连接是恒等运算;你会得到你开始使用的元组(是的,在这种情况下是 100 个元组)。
您所问的等效 SQL 是: 从 R 中选择 R1.a、R1.b 作为 R1、R 作为 R2 其中 R1.a = R2.a 且 R1.b = R2.b
这是因为 RA 的(自然)连接总是按属性名称匹配。
还有什么更明智的呢?有什么困惑?
【讨论】: