数据库期末复习 数据恢复

数据库期末复习 数据恢复

  • 一、事务
    • 1.1 基本概念
    • 1.2 ACID特性
    • 1.3 事务状态
  • 二、Schedule
    • 2.1 Serial
    • 2.2 conflict Serializable
  • 三、恢复
    • 3.1 故障
    • 3.2 Redo
    • 3.3 Undo
    • 3.4 Redo/Undo
  • 四、锁
    • 4.1 状态
    • 4.2 共用
    • 4.3 2PL Lock

一、事务

1.1 基本概念

  1. 事务是用户定义的一个数据库操作序列,要么全做,要么都不做
  2. 操作:
    BEGIN TRANSACTION 事务开始
    COMMIT/ROLLBACK 事务结束

1.2 ACID特性

  1. 原子性

  2. 一致性

  3. 隔离性

  4. 持续性

1.3 事务状态

数据库期末复习 数据恢复_第1张图片

二、Schedule

2.1 Serial

一个事务接一个事务,无交叉

数据库期末复习 数据恢复_第2张图片

2.2 conflict Serializable

A schedule is conflict serializable if and only if its precedence graph is acyclic(无环的).

If a schedule S can be transformed into a schedule S´ by a series of swaps of non-conflicting instructions, we say that S and S´ are conflict equivalent.

We say that a schedule S is conflict serializable if it is conflict equivalent to a serial schedule.

数据库期末复习 数据恢复_第3张图片

数据库期末复习 数据恢复_第4张图片

  1. li = read(Q), lj = read(Q). li and lj don’t conflict.
  2. li = read(Q), lj = write(Q). They conflict.
  3. li = write(Q), lj = read(Q). They conflict
  4. li = write(Q), lj = write(Q). They conflict

三、恢复

利用日志文件
日志文件基础操作:
数据库期末复习 数据恢复_第5张图片

3.1 故障

  1. 事务内部的故障 用UNDO
  2. 系统故障 用REDO
  3. 介质故障
  4. 计算机病毒

3.2 Redo

数据库期末复习 数据恢复_第6张图片

数据库期末复习 数据恢复_第7张图片

3.3 Undo

数据库期末复习 数据恢复_第8张图片

在这里插入图片描述

数据库期末复习 数据恢复_第9张图片

  1. checkpoint
    在日志中加入< CKPT >
    标记的事务表示已提交或完成

3.4 Redo/Undo

在这里插入图片描述

在这里插入图片描述

四、锁

4.1 状态

  1. Unlocked
  2. Shared (Read)
  3. Exclusive (Write)

4.2 共用

s-读锁
x-写锁
数据库期末复习 数据恢复_第10张图片

4.3 2PL Lock

  1. two phase lock
    数据库期末复习 数据恢复_第11张图片
  2. Strict 2PL
    All locks held by a transaction are released only when the transaction completes.

你可能感兴趣的:(数据库)