第十一篇 并发控制概述.ppt

  1. 1、本文档共51页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
引言-关于数据库安全保护 数据库系统中的数据是由DBMS统一进行管理和控制的。为了适应和满足数据共享的环境和要求,DBMS要保证数据库及整个系统的正常运转,防止数据意外丢失和不一致数据的产生,以及当数据库遭受破坏后能迅速地恢复正常,这就是数据库的安全保护。 引言 DBMS对数据库的安全保护功能是通过: 安全性控制 完整性控制 并发性控制 数据库恢复 等四方面来实现的。 说明: (1)安全性是保护数据库,以防止非法使用所造成数据的泄露、更改或破坏, (2)完整性是指保护数据库中数据的正确性、有效性和相容性,防止错误的数据进入数据库造成无效操作。 (3)完整性和安全性是数据库保护的两个不同的方面: 安全性措施的防范对象是非法用户和非法操作; 完整性是防止合法用户使用数据库时向数据库中加入不符合语义的数据,完整性措施的防范对象是不合语义的数据。 引言 (4)事务是数据库的逻辑工作单元,只要保证了事务的ACID特性,也就保证了数据库处于一致性状态 (5)事务处理技术主要包括:数据库恢复技术和并发控制技术 数据库并发性概述 每个用户在存取数据库中的数据时,可能是串行执行,即每个时刻只有一个用户程序运行,也可能是多个用户并行地存取数据库。 串行执行意味着一个用户在运行程序时,其他用户程序必须等到这个用户程序结束才能对数据库进行存取,这样数据库系统的利用率会极低。数据库并发执行是主流。 在多用户和网络环境下,数据库是一个共享资源,多个用户或应用程序同时对数据库的同一数据对象进行读写操作,这种现象称为对数据库的并发操作。显然并发操作可以充分利用系统资源,提高系统效率。 虽然如此,但是如果对并发操作不进行控制会造成一些错误。举例 对并发操作进行的控制称为并发控制。并发控制机制是衡量一个DBMS的重要性能指标之一。 数据库的并发控制机制能解决这类问题,以保持数据库中数据的在多用户并发操作时的一致性、正确性。 数据库的并发控制以事务为单位,通常使用封锁技术实现并发控制。对数据对象施加封锁,会带来活锁和死锁问题,并发控制机制必须提供适合数据库特点的解决方法。 11.1 事务的基本概念 1、事务(Transaction)的定义 事务是数据库系统中执行的一个工作单位,它是由用户定义的一组操作序列组成。 一个事务可以是一组SQL语句、一条SQL语句或整个程序,一个应用程序可以包括多个事务。事务的开始与结束可以由用户显式控制。如果用户没有显式地定义事务,则由DBMS按照缺省规定自动划分事务。 在SQL语言中,如何定义事务 显式定义方式 BEGIN TRANSACTION BEGIN TRANSACTION SQL 语句1 SQL 语句1 SQL 语句2 SQL 语句2 。。。。。 。。。。。 COMMIT ROLLBACK 说明: BEGIN TRANSACTION 表示事务的开始; COMMIT 事务正常结束 --提交事务的所有操作(读+更新) 事务中所有对数据库的更新永久生效 ROLLBACK 事务异常终止--事务运行的过程中发生了故障,不能继续执行 回滚事务的所有更新操作 事务滚回到开始时的状态 2.事务的特性(ACID特性) 事务的ACID特性: 原子性(Atomicity) 一致性(Consistency) 隔离性(Isolation) 持续性(Durability ) 1)原子性 一个事务是一个不可分割的工作单位,事务在执行时,事务中包括的诸操作要么都做,要么都不做 2) 一致性 事务执行的结果必须是使数据库从一个一致性状态变到另一个一致性状态 一致性状态:数据库中只包含成功事务提交的结果 不一致状态:数据库中包含失败事务的结果 原子性、一致性示例: 银行转帐:从帐号A中取出一万元,存入帐号B。 定义一个事务,该事务包括两个操作 这两个操作要么全做,要么全不做 全做或者全不做,数据库都处于一致性状态。 如果只做一个操作,数据库就处于不一致性状态。 3)隔离性 一个事务的执行不能被其他事务干扰 一个事务内部的操作及使用的数据对其他并发事务是隔离的 并发执行的各个事务之间不能互相干扰 4)持续性 持续性也称永久性(Permanence) 一个事务一旦提交,它对数据库中

文档评论(0)

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

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

1亿VIP精品文档

相关文档