第8-3篇 数据库保护技术(并发).ppt

  1. 1、本文档共51页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
An Introduction to Database System 江苏科技大学 第四章 数据库安全性 8.1 数据库的安全性及SQL Server的安全管理 8.2 数据库完整性及SQL Server的完整性控制 8.3 数据库并发控制及SQL Server并发控制 8.4 数据库恢复技术与SQL Server数据恢复机制 问题的产生 多用户数据库系统的存在 允许多个用户同时使用的数据库系统 飞机定票数据库系统 银行数据库系统 特点:在同一时刻并发运行的事务数可达数百个 问题的产生(续) 不同的多事务执行方式 (1)事务串行执行 每个时刻只有一个事务运行,其他事务必须等到这个事务结束以后方能运行 不能充分利用系统资源,发挥数据库共享资源的特点 问题的产生(续) (2)交叉并发方式(Interleaved Concurrency) 在单处理机系统中,事务的并行执行是这些并行事务的并行操作轮流交叉运行 单处理机系统中的并行事务并没有真正地并行运行,但能够减少处理机的空闲时间,提高系统的效率 问题的产生(续) 问题的产生(续) (3)同时并发方式(simultaneous concurrency) 多处理机系统中,每个处理机可以运行一个事务,多个处理机可以同时运行多个事务,实现多个事务真正的并行运行 问题的产生(续) 事务并发执行带来的问题 会产生多个事务同时存取同一数据的情况 可能会存取和存储不正确的数据,破坏事务一致性和数据库的一致性 数据库的并发控制: 控制数据库,防止多用户并发使用数据库时造成数据错误和程序运行错误,保证数据的完整性。 8.3 数据库并发控制及SQL Server并发控制 8.3.1 事务及并发控制的基本概念 8.3.2 封锁及封锁协议 8.3.3 封锁出现的问题及解决方法 8.3.4 SQLServer的并发控制(了解,不考核) 8.3.1 事务及并发控制的基本概念 1、事务的概念和特征 2、事务并发操作可能产生的数据不一致的问题 1、事务的概念和特征 1. 事务的概念 事务:是用户定义的一个数据库操作序列,这些操作要么全做要么全不做,是一个不可分割的工作单位。 一个程序中可以包含多个事务 在SQL语言中,定义事务的语句有三条: BEGIN TRANSACTION; COMMIT; ROLLBACK; 1、事务的概念和特征 定义方式: BEGIN TRANSACTION BEGIN TRANSACTION SQL 语句1 SQL 语句1 SQL 语句2 SQL 语句2 。。。。。 。。。。。 COMMIT ROLLBACK 1、事务的概念和特征(续) 2. 事务的ACID特性: 原子性(Atomicity) 一致性(Consistency) 隔离性(Isolation) 持续性(Durability ) 事务处理的主要任务:保证事务的ACID特性 1、事务的概念和特征(续) 3、事务特性遭破坏的原因 1)多个事务并行运行时,不同事务的交叉执行(隔离性) 2)事务在运行过程中被强制终止(原子性、一致性) 并发控制任务 保证事务的隔离性,确保数据库的一致性。 数据库恢复任务 保证事务的原子性、一致性。 8.3.1 事务及并发控制的基本概念 1、事务的概念和特征 2、事务并发操作可能产生的数据不一致的问题 T1的修改被T2覆盖了! [例]飞机订票系统中的一个活动序列 ① 甲售票点(甲事务)读出某航班的机票余额A,设A=20; ② 乙售票点(乙事务)读出同一航班的机票余额A,也为20; ③ 甲售票点卖出一张机票,修改余额A←A-1,所以A为19,把A写回数据库; ④ 乙售票点也卖出一张机票,修改余额A←A-1,所以A为19,把A写回数据库 结果明明卖出两张机票,数据库中机票余额只减少1 这种情况称为数据库的不一致性,是由并发操作引起的。(隔离性) 并发操作时,甲、乙两个事务的操作序列的调度是随机的。 并发操作带来的数据不一致性,主要包括: 丢失修改(Lost Update) 不可重复读(Non-repeatable Read) 读“脏”数据(Dirty Read) 1.

文档评论(0)

kehan123 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档