数据库概论整理总结4

73 篇文章 0 订阅
37 篇文章 2 订阅

数据库系统概论整理总结4

第8章——数据库编程

过程化SQL有两种类型——命名块和匿名块

优点:

  • 运行效率高,提供了在服务器快速执行SQL语句的有效途径
  • 存储过程降低了客户机和服务器之间的通信量
  • 方便企业规划

语句:create or procedure 过程名([参数1,参数2......])

as <过程化SQL块>

执行存储过程使用call或者perform

第10章——数据库恢复技术

事务

事务是用户定义的一个数据库操作序列,这些操作要么全做,要么不做,是一个不可分割的单位(数据库应用程序的基本逻辑单元)

事务通常是以BEGIN TRANSACTION开始事务,commit提交事务,rollback回滚事务

ACID特性

原子性:事务是数据库的逻辑工作单位

一致性:事务执行的结果必须是使数据库从一个一致性状态到另一个一致性状态

隔离性:一个事物的执行不能被其他事物干扰

持续性:一个事物一旦提交,它对数据库的改变就应该是永久性的。接下来的其他操作或故障不应该对其执行结果产生任何影响。

故障

事务内部的故障

其恢复操作称为事务撤销

系统故障(软故障)

造成系统停止运转的任何事件,使得系统重新启动。

介质故障(硬故障)

指外存故障

计算机病毒

各类故障对数据库的影响可能有

  1. 数据库本身被破坏
  2. 数据库没有被破坏,数据可能不正确

恢复的实现技术

用一个词概括:冗余


数据转储:数据库恢复采用的基本技术。所谓转储即数据库管理员定期地将整个数据库复制到磁带、磁盘或其他存储介质上保存起来的过程

静态转储是在系统中无运行事务时进行的转储操作,动态转储是转出期间允许对数据库进行存取或修改。

还可以分为海量转储(转储整个数据库)和分量转储(只转储距离上一次转储后更新的数据)


登记日志文件

日志文件是用来记录事务对数据库的更新操作的文件,以记录为单位的日志文件和以数据块为单位的日志文件。

这里每个事务的开始标记、结束标记和更新标记。

日志文件的具体作用

1.事务故障恢复和系统故障必须用日志文件

2.在动态转储方式必须建立日志文件,后备副本和日志文件结合起来才能有效地恢复数据库


恢复策略

事务故障的恢复

事务故障的恢复是由系统自动完成的,对用户是透明的。

1)反向扫描日志文件,查找该事务的更新操作

2)对该事务更新操作执行逆操作

3)继续反向操作,查找该事务的其他更新操作,并做同样处理

4)如此继续直到读到此事务的开始标记

系统故障的恢复

1)正向扫描日志文件,找出故障发生前已经提交的事务放入重做队列,同时尚未完成的记入撤销队列

2)撤销撤销队列中的事务

3)重做重做队列中的事务

介质故障的恢复

1)装入最新的数据库后备副本,使数据库到最近一次转储时的一致性状态

2)装入相应的日志文件副本,重做已完成的事务

介质故障的恢复需要数据库管理员的介入

第11章——并发控制

并发控制

事务是并发控制的基本单位,保证事务的隔离性和一致性

并发操作带来的不一致性

丢失修改,不可重复读,读“脏”数据

封锁

基本的封锁类型

排他锁(写锁,X锁)

事务T对数据对象A加上X锁,则只允许T读A和写A,其他任何事务不能再对A加任何形式的锁,直到T释放该锁

共享锁(读锁,S锁)

事务T对数据对象A加上S锁后,则只允许T读写A不能修改A,其他事务只能对其增加读锁,直到T释放该锁

一级封锁协议

事务T在修改数据R之前必须先对其加X锁,直到事务结束才释放。

不保证可重复读和不读脏数据

二级封锁协议

在一级封锁协议基础上增加事务T在读取数据R之前必须对其加S锁,读完即释放

不保证可重复读

三级封锁协议

在一级封锁协议基础上增加事务T在读取数据R之前加上S锁,事务结束后释放

活锁

一个事务封锁了数据之后的事务想要请求数据必须等待,若有个事务陷入了无限等待则为活锁

解决方法:先来先服务

死锁

1等2,2等1

死锁的预防方法

一次封锁法,顺序封锁法

死锁的诊断与解除

超时法,事务等待图法(定期检查,出现回路为死锁)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值