数据库原理及应用第7章课后习题答案

数据库原理及应用第7章课后习题答案

ID:44200605

大小:44.00 KB

页数:3页

时间:2019-10-19

数据库原理及应用第7章课后习题答案_第1页
数据库原理及应用第7章课后习题答案_第2页
数据库原理及应用第7章课后习题答案_第3页
资源描述:

《数据库原理及应用第7章课后习题答案》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、习题71、试述事务的概念及事务的四个特性。事务(Transaction)是用户定义的一个数据库操作序列,这些操作是一个完整的工作单元,一个事务内的所有语句被作为一个整体,这些操作要么全做,要么全不做。事务是数据库环境的中的逻辑单元,相当于操作系统中的进程。为了保证数据库中数据的正确性,一个事务具有四个特性:原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)和持续性(Durability)。这四个特性简称ACID特性。2、试述事务的状态及转换。3、在数据库中为什么要并发控制?并发控制能保证事务

2、的哪些特性?数据库的一个明显的特点是多个用户共享数据库资源,尤其是多用户可以同时存取相同的数据。在这样的系统中,在同一时刻并发运行的事务数可达数百个。若对事务的并发操作不加以控制,就会造成数据存、取的错误,破坏了数据的一致性和完整性。并发控制可以防止数据不一致性出现。4、并发操作可能会产生哪几类数据不一致?用什么方法可以避免不一致性的情况?并发操作带来的数据不一致性分为四种情况:丢失数修改、读“脏”数据、不可重复读和产生“幽灵”数据。在数据库环境下,进行并发控制的主要技术有封锁(Locking)、时间戳(Timestamp)和乐观控

3、制法。商用的DBMS一般都采用封锁方法。5、什么是封锁?基本的封锁类型有哪些?试述它们的含义。封锁机制,即加锁(Locking),是一种并发控制机制,是用来调整对共享目标的并行存取的技术。事务通过向封锁管理程序的系统组成部分发出请求而对事务加锁。基本封锁类型有两种:共享锁(ShareLocks,简记为S锁或读锁)和排它锁(ExclusiveLocks,简记为X锁或写锁)。6、如何用封锁机制保证数据的一致性?在运用X锁和S锁对数据对象加锁时,还需要约定一些规则,这些规则为封锁协议或加锁协议(LockingProtocol)。对封锁方式

4、加不同的规则,就形成了各种不同级别的封锁协议。不同级别的封锁协议所能达到的一致性级别是不同的。31、什么样的并发调度是正确的调度?可串行性(Serializability)是并发事务正确调度的准则。按照这个准则规定,一个给定的并发调度,当且仅当它是可串行化的,才认为是正确调度。2、理解并解释下列术语的含义:封锁、活锁、死锁、排他锁、共享锁、可串行化的调度、两段锁协议。1)加锁就是事务T在对某个数据对象(例如表、记录等)操作之前,先向系统发出请求,封锁其要使用的数据。加锁后事务T就对该数据对象有了一定的控制,在事务T释放它的锁之前,其

5、它的事务不能更新此数据对象。2)活锁:如果事务T1封锁了数据R,事务T2又请求封锁R,于是T2等待。T3也请求封锁R,当T1释放了R上的封锁之后系统首先批准了T3的请求,T2仍然等待。然后T4又请求封锁R,当T3释放了R上的封锁之后系统又批准了T4的请求……,T2有可能永远等待,这就是活锁。3)死锁:如果事务T1封锁了数据R1,T2封锁了数据R2,然后T1又请求封锁R2,因T2已封锁了R2,于是T1等待T2释放R2上的锁,接着T2又申请封锁R1,因T1已封锁了R1,T2也只能等待T1释放R1上的锁。这样T1在等待T2,而T2又在等待

6、T1,T1和T2两个事务永远不能结束,形成死锁。4)共享锁:若事务T对数据对象A加上S锁,则事务T可以读A,但不能修改A。其它事务只能再对A加S锁,而不能加X锁,直到T释放A上的S锁。这就保证其他事务可以读A,但在T释放A上的S锁之前不能对A做任何修改。5)排他锁:若事务T对数据对象A加上X锁,则只允许T读取和修改A,但不允许其它事务再对A加任何类型的锁和进行任何操作,直到T释放A上的锁。这就保证其他事务在T释放A上的锁之前不能再读取和修改A。6)多个事务的并发执行是正确的,当且仅当其结果与按某一次序串行地执行这些事务时的结果相同,

7、称这种调度策略为可串行化(Serializable)调度。7)所谓两段锁协议是指所有事务必须分两个阶段对数据项加锁和解锁。具体内容如下:①在对任何数据进行读、写操作之前,事务首先要获得对该数据的封锁;②在释放一个封锁之后,事务不再申请和获得任何其他封锁。3、数据库中为什么要有恢复子系统?它的功能是什么?系统故障会丢失这些事务对数据的修改,使数据库处于不一致状态。恢复子系统在系统重启时,撤销所有未完成的事务,并重做已经提交的事务,以保证将数据库真正恢复到一致状态。4、数据库运行过程中可能产生的故障有几类?哪些故障影响事务的正常执行?哪

8、些故障破坏数据库数据?1)事务内部的故障事务内部的故障有的是可以通过事务程序本身发现的,有的是非预期的,不能由事务程序处理的。事务故障意味着事务没有达到预期的终点,因此,数据库可能处于不正确的状态。恢复程序要在不影响其他事务运行的情况

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。