数据库第五章:数据库管理

5.1 数据库管理概述

一、什么是数据库管理
数据库管理是指为保证数据库系统的正常运行服务质量必须进行的系统管理工作。

二、DBMS管理功能结构
在这里插入图片描述
三、DBMS系统层次结构
在这里插入图片描述

5.2 事务管理

一、为什么需要事务管理
在业务处理的每个操作步骤中,都可能遭遇失败,若没有一个处理机制,就可能造成操作数据混乱,从而破坏数据一致性

二、事务概念
在数据库中,事务是指由构成单个业务处理单元的一组数据库访问操作,要求它们要么都成功执行,要么都不执行

三、事务状态
在数据库系统中,事务是DBMS执行的最小任务单元
事务也是DBMS最小故障恢复任务单元并发控制任务单元。其生命周期状态变迁如图所示。
在这里插入图片描述
四、事务特性
ACID特性:
原子性:事务所有操作在数据库中要么全部执行,要么全部不执行。
一致性:事务多次执行,其结果应一致。
隔离性:事务与事务之间隔离,并发执行透明。
持续性:事务完成后,数据改变必须是永久的

五、事务并发执行
事务并发执行是指多个事务程序在数据库系统中同一时段运行。

并发执行原因:

  1. 改善系统的资源利用率
  2. 减少事务运行的平均等待时间

六、事务SQL程序
1.事务SQL语句
BEGINSTART TRANSACTION ;事务开始语句
ROLLBACK ;事务回滚语句
COMMIT ;事务提交语句
SAVEPOINT ;事务保存点语句

2.事务SQL程序基本框架
在这里插入图片描述
3.事务程序中不能使用的SQL语句
在这里插入图片描述
七、DBMS默认事务方式
若用户没有显式地定义事务时,DBMS按默认事务方式处理,即每执行一个SQL语句将自动构成一个事务。

5.3 并发控制

5.3.1 事务调度

一、为什么需要并发控制

  • 支持并发事务处理,使更多用户并行操作,提高系统的并发访问能力。
  • 保证一个事务工作不会对另一个事务工作产生不合理的影响。

二、并发控制需解决的问题
1.丢失更新数据
在这里插入图片描述
当事务T1和T2均读入该共享数据A并修改,T2提交的结果破坏了T1提交的结果,导致T1的修改被丢失。

2.不可重复读取
指一个事务对一个共享数据重复多次读取,但前后读取的数据不一致
在这里插入图片描述
出现这种问题的原因:多个事务并发运行时,一些事务对共享数据进行多次读操作,但其中一个事务对共享数据进行了修改或删除操作。

3.幻象读取
幻像读指一个事务对同一共享数据重复读取两次,但是发现第2次读取比第1次读取的结果中新增
了一些数据。
出现这种问题的原因:多个事务并发运行,其中一个事务同时在对共享数据进行添加操作

4.脏数据读取
脏数据读取是指一个事务读取了被取消持久化的共享数据。
在这里插入图片描述
三、并发事务调度原理与策略
并发事务调度就是控制多个事务的数据操作语句按照恰当的顺序访问共享数据,使这些事务执行之后,避免造成数据的不一致性,即解决“丢失更新数据”、“不可重复读”、“脏数据读”等问题。

1.事务调度原理
在这里插入图片描述
2.事务调度策略
在事务并发执行中,只有当事务中数据操作调度顺序的执行结果与事务串行执行结果一样时,该并发事务调度才能保证数据操作的正确性和一致性。符合这样效果的调度称为可串行化调度。

DBMS并发事务调度目标:使并发事务调度实现的处理结果与串行化调度处理结果一致

5.3.2 锁机制、控制协议、死锁、事务隔离

一、数据库锁机制
为了解决多个事务并发对共享数据进行新增、更新、删除、查询带来的数据不一致性问题时,需要对共享数据进行加锁访问

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值