刷题刷出新高度,偷偷领先!偷偷领先!偷偷领先! 关注我们,悄悄成为最优秀的自己!

单选题

在数据库系统中,“事务”是访问数据库并可能更新各种数据项的一个程序执行单元。为了保证数据完整性,要求数据库系统维护事务的原子性、一致性、隔离性和持久性。针对事务的这4种特性,考虑以下的架构设计场景:

假设在某一个时刻只有一个活动的事务,为了保证事务的原子性,对于要执行写操作的数据项,数据库系统在磁盘上维护数据库的一个副本,所有的写操作都在数据库副本上执行,而保持原始数据库不变,如果在任一时刻操作不得不中止,系统仅需要删除副本,原数据库没有受到任何影响。这种设计策略称为( )。

事务的一致性要求在没有其他事务并发执行的情况下,事务的执行应该保证数据库的一致性。数据库系统通常采用( )机制保证单个事务的一致性。

事务的隔离性保证操作并发执行后的系统状态与这些操作以某种次序顺序执行(即可串行化执行)后的状态是等价的。两阶段锁协议是实现隔离性的常见方案,该协议(请作答此空)。

持久性保证一旦事务完成,该事务对数据库所做的所有更新都是永久的,如果事务完成后系统出现故障,则需要通过恢复机制保证事务的持久性。假设在日志中记录所有对数据库的修改操作,将一个事务的所有写操作延迟到事务提交后才执行,则在日志中( ),当系统发生故障时,如果某个事务已经开始,但没有提交,则该事务应该( )。

A
能够保证事务的可串行化执行,可能发生死锁
B
不能保证事务的可串行化执行,不会发生死锁
C
不能保证事务的可串行化执行,可能发生死锁
D
能够保证事务的可串行化执行,不会发生死锁
使用微信搜索喵呜刷题,轻松应对考试!

答案:

A

解析:

本题考查数据库系统中的事务及其特性。

  1. 第一个空,为了保障事务的原子性,采取的策略是影子拷贝,即创建数据库的副本进行写操作,保证原始数据库不受影响。
  2. 第二个空,事务的一致性要求在没有其他事务并发执行的情况下,事务的执行应保证数据库的一致性。数据库系统通常采用完整性约束检查机制来保证单个事务的一致性。
  3. 第三个空,两阶段锁协议能够实现事务的隔离性,即保证操作并发执行后的系统状态与这些操作以某种顺序(即串行化)执行后的状态是一致的。这种协议可能导致死锁,因为它限制了事务的加锁和解锁过程。
  4. 第四个空,为了保障持久性,采用基于日志的延迟修改技术,在日志中记录所有对数据库的修改操作。日志需要记录事务的开始和提交时间,以及数据项被修改后的新值。
  5. 最后一个空,如果事务已经开始但未提交,由于修改尚未体现在数据库中,所以不需要进行恢复动作。已提交的事务进行重做处理,未完成的事务进行撤销处理。
创作类型:
原创

本文链接:在数据库系统中,“事务”是访问数据库并可能更新各种数据项的一个程序执行单元。为了保证数据完整性,要求

版权声明:本站点所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明文章出处。

让学习像火箭一样快速,微信扫码,获取考试解析、体验刷题服务,开启你的学习加速器!

分享考题
share