《分布式数据库系统部分课后题答案》由会员分享,可在线阅读,更多相关《分布式数据库系统部分课后题答案(16页珍藏版)》请在金锄头文库上搜索。
1、分布式数据库系统部分课后习题答案 - 1 - 分布式数据库系统部分课后题答案(by 谢龙) 第五章 5.1 p1: TITLE “Programmer”. (a) 根据 p1, p2 对关系 EMP 进行水平分片:EMP1 = TITLE ”Programmer” (EMP);分片结果为: (b) 分片结果(EMP1, EMP2)不满足分片的正确性规则,项“E4, J. Miller, Programmer”不在任 何一个分片中,其原因是:谓词 p1, p2 对关系 EMP 的划分并不完全。 (c) 可以这样修改 p1和 p2使其对 EMP 的划分符合分片的正确性规则: p1: TITLE 1
2、2 EMP ASG 图 8.2.2 Operator Tree NAME, PNAME( PROJ PNO ( DUR 12ASG ) ENO EMP) 分布式数据库系统部分课后习题答案 - 10 - 将连接操作下移,再根据分片信息将空关系 PROJ1(PNO=4ASG)去掉,得到图 8.6(b)的操作 树;再将投影操作下移以减少产生的中间结果的规模,得到最终的优化操作树如图 8.6(c)。 8.8 BUDGET PNO PNO,BUDGET PNO ASG PROJ2 PNO=“P4“ (a) (b) (c) 图 8.6 BUDGET PNO=“P4“ ASG PROJ1 PROJ2 PNO
3、 BUDGET PNO=“P4“ ASG PROJ2 PNO PROJ1 = PNO ”P2” (ASG) PROJ2 = PNO ”P2” (ASG) ASG1 = ASG PROJ1 ASG2 = ASG PROJ2 EMP1 = ENO, ENAME (EMP) EMP2 = ENO, TITLE (EMP) SELECT ENAME FROM EMP, ASG, PROJ WHERE PROJ.PNO = ASG.PNO AND PNAME = “Instrumentation“ AND EMP.ENO = ASG.ENO ENAME ENO ENO PNO EMP1 EMP2 PNA
4、ME =”Instrumentation” ASG1 ASG2 PROJ1 PROJ2 图 8.8.1 Generic query ENAME( (EMP1 ENO EMP2) ENO (ASG1ASG 2) PNO PNAME =”Instrumentation”(PROJ1 PROJ 2) 分布式数据库系统部分课后习题答案 - 11 - 根据题中 SQL 查询语句,首先得到如图 8.8.1 所示的普通查询操作树;首先将并操作提前,根 据 ASG 的分片信息可知得到的关系 ASG1ENO( PNAME =”Instrumentation” PROJ2)和关系 ASG2ENO( PNAME =
5、”Instrumentation” PROJ1)是空的, 因此将这两个空关系删除, 从而得到如图 8.8.2 的查询操作树;然后在将投影操作下移,根据 EMP 的分片信息可知关系 ENAME, ENO(EMP1 ENO EMP2) = EMP1,因此查询操作树得到进一步简化,最终我们得到了如 图 8.8.3 所示的经过简化和优化的查询操作树。 ENAME ENO PNO PNO PNAME =”Instrumentation” ASG1 PROJ1 ASG2 PNAME =”Instrumentation” EMP1 PROJ2 图 8.8.3 Reduced query after push
6、ing projection PNO PNO PNO, ENO PNO, ENO ENOENO ENAME (EMP1ENO(ENO(PNO( PNAME =”Instrumentation”PROJ1)PNOPNO, ENOASG1) ENO(PNO( PNAME =”Instrumentation”PROJ2)PNOPNO, ENOASG2) ENAME ENO PNO PNO PNAME =”Instrumentation” ASG1 PROJ1 ASG2 PNAME =”Instrumentation” PROJ2 图 8.8.2 Reduced query after unions
7、up ENO EMP1 EMP2 ENAME(EMP1ENOEMP2)ENO( PNAME =”Instrumentation”PROJ1)PNOASG1) ( PNAME =”Instrumentation”PROJ2)PNOASG2) 分布式数据库系统部分课后习题答案 - 12 - 8.3 将题中所给出的 SQL 查询语句转化为如下关系代数表达式: ENAME, PNAME ( (TITLE = “Elect.Eng.”) ( PNO12) (EMPASGPROJ) ENAME, PNAME ( (TITLE = “Elect.Eng.”) (DUR12) (EMPASGPROJ) ( (
8、PNO12) (EMPASGPROJ) ENAME, PNAME ( TITLE = “Elect.Eng.” (EMP) ( DUR12ASG) PROJ) ( (PNO12) (ASG) EMPPROJ) ENAME, PNAME (ENAME, PNO (ENAME, ENO ( TITLE = “Elect.Eng.” (EMP) ENOENO, PNO ( DUR12ASG) ENAME, PNO (ENO, PNO ( (PNO12) (ASG) ENOENAME, ENOEMP) PNOPNAME, PNOPROJ) 8.5 题中所给的 SQL 查询语句可以映射成如下关系代数表达
9、式: ENAME, SAL ( (BUDGET200000) ( DUR24) (PAYEMPASGPROJ) ENAME, SAL ( (BUDGET200000) (PAYEMPASGPROJ) (DUR24) (PAYEMPASGPROJ) ENAME, SAL (ENAME, TITLE (ENO (PNO ( BUDGET200000(PROJ) PNO (PNO, ENO ASG) ENO EMP) TITLEPAY) ENAME, SAL (ENAME, TITLE (ENO ( DUR24(ASG) ENO EMP) TITLE PAY) ENAME, SAL (ENAME,
10、TITLE (ENO (PNO ( BUDGET200000(PROJ) PNO (PNO, ENO ASG) ENO ( DUR24(ASG) ENO EMP) TITLE PAY) ENAME, PNAME PNO PNAME, PNO ENAME, PNO PROJ ENO ENAME, ENO PNO, ENO ASG TITLE = “Elect.Eng.” EMP ENAME, PNO ENO ENAME, ENO EMP PNO, ENO (PNO12) 图 8.3.1 优化后的查询操作树 DUR12 ASG 分布式数据库系统部分课后习题答案 - 13 - 第九章 9.2 siz
11、e( EMP ) = 100, size( ASG ) = 200, size( PROJ ) = 300, size( EMPASG ) = 300 and size( ASGPROJ ) = 200 应用动态规划(Dynamic programming)进行求解: 1. 首先选择 size 最小的关系, 从题中给的数据我们可以看出是 EMP 关系 size(EMP) = 100, 它在 Site1 上,可以将它送到 Site2 或 Site3 上,这是总的传输时间 Total_time = TMSG+TTR*100 2. 如果将 EMP 传送到 Site2,并在 Site2 上与 ASG
12、进行连接操作得到的结果的 size 为 size(EMPASG) = 300。此时可以做的传输为:a)将(EMPASG)传输到 Site3;b)将 Site3 上 的 PROJ 传输到 Site2。而由于 size(EMPASG) = size(PROJ) = 300,因此无论此时如何传输最 终的总体传输时间都相同 Total_time = 2 * TMSG + TTR * ( 100 + 300 ) = 2 * TMSG + TTR * 400。 3. 如果将 EMP 传输到 Site3,由于 EMP 无法同 PROJ 进行连接操作,因此这时的可用传 输为 a)将 Site2 上的 ASG
13、传输到 Site3,因为 size(ASG) = 200,因此这种情况下的总体传输时 间 Total_time = 2 * TMSG + TTR * ( 100 + 200 ) = 2 * TMSG + TTR * 300;b)将 Site3 上的 PROJ 和 EMP 全部传输到 Site2,这时的总体传输时间 Total_time = 2 * TMSG + TTR * ( 100 + 100 + 300) = 2 * TMSG + TTR * 500。 综上,我们找到了最优传输方案: EMPSite3,ASGSite3,这时的总体传输时间 Total_time = 2 * TMSG + T
14、TR * 300; 9.3 由于题目要求重响应时间最短,因此应该提高数据传输的并行度。因此应采用 (,)3;(,)1;(,)2.ASG EMPSiteASG PROJSiteEMP PROJSite 中的一种。又由于 max(size(ASG), size(EMP) = size(ASG) = 200; max (size (ASG), size (PROJ) = size (PROJ) = 300; max (size (EMP), size (PROJ) = size (PROJ) = 300 因此选用方案(,)3ASG EMPSite,这时的总反应时间最小: Response_time
15、= TMSG + TTR * max (size (ASG), size (EMP) = TMSG + TTR * 200 ASG EMP PROJ Site 2 Site 1 Site 3 ENO PNO Figure 9.10. Join Graph of Distributed Query PROJ PNO EMP ENO ASG PNO ENO ASG EMP PROJ Site3 Site1 Site2 (a)数据操作树 (b) 数据传输图 图 9.2 100 200 分布式数据库系统部分课后习题答案 - 14 - 第十一章 121311233322 233221321123 332213233121 422 ( ),( ),( ),( ),( ),( ),( ),( ), ( ),( ),( ),( ),( ),( ),( ),( ), ( ),( ),( ),( ),( ),( ),( ),( ), ( ),( ), SW x W x R x R x C Wy R y R z C R z C SR z R y Wy R z W x R x W x R