单选题在数据库系统中,“事务”是访问数据库并可能更新各种数据项的一个程序执行单元。为了保证数据完整性,要求数据库系统维护事务的原子性、一致性、隔离性和持久性。针对事务的这4种特性,考虑以下的架构设计场景。假设在某一个时刻只有一个活动的事务,为了保证事务的原子性,对于要执行写操作的数据项,数据库系统在磁盘上维护数据库的一个副本,所有的写操作都在数据库副本上执行,而保持原始数据库不变,如果在任一时刻操作不得不中止,系统仅需要删除副本,原数据库没有受到任何影响。这种设计策略称为(1)。事务的一致性要求在没有其他

题目
单选题
在数据库系统中,“事务”是访问数据库并可能更新各种数据项的一个程序执行单元。为了保证数据完整性,要求数据库系统维护事务的原子性、一致性、隔离性和持久性。针对事务的这4种特性,考虑以下的架构设计场景。假设在某一个时刻只有一个活动的事务,为了保证事务的原子性,对于要执行写操作的数据项,数据库系统在磁盘上维护数据库的一个副本,所有的写操作都在数据库副本上执行,而保持原始数据库不变,如果在任一时刻操作不得不中止,系统仅需要删除副本,原数据库没有受到任何影响。这种设计策略称为(1)。事务的一致性要求在没有其他事务并发执行的情况下,事务的执行应该保证数据库的一致性。数据库系统通常采用(2)机制保证单个事务的一致性。事务的隔离性保证操作并发执行后的系统状态与这些操作以某种次序顺序执行(即可串行化执行)后的状态是等价的。两阶段锁协议是实现隔离性的常见方案,该协议(3)。持久性保证一旦事务完成,该事务对数据库所做的所有更新都是永久的,如果事务完成后系统出现故障,则需要通过恢复机制保证事务的持久性。假设在日志中记录所有对数据库的修改操作,将一个事务的所有写操作延迟到事务提交后才执行,则在日志中(4)。当系统发生故障时,如果某个事务已经开始,但没有提交,则该事务应该(5)。 空白(4)处应选择()
A

无须记录“事务开始执行”这一事件

B

无须记录“事务已经提交”这一事件

C

无须记录数据项被事务修改后的新值

D

无须记录数据项被事务修改前的原始值


相似考题

2.在数据库系统中,“事务”是访问数据库并可能更新各种数据项的一个程序执行单元。为了保证数据完整性,要求数据库系统维护事务的原子性、一致性、隔离性和持久性。针对事务的这4种特性,考虑以下的架构设计场景: 假设在某一个时刻只有一个活动的事务,为了保证事务的原子性,对于要执行写操作的数据项,数据库系统在磁盘上维护数据库的一个副本,所有的写操作都在数据库副本上执行,而保持原始数据库不变,如果在任一时刻操作不得不中止,系统仅需要删除副本,原数据库没有受到任何影响。这种设计策略称为( )。 事务的一致性要求在没有其它事务并发执行的情况下,事务的执行应该保证数据库的一致性。数据库系统通常采用( )机制保证单个事务的一致性。 事务的隔离性保证操作并发执行后的系统状态与这些操作以某种次序顺序执行(即可串行化执行)后的状态是等价的。两阶段锁协议是实现隔离性的常见方案,该协议( )。 持久性保证一旦事务完成,该事务对数据库所做的所有更新都是永久的,如果事务完成后系统出现故障,则需要通过恢复机制保证事务的持久性。假设在日志中记录所有对数据库的修改操作,将一个事务的所有写操作延迟到事务提交后才执行,则在日志中( ),当系统发生故障时,如果某个事务已经开始,但没有提交,则该事务应该( )。A.主动冗余 B.影子拷贝 C.热备份 D.多版本编程 A.逻辑正确性检查 B.物理正确性检查 C.完整性约束检查 D.唯一性检查 A.能够保证事务的可串行化执行,可能发生死锁 B.不能保证事务的可串行化执行,不会发生死锁 C.不能保证事务的可串行化执行,可能发生死锁 D.能够保证事务的可串行化执行,不会发生死锁 A.无需记录“事务开始执行”这一事件 B.无需记录“事务已经提交”这一事件 C.无需记录数据项被事务修改后的新值 D.无需记录数据项被事务修改前的原始值 A.重做 B.撤销 C.什么都不做 D.抛出异常后退出

