分布式数据库系统部分课后题答案.pdf_第1页
分布式数据库系统部分课后题答案.pdf_第2页
分布式数据库系统部分课后题答案.pdf_第3页
分布式数据库系统部分课后题答案.pdf_第4页
分布式数据库系统部分课后题答案.pdf_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

分布式数据库系统部分课后习题答案 - 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 “Programmer” and p2: TITLE “Programmer” 根据新的谓词得到如图 5.1.2 的分片结果。 从图 5.1.2 可以看出关系 EMP 中的每一项都属于且仅属于 EMP1 或 EMP2 中的一个, 因此这个分片满足完整性(Completeness)和互斥性(Disjointness) ;又关系 EMP = EMP1 ASG ENO PNO RESP DUR E1 P1 Manager 12 E2 P1 Analyst 24 E2 P2 Analyst 6 E3 P3 Consultant 10 E3 P4 Engineer 48 E4 P2 Programmer 18 E5 P2 Manager 24 E6 P4 Manager 48 E7 P3 Engineer 36 E8 P3 Manager 40 PROJ PNO PNAME BUDGET LOC P1 Instrumentation 150000 Montreal P2 Database Develop. 135000 New York P3 CAD/CAM 250000 New York P4 Maintenance 310000 Paris PAY TITLE SAL Elect. Eng. 40000 Syst. Anal. 34000 Mech. Eng. 27000 Programmer 24000 EMP ENO ENAME TITLE E1 J. Doe Elect. Eng E2 M. Smith Syst. Anal. E3 A. Lee Mech. Eng. E4 J. Miller Programmer E5 B. Casey Syst. Anal. E6 L. Chu Elect. Eng. E7 R. Davis Mech. Eng E8 J. Jones Syst. Anal. Figure 5.3. Modified Example Database EMP2 ENO ENAME TITLE E2 M. Smith Syst. Anal. E5 B. Casey Syst. Anal. E8 J. Jones Syst. Anal. EMP1 ENO ENAME TITLE E1 J. Doe Elect. Eng E3 A. Lee Mech. Eng. E6 L. Chu Elect. Eng. E7 R. Davis Mech. Eng 图 5.1.1. 分布式数据库系统部分课后习题答案 - 2 - EMP2,因此这个分片满足重构性(Reconstruction) 。因此这个分片满足分片的正确性规则。 5.2 根据题目可以得到如下信息: 1. 根据第一个应用,可以得到 5 个谓词: p1: RESP = “Manager”; p2: RESP = “Consultant”; p3: RESP = “Engineer”; p4: RESP = “Programmer”; p5: RESP = “Analyst” 2. 根据第二个应用,可以得到 2 个谓词:p6: DUR 20; p7: DUR 20; 根据得到的谓词,我们对其取小项。共可得到 5 2 = 10 个不同的小项: 小项表 小项号 谓词组合 谓词组合详细信息 m1 p1 p6 RESP = “Manager” DUR 20 m2 p1 p7 RESP = “Manager” DUR 20 m3 p2 p6 RESP = “Consultant” DUR 20 m4 p2 p7 RESP = “Consultant” DUR 20 m5 p3 p6 RESP = “Engineer” DUR 20 m6 p3 p7 RESP = “Engineer” DUR 20 m7 p4 p6 RESP = “Programmer” DUR 20 m8 p4 p7 RESP = “Programmer” DUR 20 m9 p5 p6 RESP = “Analyst” DUR 20 m10 p5 p7 RESP = “Analyst” DUR 20 我们根据以上这 10 个小项对 ASG 表进行水平分片, 共得到 10 个分片, 但其中根据小项 m4, m5和 m8得到的分片为空,故没有写出。 EMP2 ENO ENAME TITLE E2 M. Smith Syst. Anal. E4 J. Miller Programmer E5 B. Casey Syst. Anal. E8 J. Jones Syst. Anal. EMP1 ENO ENAME TITLE E1 J. Doe Elect. Eng E3 A. Lee Mech. Eng. E6 L. Chu Elect. Eng. E7 R. Davis Mech. Eng 图 5.1.2 ASG7 ENO PNO RESP DUR E4 P2 Programmer 18 ASG2 ENO PNO RESP DUR E5 P2 Manager 24 E6 P4 Manager 48 E8 P3 Manager 40 ASG6 ENO PNO RESP DUR E3 P4 Engineer 48 E7 P3 Engineer 36 ASG1 ENO PNO RESP DUR E1 P1 Manager 12 ASG3 ENO PNO RESP DUR E3 P3 Consultant 10 分布式数据库系统部分课后习题答案 - 3 - 5.3 EMP TITLE PAY 的连接图如下: 这个图显然不是一个简单图。 我们可以通过将 PAY 关系根据 EMP 关系的分片进行诱导分片,即 PAY1 = PAY EMP1; PAY2 = PAY EMP2; PAY3 = PAY EMP3; PAY4 = PAY EMP4; 或 将 EMP 关系根据 PAY 关系的分片进行诱导分片(推荐此方案) ,即 EMP1 = EMP PAY1; EMP2 = EMP PAY2; 两种新的分片方案的连接图如下(推荐第二个方案): ASG9 ENO PNO RESP DUR E2 P2 Analyst 6 ASG10 ENO PNO RESP DUR E2 P1 Analyst 24 TITLE SAL PAY1 TITLE SAL PAY2 EMP1 ENO ENAME TITLE EMP2 ENO ENAME TITLE EMP3 ENO ENAME TITLE EMP4 ENO ENAME TITLE EMP1 ENO ENAME TITLE EMP2 ENO ENAME TITLE EMP3 ENO ENAME TITLE EMP4 ENO ENAME TITLE TITLE SAL PAY1 TITLE SAL PAY2 TITLE SAL PAY3 TITLE SAL PAY4 根据如下关系代数表达式进行分片后的 EMP TITLE PAY 连接图: EMP1 = TITLE =”Elect. Eng.”(EMP); EMP2 = TITLE =”Syst. Anal.”(EMP); EMP3 = TITLE =”Mech. Eng.”(EMP); EMP4 = TITLE =”Programmer”(EMP); PAY1 = PAY EMP1; PAY2 = PAY EMP2; PAY3 = PAY EMP3; PAY4 = PAY EMP4; 图 5.3.1 分布式数据库系统部分课后习题答案 - 4 - 我们可以看出根据新的分片方案, 我们得到的 EMP TITLE PAY 的连接图 5.4.1 和图 5.4.2 都是 简单图。 5.5 p1: SAL 30000 and p2: SAL 30000; 根据谓词 p1 和 p2 对 PAY 进行水平分片的关系代数表达式为: PAY1 = SAL 12 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 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 PNAME =”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 =”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 pushing 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 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) ( (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 查询语句可以映射成如下关系代数表达式: 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, 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 size( 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 进行连接操作得到的结果的 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 传输到 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 + TTR * 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 = 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 x C C C SR z W x Wy R x R x R z R y C W x C C SR z W x = = = = 221113333 ( ),( ),( ),( ),( ),( ),Wy C W x R xA R x R z R y C 11.1 其中 S3, S4冲突等价(conflict equivalent),拥有共同的冲突操作偏序关系: 2323 ( )( ), ( )( )W xR xWyR y S1, S4也冲突等价,拥有共同的冲突等价操作偏序关系: 2323 ( )( ), ( )( )W xR xWyR y 但 S1, S3并不冲突等价。 11.2 其中 S1, S4可串行化: S1等价与串行化操作: 213 TTT;S4等价与串行化操作: 23 TT 11.3 对于执行计划: 11121122 ( ),( ),( ),( ),( ),( ),SR x R y W x R x W y C W x C= 这个执行计划可以被基本 2PL 接受, 但不能被 S2PL 接受。 其被基本 2PL 接受后的加/解锁为: 11111122111222 ( ),( ),( ),( ),( ),( ),( ),( ),( ),( ),( ),( ),Swl x R x wl y R y W x lr x wlx R x W y lr y C W x lr x C= 分布式数据库系统部分课后习题答案 - 15 - 修订信息: 1/13/2007 12:11:32 PM 11.1 2323 ( )( ), ( )( )W xR xWyR y 符号更正 11.1 rl1(x) 更正为 wl2(x) 11111122111222 ( ),( )

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论