考虑连接RDk,-sS,给定下面有关连接关系的信息。如果没有明确指出算法的开销就按照1/O操作的数目计算,另外还要忽略写操作结果的开销。关系R有10000个元组,每个数据页包括10个元组。关系S包括2000个元组,每个数据页也是10个元组。属性域b是关系S的主码。两个关系都保存在简单的堆文件中,而且都没有索引。另外,可用缓冲区页的数目为52
(1)如果采用面向数据页的简单嵌套循环连接算法,连接关系R和S的开销是多少?要保持算法的开销不变,最小可能的缓冲区页数目是多少
(2)如果采用块嵌套循环连接算法,连接关系R和S的开销是多少?要保持算法的开销不变,最小可能的缓冲区页数目是多少?
(3)如果采用排序归并连接算法,连接关系R和S的开销是多少?要保持算法的开销不变,最小可能的缓冲区页数目是多少?
(4)如果采用哈希连接算法,连接关系R和S的开销是多少?要保持算法的开销不变,最小可能的缓冲区页数目是多少?
(5)如果采用任意连接算法连接关系R和S可能的最小开销是多少,需要多少缓冲区页?请简要的解释一下
(6)连接关系R和S可能生成的最大元组数目是多少?在磁盘上保存连接的结果元组,需要多少个数据页?
(7)如果R.a是指向S.b的外码,上述问题的答案会改变吗?
