欢迎来到天天文库
浏览记录
ID:15768652
大小:68.50 KB
页数:6页
时间:2018-08-05
《自考数据库系统原理课后答案》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第六章课后习题答案6.2事务的COMMIT语句和ROLLBACK语句各做什么事情?p152答:COMMIT语句表示事务执行成功的结束,此时告诉系统,数据库要进入一个新的正确状态,该事务对数据库的所有更新都已交付实施;ROLLBACK语句操作表示事务不成功的结束,此时告诉系统,已发生错误,数据库可能处在不正确的状态,该事务对数据库的更新必须撤销,数据库应该恢复该事务到初始状态。6.3试述事务的四个性质,并说明每一个性质由DBMS的哪个子系统实现?每一个性质对数据库系统有什么益处?答:原子性:一个事务对数据库的所有操作,
2、是一个不可分割的工作单元,这些操作要么全部执行,要么什么也不做(由DBMS的事务管理子系统来实现);一致性:一个事务独立执行的结果,应(由DBMS的完整性子系统执行测试任务);隔离性(由DBMS的并发控制子系统实现);持久性(由DBMS的恢复管理子系统实现的)。6.4典型的数据库恢复策略是什么?答:(1)平时做好两件事转储和建立日志。(2)一旦发生故障,分两种情况处理:一是如果数据库遇到灾难性故障,利用数据库备份和日志执库行redo已提交的事务,把数据库恢复到事故前的状态。二是如果数据库只是破坏了数据的一致性,利用日
3、志库undo不可靠的修改,redo已提交的缓冲区中的事务。6.5DBS中有哪些类型的故障?哪些故障破坏了数据库?哪些没有破坏DB,但其中的数据变的不正确?答:有事务故障(不破坏数据库);系统故障(为破坏数据库,但其中某些数据变得不正确);介质故障(破坏数据库)。6.6检查点机制的主要思想是什么?答:在DBS运行时,数据库管理系统定时设置检查点。在检查点时刻才真正做到把对数据库的修改写到磁盘,并在日志文件上写入一条检查点记录(以便恢复用)数据库需要恢复时,只有在检查点后面的那些事务需要恢复,一般DBMS产品自动实行检查
4、点操作,无须人为干预。6.7什么是undo操作和redo操作?为什么要这样设置?答:undo操作是反向扫描日志文件,撤销对数据库的更新操作,使数据库恢复到更新前的状态;Redo操作正向扫描日志文件,重新做一次更新,使数据库恢复到更新后的状态。6.8COMMIT操作和检查点时的操作有什么联系?你认为应该如何恰当协调这两种操作才有利于DB的恢复?答:在采用检查点方法的基本恢复算法中根据日志文件,建立事务重做对列和事务撤销队列,此时。从头扫描日志文件,找出在故障前已经提交的事务(这些事务执行了COMMIT操作),将其事务标
5、识记入重做队列。同时还要找出故障发生时尚未完成的事务(这些事务还未执行COMMIT),将其事务标识记入撤销队列。6.9数据库的并发操作会带来哪些问题?如何解决?答:丢失更新问题;度脏数据问题;不可重复读问题。解决的方法是用封锁机制。6.10用X锁和S锁时各有哪些操作?x锁和s锁时如何协调的?答:x锁:1、申请X锁操作“XFINDR”2、接触X锁操作“XRELEASER”S锁:1、申请s锁操作“SFINDR”2、升级和写操作“UPDXR”3、解除s锁操作“SRELEASER”获准s锁的事务只能读数据,不能更新数据,若要
6、更新则先把s锁升级为x锁。6.11为什么x锁要保留到事务终点,而s锁可随时解除?答:在一个事务上对数据加上x锁后,并且对数据进行了修改,如果过早的解除x锁,有可能使其他事物读了未提交的数据,引起丢失其他事务的更新;由于s锁只允许读数据,因此解除s锁的操作不必等到事务的结束,可随时根据需要接触s锁。6.12什么是封锁粒度?封锁粒度的大小对并发系统有什么影响?答:封锁对象的大小称为封锁粒度。封锁粒度与系统的并发度和并发控制的开锁密切相关,封锁的粒度越大并发度也就越小,同时系统的开销也就越小;相反,封锁粒度越小,并发度就越
7、大,系统的开销也就越大。6.13在封锁技术中,封锁协议可成哪三个级别?各解决了并发调度中的什么问题?答:封锁协议分为一级封锁协议,解决了“丢失修改”;二级封锁协议,解决了“丢失修改、读脏数据”;三级封锁协议,解决了“丢失修改、度脏数据、不可重复读”。6.14试述串行调度与可串行化调度的区别?答:如果有n个事务串行调度,可有n!种不同的有效调度。事务串行调度的结果都是正确的,至于依照何种次序执行,视外界环境而定,系统无法预料;而可串行化调度每个事务中语句的先后顺序在各种调度中始终保持一致,在这个前提下如果一个并发调度的
8、执行结果与某一串行调度的执行结果等价。6.16什么是数据库的完整性?DBMS的完整性子系统的主要功能是什么?答:数据库中完整性一词指数据的正确性、有效性和相容性,防止错误的数据进入数据库。子系统的主要功能有:监督事务的执行,并测试是否违反完整性规则;若有违反现象,则采取恰当的操作,例如拒绝操作,报告违反情况,改正错误等方法来处理。6.17SQL
此文档下载收益归作者所有