欢迎来到天天文库
浏览记录
ID:56707827
大小:32.50 KB
页数:11页
时间:2020-07-05
《数据库保护习题及答案.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、数据库原理之数据库保护课后习题及答案6.1 名词解释(1)事务:事务是指一个操作序列,这些操作要么什么都做,要么都不做,是一个不可分割的工作单位,是数据库环境中的逻辑工作单位,相当于操作系统环境下的"进程"概念。(2)封锁:封锁就是事务可以向系统发出请求,对某个数据对象加锁,此事务对这个数据对象有一定控制,而其他事务则不能更新数据直到事务释放它的锁为止。(3)X封锁:如果事务T对数据R实现X封锁,那么其他的事务要等T解除X封锁以后,才能对这个数据进行封锁。只有获准X封锁的事务,才能对被封锁的数据进行修
2、改。(4)PX协议:X封锁的规则称为PX协议,其内容为:任何企图更新记录R的事务必须先执行LOCKX(R)操作,以获得对该记录进行寻址的能力,并对它取得X封锁。如果未获得X封锁,那么这个事务进入等待状态,一直到获准X封锁,事务继续进行。(5)PXC协议:它由PX协议及一条规则"X封锁必须保留到事务终点(COMMIT或ROLLBACK)"组成。(6)死锁:有两个或以上的事务处于等待状态,每个事务都在等待另一个事务解除封锁,它才能继续执行下去,结果任何一个事务都无法执行,这种现象就是死锁。(7)串行调度:
3、多个事务依次执行,称为串行调度。(8)并发调度:利用分时的方法,同时处理多个事务,称为事务的并发调度。(9)可串行化调度:如果某事务集的一个并发调度的结果与某个串行调度等价,则称此并发调度是是可串行化调度。(10)不可串行化调度:某事务集的一个并发调度结果,如果与任一串行调度均不等价,则该并发调度是不可串行化调度。(11)S封锁:共享型封锁。果事务T对某数据R加上S封锁,那么其它事务对数据R的X封锁便不能成功,而对数据R的S封锁请求可以成功。这就保证了其他事务可以读取R但不能修改R,直到事务T释放S封
4、锁。(12)PS协议:任何要更新记录R的事务必须先执行LOCKS(R)操作,以获得对该记录寻址的能力并对它取得S封锁。如果未获准S封锁,那么这个事务进入等待状态,一直到获准S封锁,事务才继续进行下去。当事务获准对记录R的S封锁后,在记录R修改前必须把S封锁升级为X封锁。(13)PSC协议:由PS协议和“将S封锁保持到事务终点”组成。任何更新记录R的事务必须先执行LOCKS(R)操作,以获得对该记录寻址的能力并对它取得S封锁。如果未获准S封锁,那么这个事务进入等待状态,一直到获准S封锁,事务才继续进行下
5、去。并将S封锁保持到事务终点。(14)两段封锁协议:(1)在对任何数据进行读写操作之前,事务首先要获得对该数据的封锁;(2)在释放一个封锁之后,事务不再获得任何其他封锁。6.2试叙事务的四个性质,并解释每一个性质对DBS有什么益处?事务的四个性质是:原子性、一致性、隔离性和持久性。(1)原子性(具体含义见教材):事务中所有操作应视为整体,不可分割。(2)一致性(具体含义见教材):一个事务独立执行的结果将保证数据库的一致性,即数据不会因事务的执行而遭受破坏。(3)隔离性(具体含义见教材):隔离性要求在并
6、发事务被执行时,系统应保证与这些事务先后单独执行时结果一样,使事务如同在单用户环境下执行一样。(4)持久性(具体含义见教材):要求事务对数据库的所有更新应永久地反映在数据库中。6.3事务的COMMIT操作和ROLLBACK操作各做些什么事情?COMMIT操作表示事务成功地结束(提交),此时告诉系统,数据库要进入一个新的正确状态,该事务对数据库的所有更新都已交付实施。ROLLBACK操作表示事务不成功地结束,此时告诉系统,已发生错误,数据库可能处在不正确的状态,该事务对数据库的更新必须被撤销,数据库应恢
7、复该事务到初始状态。6.4UNDO操作和REDO操作各做些什么事情?UNDO操作是反向扫描"日志"文件,撤销对数据库的更新操作,使数据库恢复到更新前的状态;REDO操作正向扫描日志文件,重新做一次更新,使数据库恢复到更新后的状态。6.5DBS中有哪些类型的故障?哪些故障破坏了数据库?哪些故障未破坏数据库,但其中某些数据变得不正确?数据库系统故障有事务故障、系统故障、介质故障。其中介质故障破坏数据库,事务故障、系统故障未破坏数据库但使其中某些数据变得不正确。6.6什么是“运行记录优先原则”?其作用是什么
8、?在数据库系统中,写一个修改到数据库中和写一个表示这个修改的登记记录到日志文件中是两个不同的操作,在这两个操作之间有可能发生故障。这时,如果先写了数据库修改,而在运行记录中没有登记这个修改,则以后就无法恢复这个修改,那么以后也就无法撤消这个修改。为了安全起见,采用“运行记录优先原则”。它包括两点:(1)至少要等相应运行记录已经写入“日志”文件后,才能允许事务往数据库中写记录。(2)直至事务的所有运行记录都已写入运行“日志”文件后,才能允许事务完成“END
此文档下载收益归作者所有