参考答案和解析
正确答案: C
解析: 暂无解析
更多“单选题在数据库系统中,“事务”是访问数据库并可能更新各种数据项的一个程序执行单元。为了保证数据完整性,要求数据库系统维护事务的原子性、一致性、隔离性和持久性。针对事务的这4种特性,考虑以下的架构设计场景。假设在某一个时刻只有一个活动的事务,为了保证事务的原子性,对于要执行写操作的数据项,数据库系统在磁盘上维护数据库的一个副本,所有的写操作都在数据库副本上执行,而保持原始数据库不变,如果在任一时刻操作不得不中止,系统仅需要删除副本,原数据库没有受到任何影响。这种设计策略称为(1)。事务的一致性要求在没有其他”相关问题
  • 第1题:

    当多个事务并发执行时,数据库管理系统应保证一个事务的执行不被其他事务干扰,这指的是事务的什么特性?————

    A.原子性

    B.一致性

    C.隔离性

    D.持久性


    正确答案:C
    解析:事务具有四个特性:原子性、一致性、隔离性和持久性。
    ①原子性:事务是数据库的逻辑单位,事务中包括的操作要么都做,要么都不做。
    ②一致性:即必须保证在数据库状态发生变化时数据库数据的一致性,在事务作用于数据库过程巾,数据应始终满足完整性约束。
    ③隔离性:事务并发执行时的相对独立性,这是事务并发控制的目标,一个事务的执行不被其他事务十扰。
    ④持续性:指一个事务一旦提交,它对数据库中数据的改变就应该是永久的。

  • 第2题:

    为了保证事务的正确执行,数据库系统维护哪些事务特性? Ⅰ.原子性 Ⅱ.一致性 Ⅲ.隔离性 Ⅳ.持久性

    A.Ⅰ,Ⅱ和Ⅳ

    B.Ⅰ,Ⅱ和Ⅲ

    C.Ⅰ,Ⅲ和Ⅳ

    D.全部


    正确答案:D
    解析:为了保证事务的正确执行,数据库系统维护以下事务特性:原子性、一致性、隔离性、持久性。

  • 第3题:

    事务提交(COMMIT)后,对数据库的更新操作可能还停留在服务器的磁盘缓冲区中,而未写入到磁盘,即使此时系统出现故障,事务的执行结果仍不会丢失,称为事务的 (54) 。为保证事务的此性质,需要利用数据库的 (55) 。

    (54)

    A.原子性

    B.一致性

    C.隔离性

    D.持久性


    正确答案:D

  • 第4题:

    事务是数据库技术中一个非常重要的概念。下列关于事务的说法,错误的是

    A.当某事务未执行完成时,数据库暂时处于不一致状态,这时其他事务不会因这种不 一致状态而出现数据错误

    B.事务并发执行可以提高系统性能,但可能会导致数据出现问题。为了保证数据库数 据的一致性,对事务的调度一般尽可能采用串行调度策略

    C.利用日志文件进行数据库事务故障恢复和系统故障恢复是实现事务持久性的重要 手段

    D.存储管理器以事务方式访问数据库中的数据,确保数据库状态的一致性


    正确答案:B

  • 第5题:

    为了保证数据库的完整性(正确性),数据库系统必须维护事务的以下特性( )。

    A.原子性、一致性、隔离性、持久性
    B.原子性、一致性、隔离性、闭包性
    C.一致性、隔离性、持久性、完整性
    D.隔离性、闭包性、时间性、适用性

    答案:A
    解析:
    为了保证数据库的完整性(正确性),数据库系统必须维护事务的以下特性(简称ACID):①原子性(Atomicity):事务中的所有操作要么全部执行,要么都不执行。②一致性(Consistency):主要强调的是,如果在执行事务之前数据库是一致的,那么在执行事务之后数据库也是一致的。③隔离性(Isolation):即使多个事务并发(同时)执行,每个事务都感觉不到系统中有其他的事务在执行,因而也就能保证数据库的一致性。④持久性(Durability):事务成功执行后它对数据库的修改是永久的,即使系统出现故障也不受影响。

  • 第6题:

    下面关于数据库事务处理描述错误的是()。

    • A、原子性:表示的是事务的所有操作在数据库中要么全部正确反映出来要么全部不反映
    • B、一致性:事务在执行前如果数据库是一致性的那么执行后也是一致性的
    • C、隔离性:事务在执行过程中可以感觉到系统中其他事务的执行
    • D、持久性:一个事务成功完成后,它对数据库的改变必须是永久的,即使是系统出现故障时也如此

    正确答案:C

  • 第7题:

    在数据库系统中,“事务”是访问数据库并可能更新各种数据项的一个程序执行单元。为了保证数据完整性,要求数据库系统维护事务的原子性、一致性、隔离性和持久性。针对事务的这4种特性,考虑以下的架构设计场景。假设在某一个时刻只有一个活动的事务,为了保证事务的原子性,对于要执行写操作的数据项,数据库系统在磁盘上维护数据库的一个副本,所有的写操作都在数据库副本上执行,而保持原始数据库不变,如果在任一时刻操作不得不中止,系统仅需要删除副本,原数据库没有受到任何影响。这种设计策略称为(1)。事务的一致性要求在没有其他事务并发执行的情况下,事务的执行应该保证数据库的一致性。数据库系统通常采用(2)机制保证单个事务的一致性。事务的隔离性保证操作并发执行后的系统状态与这些操作以某种次序顺序执行(即可串行化执行)后的状态是等价的。两阶段锁协议是实现隔离性的常见方案,该协议(3)。持久性保证一旦事务完成,该事务对数据库所做的所有更新都是永久的,如果事务完成后系统出现故障,则需要通过恢复机制保证事务的持久性。假设在日志中记录所有对数据库的修改操作,将一个事务的所有写操作延迟到事务提交后才执行,则在日志中(4)。当系统发生故障时,如果某个事务已经开始,但没有提交,则该事务应该(5)。 空白(1)处应选择()

    • A、主动冗余
    • B、影子拷贝
    • C、热备份
    • D、多版本编程

    正确答案:B

  • 第8题:

    在数据库系统中,“事务”是访问数据库并可能更新各种数据项的一个程序执行单元。为了保证数据完整性,要求数据库系统维护事务的原子性、一致性、隔离性和持久性。针对事务的这4种特性,考虑以下的架构设计场景。假设在某一个时刻只有一个活动的事务,为了保证事务的原子性,对于要执行写操作的数据项,数据库系统在磁盘上维护数据库的一个副本,所有的写操作都在数据库副本上执行,而保持原始数据库不变,如果在任一时刻操作不得不中止,系统仅需要删除副本,原数据库没有受到任何影响。这种设计策略称为(1)。事务的一致性要求在没有其他事务并发执行的情况下,事务的执行应该保证数据库的一致性。数据库系统通常采用(2)机制保证单个事务的一致性。事务的隔离性保证操作并发执行后的系统状态与这些操作以某种次序顺序执行(即可串行化执行)后的状态是等价的。两阶段锁协议是实现隔离性的常见方案,该协议(3)。持久性保证一旦事务完成,该事务对数据库所做的所有更新都是永久的,如果事务完成后系统出现故障,则需要通过恢复机制保证事务的持久性。假设在日志中记录所有对数据库的修改操作,将一个事务的所有写操作延迟到事务提交后才执行,则在日志中(4)。当系统发生故障时,如果某个事务已经开始,但没有提交,则该事务应该(5)。空白(5)处应选择()

    • A、重做
    • B、撤销
    • C、什么都不做
    • D、抛出异常后退出

    正确答案:C

  • 第9题:

    事务提交后,对数据库的更新操作可能还停留在服务器的缓冲区中,而未写入到磁盘,即使此时系统出现故障,事务的执行结果也不会丢失,称为事务的()

    • A、原子性
    • B、一致性
    • C、隔离性
    • D、持久性

    正确答案:D

  • 第10题:

    单选题
    在数据库系统中,“事务”是访问数据库并可能更新各种数据项的一个程序执行单元。为了保证数据完整性,要求数据库系统维护事务的原子性、一致性、隔离性和持久性。针对事务的这4种特性,考虑以下的架构设计场景。假设在某一个时刻只有一个活动的事务,为了保证事务的原子性,对于要执行写操作的数据项,数据库系统在磁盘上维护数据库的一个副本,所有的写操作都在数据库副本上执行,而保持原始数据库不变,如果在任一时刻操作不得不中止,系统仅需要删除副本,原数据库没有受到任何影响。这种设计策略称为(1)。事务的一致性要求在没有其他事务并发执行的情况下,事务的执行应该保证数据库的一致性。数据库系统通常采用(2)机制保证单个事务的一致性。事务的隔离性保证操作并发执行后的系统状态与这些操作以某种次序顺序执行(即可串行化执行)后的状态是等价的。两阶段锁协议是实现隔离性的常见方案,该协议(3)。持久性保证一旦事务完成,该事务对数据库所做的所有更新都是永久的,如果事务完成后系统出现故障,则需要通过恢复机制保证事务的持久性。假设在日志中记录所有对数据库的修改操作,将一个事务的所有写操作延迟到事务提交后才执行,则在日志中(4)。当系统发生故障时,如果某个事务已经开始,但没有提交,则该事务应该(5)。 空白(3)处应选择()
    A

    能够保证事务的可串行化执行,可能发生死锁

    B

    不能保证事务的可串行化执行,不会发生死锁

    C

    不能保证事务的可串行化执行,可能发生死锁

    D

    能够保证事务的可串行化执行,不会发生死锁


    正确答案: C
    解析: 暂无解析

  • 第11题:

    单选题
    下面关于数据库事务处理描述错误的是()。
    A

    原子性:表示的是事务的所有操作在数据库中要么全部正确反映出来要么全部不反映

    B

    一致性:事务在执行前如果数据库是一致性的那么执行后也是一致性的

    C

    隔离性:事务在执行过程中可以感觉到系统中其他事务的执行

    D

    持久性:一个事务成功完成后,它对数据库的改变必须是永久的,即使是系统出现故障时也如此


    正确答案: D
    解析: 暂无解析

  • 第12题:

    单选题
    在数据库系统中,“事务”是访问数据库并可能更新各种数据项的一个程序执行单元。为了保证数据完整性,要求数据库系统维护事务的原子性、一致性、隔离性和持久性。针对事务的这4种特性,考虑以下的架构设计场景。假设在某一个时刻只有一个活动的事务,为了保证事务的原子性,对于要执行写操作的数据项,数据库系统在磁盘上维护数据库的一个副本,所有的写操作都在数据库副本上执行,而保持原始数据库不变,如果在任一时刻操作不得不中止,系统仅需要删除副本,原数据库没有受到任何影响。这种设计策略称为(1)。事务的一致性要求在没有其他事务并发执行的情况下,事务的执行应该保证数据库的一致性。数据库系统通常采用(2)机制保证单个事务的一致性。事务的隔离性保证操作并发执行后的系统状态与这些操作以某种次序顺序执行(即可串行化执行)后的状态是等价的。两阶段锁协议是实现隔离性的常见方案,该协议(3)。持久性保证一旦事务完成,该事务对数据库所做的所有更新都是永久的,如果事务完成后系统出现故障,则需要通过恢复机制保证事务的持久性。假设在日志中记录所有对数据库的修改操作,将一个事务的所有写操作延迟到事务提交后才执行,则在日志中(4)。当系统发生故障时,如果某个事务已经开始,但没有提交,则该事务应该(5)。 空白(1)处应选择()
    A

    主动冗余

    B

    影子拷贝

    C

    热备份

    D

    多版本编程


    正确答案: B
    解析: 暂无解析

  • 第13题:

    数据库管理系统中,为了保证事务的正确执行和维护数据库的完整性,要求数据库系统维护以下事务特性:【 】、一致性、隔离性和持久性。


    正确答案:原子性
    原子性 解析:数据库管理系统中,为了保证事务的正确执行和维护数据库的完整性,要求数据库系统维护以下事务特征:原子性、一致性、隔离性和持久性。

  • 第14题:

    事务的持久性是指( )。

    A.事务的所有操作在数据库中要么都做,要么都不做

    B.事务一旦提交,对数据库的改变是永久的

    C.一个事务内部的操作及使用的数据对并发的其他事务是隔离的

    D.事务的隔离执行(没有并发其他事务)保持数据库的一致性


    正确答案:B
    解析:为了保证事务的正确执行,维护数据库的完整性,事务必须具有以下特性:①原子性(Atomicity)②一致性(Consistency)③隔离性(Isolation)④持久性(Durability),简称事务的ACID性质,其中事务的持久性是指一个事务完成后,它对数据库的改变必须是永久性的,即使系统可能产生故障。

  • 第15题:

    下面关于事务的ACID属性的叙述中,不正确的说法是( )。

    A.事务对数据库的所有操作,是一个不可分割的工作单元。这些操作要么全部执行,要么什么也不做。

    B.一个事务独立执行的结果,应保持数据库中数据的一致性。确保单个事务的一致性是由应用程序员编写事务程序来实现的。

    C.在多个事务并发执行时,系统应保证其结果与这些事务先后单独执行时的某一结果是一样的。

    D.一个事务完成后,系统不一定立即将其对数据库的更新写入磁盘,因此,如果系统出现故障,就会丢失它对数据库的更新并且无法恢复。


    正确答案:D

  • 第16题:

    在各用户共享的数据库系统中,并发操作的事务如果互相干扰,会破坏事务的()。

    A.原子性
    B.一致性
    C.隔离性
    D.持久性

    答案:A
    解析:
    事务必须是原子工作单元;对于其数据修改,要么全都执行,要么全都不执行。与某个事务关联的操作具有共同的目标,并且是相互依赖的。如果系统只执行这些操作的一个子集,则可能会破坏事务的总体目标。当出现并发操作的事务就会破坏原子性。

  • 第17题:

    一个事务的执行,要么全部完成,要么全部不做,一个事务中队数据库的所有操作都是一个不可分割的操作序列,该属性是事务的()

    • A、原子性
    • B、一致性
    • C、隔离性
    • D、持久性

    正确答案:A

  • 第18题:

    在数据库系统中,“事务”是访问数据库并可能更新各种数据项的一个程序执行单元。为了保证数据完整性,要求数据库系统维护事务的原子性、一致性、隔离性和持久性。针对事务的这4种特性,考虑以下的架构设计场景。假设在某一个时刻只有一个活动的事务,为了保证事务的原子性,对于要执行写操作的数据项,数据库系统在磁盘上维护数据库的一个副本,所有的写操作都在数据库副本上执行,而保持原始数据库不变,如果在任一时刻操作不得不中止,系统仅需要删除副本,原数据库没有受到任何影响。这种设计策略称为(1)。事务的一致性要求在没有其他事务并发执行的情况下,事务的执行应该保证数据库的一致性。数据库系统通常采用(2)机制保证单个事务的一致性。事务的隔离性保证操作并发执行后的系统状态与这些操作以某种次序顺序执行(即可串行化执行)后的状态是等价的。两阶段锁协议是实现隔离性的常见方案,该协议(3)。持久性保证一旦事务完成,该事务对数据库所做的所有更新都是永久的,如果事务完成后系统出现故障,则需要通过恢复机制保证事务的持久性。假设在日志中记录所有对数据库的修改操作,将一个事务的所有写操作延迟到事务提交后才执行,则在日志中(4)。当系统发生故障时,如果某个事务已经开始,但没有提交,则该事务应该(5)。 空白(4)处应选择()

    • A、无须记录“事务开始执行”这一事件
    • B、无须记录“事务已经提交”这一事件
    • C、无须记录数据项被事务修改后的新值
    • D、无须记录数据项被事务修改前的原始值

    正确答案:D

  • 第19题:

    在数据库系统中,“事务”是访问数据库并可能更新各种数据项的一个程序执行单元。为了保证数据完整性,要求数据库系统维护事务的原子性、一致性、隔离性和持久性。针对事务的这4种特性,考虑以下的架构设计场景。假设在某一个时刻只有一个活动的事务,为了保证事务的原子性,对于要执行写操作的数据项,数据库系统在磁盘上维护数据库的一个副本,所有的写操作都在数据库副本上执行,而保持原始数据库不变,如果在任一时刻操作不得不中止,系统仅需要删除副本,原数据库没有受到任何影响。这种设计策略称为(1)。事务的一致性要求在没有其他事务并发执行的情况下,事务的执行应该保证数据库的一致性。数据库系统通常采用(2)机制保证单个事务的一致性。事务的隔离性保证操作并发执行后的系统状态与这些操作以某种次序顺序执行(即可串行化执行)后的状态是等价的。两阶段锁协议是实现隔离性的常见方案,该协议(3)。持久性保证一旦事务完成,该事务对数据库所做的所有更新都是永久的,如果事务完成后系统出现故障,则需要通过恢复机制保证事务的持久性。假设在日志中记录所有对数据库的修改操作,将一个事务的所有写操作延迟到事务提交后才执行,则在日志中(4)。当系统发生故障时,如果某个事务已经开始,但没有提交,则该事务应该(5)。 空白(3)处应选择()

    • A、能够保证事务的可串行化执行,可能发生死锁
    • B、不能保证事务的可串行化执行,不会发生死锁
    • C、不能保证事务的可串行化执行,可能发生死锁
    • D、能够保证事务的可串行化执行,不会发生死锁

    正确答案:A

  • 第20题:

    在数据库系统中,“事务”是访问数据库并可能更新各种数据项的一个程序执行单元。为了保证数据完整性,要求数据库系统维护事务的原子性、一致性、隔离性和持久性。针对事务的这4种特性,考虑以下的架构设计场景。假设在某一个时刻只有一个活动的事务,为了保证事务的原子性,对于要执行写操作的数据项,数据库系统在磁盘上维护数据库的一个副本,所有的写操作都在数据库副本上执行,而保持原始数据库不变,如果在任一时刻操作不得不中止,系统仅需要删除副本,原数据库没有受到任何影响。这种设计策略称为(1)。事务的一致性要求在没有其他事务并发执行的情况下,事务的执行应该保证数据库的一致性。数据库系统通常采用(2)机制保证单个事务的一致性。事务的隔离性保证操作并发执行后的系统状态与这些操作以某种次序顺序执行(即可串行化执行)后的状态是等价的。两阶段锁协议是实现隔离性的常见方案,该协议(3)。持久性保证一旦事务完成,该事务对数据库所做的所有更新都是永久的,如果事务完成后系统出现故障,则需要通过恢复机制保证事务的持久性。假设在日志中记录所有对数据库的修改操作,将一个事务的所有写操作延迟到事务提交后才执行,则在日志中(4)。当系统发生故障时,如果某个事务已经开始,但没有提交,则该事务应该(5)。 空白(2)处应选择()

    • A、逻辑正确性检查
    • B、物理正确性检查
    • C、完整性约束检查
    • D、唯一性检查

    正确答案:C

  • 第21题:

    单选题
    事务是()数据库中各种数据项的一个程序执行单元。
    A

    访问并可能更新

    B

    访问

    C

    更新

    D

    删除


    正确答案: C
    解析: 暂无解析

  • 第22题:

    单选题
    在数据库系统中,“事务”是访问数据库并可能更新各种数据项的一个程序执行单元。为了保证数据完整性,要求数据库系统维护事务的原子性、一致性、隔离性和持久性。针对事务的这4种特性,考虑以下的架构设计场景。假设在某一个时刻只有一个活动的事务,为了保证事务的原子性,对于要执行写操作的数据项,数据库系统在磁盘上维护数据库的一个副本,所有的写操作都在数据库副本上执行,而保持原始数据库不变,如果在任一时刻操作不得不中止,系统仅需要删除副本,原数据库没有受到任何影响。这种设计策略称为(1)。事务的一致性要求在没有其他事务并发执行的情况下,事务的执行应该保证数据库的一致性。数据库系统通常采用(2)机制保证单个事务的一致性。事务的隔离性保证操作并发执行后的系统状态与这些操作以某种次序顺序执行(即可串行化执行)后的状态是等价的。两阶段锁协议是实现隔离性的常见方案,该协议(3)。持久性保证一旦事务完成,该事务对数据库所做的所有更新都是永久的,如果事务完成后系统出现故障,则需要通过恢复机制保证事务的持久性。假设在日志中记录所有对数据库的修改操作,将一个事务的所有写操作延迟到事务提交后才执行,则在日志中(4)。当系统发生故障时,如果某个事务已经开始,但没有提交,则该事务应该(5)。 空白(2)处应选择()
    A

    逻辑正确性检查

    B

    物理正确性检查

    C

    完整性约束检查

    D

    唯一性检查


    正确答案: A
    解析: 暂无解析

  • 第23题:

    单选题
    在数据库系统中,“事务”是访问数据库并可能更新各种数据项的一个程序执行单元。为了保证数据完整性,要求数据库系统维护事务的原子性、一致性、隔离性和持久性。针对事务的这4种特性,考虑以下的架构设计场景。假设在某一个时刻只有一个活动的事务,为了保证事务的原子性,对于要执行写操作的数据项,数据库系统在磁盘上维护数据库的一个副本,所有的写操作都在数据库副本上执行,而保持原始数据库不变,如果在任一时刻操作不得不中止,系统仅需要删除副本,原数据库没有受到任何影响。这种设计策略称为(1)。事务的一致性要求在没有其他事务并发执行的情况下,事务的执行应该保证数据库的一致性。数据库系统通常采用(2)机制保证单个事务的一致性。事务的隔离性保证操作并发执行后的系统状态与这些操作以某种次序顺序执行(即可串行化执行)后的状态是等价的。两阶段锁协议是实现隔离性的常见方案,该协议(3)。持久性保证一旦事务完成,该事务对数据库所做的所有更新都是永久的,如果事务完成后系统出现故障,则需要通过恢复机制保证事务的持久性。假设在日志中记录所有对数据库的修改操作,将一个事务的所有写操作延迟到事务提交后才执行,则在日志中(4)。当系统发生故障时,如果某个事务已经开始,但没有提交,则该事务应该(5)。空白(5)处应选择()
    A

    重做

    B

    撤销

    C

    什么都不做

    D

    抛出异常后退出


    正确答案: B
    解析: 本题主要考查数据库系统架构设计知识。在数据库系统中,“事务”是访问并可能更新各种数据项的一个程序执行单元。为了保证数据完整性,要求数据库系统维护事务的原子性、一致性、隔离性和持久性。题干中第1个架构设计场景描述了数据库设计中为了实现原子性和持久性的最为简单的策略:“影子拷贝”。该策略假设在某一个时刻只有一个活动的事务,首先对数据库做副本(称为影子副本),并在磁盘上维护一个dp_pointer指针,指向数据库的当前副本。对于要执行写操作的数据项,数据库系统在磁盘上维护数据库的一个副本,所有的写操作都在数据库副本上执行,而保持原始数据库不变,如果在任一时刻操作不得不中止,系统仅需要删除新副本,原数据库副本没有受到任何影响。题干中的第2个架构设计场景主要考查考生对事务一致性实现机制的理解。事务的一致性要求在没有其他事务并发执行的情况下,事务的执行应该保证数据库的一致性。数据库系统通常采用完整性约束检查机制保证单个事务的一致性。题干中的第3个架构设计场景主要考查数据库的锁协议。两阶段锁协议是实现事务隔离性的常见方案,该协议通过定义锁的增长和收缩两个阶段约束事务的加锁和解锁过程,能够保证事务的串行化执行,但由于事务不能一次得到所有需要的锁,因此该协议可能会导致死锁。题干中的第4个架构设计场景主要考查数据库的恢复机制,主要描述了基于日志的延迟修改技术(Deferred-ModificationTechruque)的设计与恢复过程。该技术通过在日志中记录所有对数据库的修改操作,将一个事务的所有写操作延迟到事务提交后才执行,日志中需要记录“事务开始”和“事务提交”时间,还需要记录数据项被事务修改后的新值,无须记录数据项被事务修改前的原始值。当系统发生故障时,如果某个事务已经开始,但没有提交,则该事务对数据项的修改尚未体现在数据库中,因此无须做任何恢复动作。