大连理工大学软件学院分布式数据库考试题目重点Word格式文档下载.docx
《大连理工大学软件学院分布式数据库考试题目重点Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《大连理工大学软件学院分布式数据库考试题目重点Word格式文档下载.docx(13页珍藏版)》请在冰豆网上搜索。
连接图的建立,简单图,分区图
水平分片
水平分片下的导出分片
四,给出调度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
在检查点上时已经A
故算作结束。
初始化redo表和undo表,redo表={},undo表={T
}
在日志中从检查点向前搜索,直到日志结尾。
Undo表={T
}∪{T
}={T
T
从检查点向前搜索,找出既有B记录又有C记录的事务,直到日志结尾,在系统故障时已经提交但部分结果未写入外存的事务,写入重做事务表。
Redo表={T
1.1.3.指出需要undo的和redo的数据记录。
根据undo表和redo表
需要undo的数据记录为:
、D
需要redo的数据记录为:
调度相关问题
指出下面的冲突等价调度(忽略提交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))