第3篇自测题一、选择1.在数据库操作过程中事务处理是一个操作序列,必须具有以下性质:原子性、一致性、隔离性和()。A.共享性B.继承性C.持续性D.封装性2.对数据库并发操作有可能带来的问题包括()。A.读出“脏数据”B.带来数据的冗余C.未被授权的用户非法存取数据D.破坏数据独立性3.下面的几种故障中属于介质故障的是()。A.中央处理器故障B.操作系统故障C.突然停电D.瞬时的强磁场干扰4.脏数据是指()。A.不健康的数据B.缺损的数据C.多余的数据D.被撤销的事务曾写入库中的数据5.DBMS中实现事务持久性的子系统是()A安全性管理子系统B完整性管理子系统C并发控制子系统D恢复管理子系统二、填空题1数据备份可只复制自上次备份以来更新过的数据,这种备份方法称为__增量_____备份。2提交事务用_____commit________语句。3在并发控制中,常用的封锁有共享锁和排它锁。4commit表示事务成功提交,rollback表示事务回滚,即事务非成功结束。5各分E-R图之间的冲突主要用____属性_______冲突、__命名冲突____冲突和结构冲突。三、简答题()。1.COMMIT和ROLLBACK操作的语义是什么?2.数据库系统中的常见故障有哪些?3并发处理可能带来哪三类问题?4什么是日志文件?简述利用日志文件恢复事务的过程。5什么是数据库恢复?简述数据库恢复的基本技术。6在关系数据库中,为了提高查询效率,在物理实现时,对存储结构会有哪些考虑?4.日志文件是用来记录事务对数据库所执行的更新操作的文件。利用日志文件恢复事务的过程如下:1)反响扫描文件日志,查找该事务的更新操作2)对该事务的更新操作执行逆操作,即将日志记录中的“更新前的值”写入数据库。如果在日志记录中执行插入操作,则执行删除操作;如果是删除操作,则执行插入操作;如果是执行修改操作,则利用修改前的值代替修改后的值。3)继续反向扫描日志文件,查找该事务的其他更新操作,并做同样的处理;4)如此处理下去,直至读到此事务的开始标记,就完成了事务故障的恢复。5.把数据库从错误状态恢复到某一已知的正确状态,就是数据库恢复。数据库恢复的基本技术是数据转储和登录日志文件,即根据存储在系统某处的冗余信息来恢复数据库系统。转储是DBA按照一定的策略将数据库复制到磁带或另一磁盘上保存起来的过程。日志文件时用来记录事务对数据库所做的所有更新操作的文件,包括数据库内部的更新操作。不同数据库系统所采用的日志文件格式是不相同的。若系统在运行过程中发生故障,利用转储的数据库后备副本和日志文件就可以将数据库恢复到故障发生前的某个一致性状态。四、名词解释1.两段锁协议2.可串行化调度五、求解题1.设有以下两个事务:T1:读B:A=B+1;写回AT2:读A;B=A+1;写回B(1)若这两个事务并发执行,列举可能的结果。并发事务的执行是否正确的标准是什么?(2)给出一个可串行化调度,并给出执行结果。解:假设A,B的初值是A=2,B=2。T1.T2串行执行的可能结果应该是A=3,B=4或者B=3,A=4。若T1,T2两个事务可能的一种并发执行调度如下:T1T2SLOCKBY=B=2SLOCKAX=A=2UNLOCKBUNLOCKAXLOCKAA=Y+1写回A(=3)XLOCKBB=X+1写回B(=3)UNLOCKAUNLOCKB此调度是不可串行化的一个可串行化的调度如下:T1T2SLOCKBY=B=2XLOCKASLOCKAA=Y+1等待写回A(=3)等待UNLOCKB等待UNLOCKA等待X=A=3XLOCKBB=X+1写回B(=3)UNLOCKAUNLOCKB这是一个可串行化的调度2.假设存款余额x=1000元,事务甲取走存款300元,事务乙取走存款200元,其执行时间如下:事务甲时间事务乙读xt1T2读x更新x=x-300t3T4更新x=x-200如何实现这两个事务的并发控制?加排它锁事务甲时间事务乙XLOCKxt1获得T2XLOCKx等待更新x=x-300t3等待X=700Committ4等待UNLOCKxt5等待T6获得XLOCKXT7更新x=x-200X=500T8CommitT9UNLOCKx六、判断题判断下述命题是否正确,若不正确,试给出正确答案如果一组事务是按照一定的顺序执行的,则称这组事务是可串行化的。