大连理工大学软件学院分布式数据库考试题目重点.docx

上传人:b****3 文档编号:5445361 上传时间:2022-12-16 格式:DOCX 页数:13 大小:294.05KB
下载 相关 举报
大连理工大学软件学院分布式数据库考试题目重点.docx_第1页
第1页 / 共13页
大连理工大学软件学院分布式数据库考试题目重点.docx_第2页
第2页 / 共13页
大连理工大学软件学院分布式数据库考试题目重点.docx_第3页
第3页 / 共13页
大连理工大学软件学院分布式数据库考试题目重点.docx_第4页
第4页 / 共13页
大连理工大学软件学院分布式数据库考试题目重点.docx_第5页
第5页 / 共13页
点击查看更多>>
下载资源
资源描述

大连理工大学软件学院分布式数据库考试题目重点.docx

《大连理工大学软件学院分布式数据库考试题目重点.docx》由会员分享,可在线阅读,更多相关《大连理工大学软件学院分布式数据库考试题目重点.docx(13页珍藏版)》请在冰豆网上搜索。

大连理工大学软件学院分布式数据库考试题目重点.docx

大连理工大学软件学院分布式数据库考试题目重点

2012年分布式数据库考试内容:

按照大连理工大学软件学院2012年分布式数据库(朴勇老师)的考试题目的出题点,陈列如下。

一,查询树优化

建立查询树,优化过程及结果

二,根据日志来恢复(活动事务集,undo,redo建立过程)(相似题目见下面1.1的例子)

要弄清楚

活动事务是什么

undo,redo怎么初始化。

Abort和complete是否是一回事儿

三,给出两个表,做分片

连接图的建立,简单图,分区图

水平分片

水平分片下的导出分片

四,给出调度4个,进行判断(见下面的例子)

冲突等价调度,可串行化调度。

五,3个站点半连接优化(见下面的例子,格式不好所以就截图了)

val(B[s])的计算,是连接属性,不是连接属性的时候,两种。

图的建立

一遍一遍的循环

配套的例题:

1.1.下面是当一个数据库系统出现故障时,日志文件中的信息

根据上述log信息,完成下面的处理:

答:

说明:

D

:

D为数据记录,下标i表示事务号,上标表示对数据的第j步操作;

B

:

表示事务i开始执行;

C

:

表示事务i提交;

A

表示事务I废弃;

K:

是检查点。

系统发生故障时,造成数据库不一致状态的原因为:

一些未完成的事务对数据库的更新已经写入外存数据库;一些已经提交的事务对数据库的更新还没写入外存。

因此,基本的恢复操作分为两类,即“反做”(undo)和“重做”(redo)。

“反做”也称撤消。

“反做”(undo):

是将一个数据项的值恢复到修改之前的值,即取消一个事务所完成的操作结果。

当一个事务尚未提交时,如果缓冲区管理器允许该事务修改过的数据写到外存数据库,一旦此事务出现故障需要废弃时,就需对被这个事务修改过的数据项进行“反做”(undo),即恢复到其前像。

“反做”(undo)保持数据库的原子性。

重做(redo):

是将一个数据项的值恢复到其修改后的值,即恢复一个事务的操作结果。

当一个事务提交时,如果缓冲器允许该事务修改过答数据不立刻写到外存数据库,一旦事务出现故障,需对被这个事务修改过的数据项进行重做(redo),即恢复到其后像。

“反做”(undo)保持数据库答永久性。

故障恢复的步骤:

恢复子系统首先从重启动文件中取得最近的检查点的地址,然后建立两个表:

重做表和“反做表”。

初始化两表,重做表初始状态为空;“反做表”初始状态为检查点上的活动事务。

活动事务是指检查点上还没有结束答事务。

确定“反做事务表”(undo):

在日志中从检查点向前搜索,直到日志结尾。

找出只有B记录没有C记录的事务,即在系统故障时未结束的事务,写入“反做事务表”。

确定重做事务表(redo):

从检查点向前搜索,找出既有B记录又有C记录的事务,直到日志结尾,在系统故障时已经提交但部分结果未写入外存的事务,写入重做事务表。

“反做”(undo)“反做事务表”中的所有事务。

根据日志,反向进行撤消操作,直到相应事务的B(Begintransaction)。

重做(redo)重做事务表中的所有事务,根据日志从检查点正向进行重做操作,直到相应的事务C(Committransaction)

1.1.1.画出对应的事务并发执行图。

1.1.2.找出发生故障时系统中的活动事务,确定“反做”和“重做”事务集。

分析:

T

、T

在检查点以前已经结束。

故不用考虑。

T

、T

在检查点前没开始不算作活动事务。

 

活动事务是指检查点上还没有结束答事务,即T

由于T

在检查点上时已经A

故算作结束。

初始化redo表和undo表,redo表={},undo表={T

}

在日志中从检查点向前搜索,直到日志结尾。

找出只有B记录没有C记录的事务,即在系统故障时未结束的事务,写入“反做事务表”。

Undo表={T

}∪{T

}={T

T

}

从检查点向前搜索,找出既有B记录又有C记录的事务,直到日志结尾,在系统故障时已经提交但部分结果未写入外存的事务,写入重做事务表。

Redo表={T

}

1.1.3.指出需要undo的和redo的数据记录。

根据undo表和redo表

需要undo的数据记录为:

D

、D

需要redo的数据记录为:

D

 

调度相关问题

指出下面的冲突等价调度(忽略提交C和夭折A动作)

S1=

W2(x),W1(x),R3(x),R1(x),C1,W2(y),R3(z),C3,R2(x),C2

S2=R3(z),R3(y),W2(y),R2(z),W1(x),R3(x),W1(x),R1(x),C1,C2,C3

S3=

R3(z),W2(x),W2(y),R1(x),R3(x),R2(z),R3(y),C3,W1(x),C2,C1

S4=

R3(z),W2(x),W2(y),C2,W1(x),R1(x),A1,R3(x),R3(z),R3(y),C3

 

1.冲突等价调度如下:

S1’=

W2(x),W1(x),R1(x),R3(x),C1,W2(y),R3(z),C3,R2(x),C2

S2’=

R3(z),R2(z),R3(y),W2(y),W1(x),R3(x),W1(x),R1(x),C1,C2,C3

S3’=

W2(x),W2(y),R2(z),C2,R3(z),R3(x),R3(y),C3,R1(x),W1(x),C1

S4’=

W2(x),W2(y),C2,W1(x),R1(x),A1,R3(z),R3(x),R3(z),R3(y),C3

 

2.上题S1-----S4中,哪个是可串调度?

S3和S4为可串调度

S1:

T1等待T2,T2等待T1(W2(x),W1(x),R2(x))

S2:

T3等待T1,T1等待T3(W1(x),R3(x),W1(x))

 

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 医药卫生 > 基础医学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1