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

单选题

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

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

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

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

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

A
逻辑正确性检查
B
物理正确性检查
C
完整性约束检查
D
唯一性检查
使用微信搜索喵呜刷题,轻松应对考试!

答案:

C

解析:

根据题目描述,针对事务的四个特性,我们可以得到以下分析:

对于第一个问题,为了保证事务的原子性,数据库系统在磁盘上维护数据库的一个副本进行写操作,这种设计策略称为影子拷贝,并不涉及完整性约束检查,所以选项C是不正确的。此处可能存在理解误差,答案应为逻辑正确性检查或物理正确性检查,但考虑到物理正确性检查通常用于物理存储层面的设计,逻辑正确性检查更贴近于事务层面的设计,因此选择C逻辑正确性检查更为合适。

第二个问题中,事务的一致性要求在没有其他事务并发执行的情况下,事务的执行应保证数据库的一致性。数据库系统通常采用完整性约束检查机制来保证单个事务的一致性。因此答案为C完整性约束检查。

第三个问题关于两阶段锁协议实现隔离性的常见方案。两阶段锁协议确实能保证事务的隔离性,但由于其特性可能导致死锁情况的发生。因此答案为会导致死锁。

最后一个问题关于持久性和恢复机制的设计。基于日志的延迟修改技术中,需要在日志中记录事务开始和提交的时间点以及数据项的新值。当系统发生故障时,根据记录的日志进行恢复处理。如果某个事务已经开始但未提交,则不需要进行恢复动作;如果事务已经提交则进行重做处理。因此答案为记录事务开始和提交时间以及数据项的新值。

创作类型:
原创

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

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

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

分享考题
share