`
zwt2001267
  • 浏览: 450662 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

事务处理

阅读更多

一 事务处理介绍
   事务是这样一种机制,它确保多个SQL语句被当作单个工作单
元来处理。事务具有以下的作用:
   * 一致性:同时进行的查询和更新彼此不会发生冲突,其他
用户不会看到发生了变化但尚未提交的数据。
   * 可恢复性:一旦系统故障,数据库会自动地完全恢复未完
成的事务。

二 事务与一致性
   事务是完整性的单位,一个事务的执行是把数据库从一个一
致的状态转换成另一个一致的状态。因此,如果事务孤立执行时
是正确的,但如果多个事务并发交错地执行,就可能相互干扰,
造成数据库状态的不一致。在多用户环境中,数据库必须避免同
时进行的查询和更新发生冲突。这一点是很重要的,如果正在被
处理的数据能够在该处理正在运行时被另一用户的修改所改变,
那么该处理结果是不明确的。
   不加控制的并发存取会产生以下几种错误:
   1 丢失修改(lost updates)
   当多个事务并发修改一个数据时,不加控制会得出错误的结
果,一个修改会覆盖掉另一个修改。
   2 读的不可重复性
   当多个事务按某种时间顺序存取若干数据时,如果对并发存
取不加控制,也会产生错误。
   3 脏读(DIRDY DATA),读的不一致性
   4 光标带来的当前值的混乱
   事务在执行过程中它在某个表上的当前查找位置是由光标表
示的。光标指向当前正处理的记录。当处理完该条记录后,则指
向下一条记录。在多个事务并发执行时,某一事务的修改可能产
生负作用,使与这些光标有关的事务出错。
   5 未释放修改造成连锁退出
   一个事务在进行修改操作的过程中可能会发生故障,这时需
要将已做的修改回退(Rollback)。如果在已进行过或已发现错
误尚未复原之前允许其它事务读已做过修改(脏读),则会导致
连锁退出。
   6 一事务在对一表更新时,另外的事务却修改或删除此表的
定义。
   数据库会为每个事务自动地设置适当级别的锁定。对于前面
讲述的问题:脏读、未释放修改造成的连锁退出、一事务在对一
表更新时另外的事务却修改或删除此表的定义,数据库都会自动
解决。而另外的三个问题则需要在编程过程中人为地定义事务或
加锁来解决。
三 事务和恢复
   数据库本身肩负着管理事务的责任。事务是最小的逻辑工作
单元,在这个工作单元中,对数据库的所有更新工作,要么必须
全部成功,要么必须全部失败(回退)。只要应用程序指定了某
段程序为一个事务并做了相应的处理(提交或回退),数据库系
统会自动维护事务本身的特性。

分享到:
评论

相关推荐

    PostgreSQL技术内幕:事务处理深度探索.docx

    PostgreSQL 事务处理技术内幕深度探索 PostgreSQL 是一种开放源代码的关系数据库管理系统(RDBMS),它具有高度的可靠性、稳定性和安全性,被广泛应用于各种企业级应用和云服务。PostgreSQL 的事务处理机制是...

    事务处理:概念与技术

    事务处理广泛地应用于数据库和操作系统领域,并在现代计算机系统中监控、控制和更新信息。本书向读者展示了大型的、分布的、异构的计算机系统是如何进行可靠工作的。作者使用事务作为基本概念,说明了在有限的资金和...

    联机事务处理系统

    ### 联机事务处理系统(OLTP)深入解析 #### OLTP系统概览 联机事务处理系统(OLTP)是数据库管理的核心组件之一,主要用于处理大量的事务性操作,如银行交易、订单处理和机票预订等。这些系统旨在提供高并发、低...

    C#中的事务处理,数据库编程中常用

    在IT领域,尤其是在数据库编程中,事务处理是一个至关重要的概念,尤其在使用C#进行开发时。事务确保了数据的一致性和完整性,是数据库操作的基本单位。本篇将深入探讨C#中的事务处理,以及如何在实践中应用这些知识...

    PHP事务处理实例 mysql事务处理的意义

    #### 一、事务处理的重要性 事务处理机制是数据库操作中极为关键的一个概念,尤其在需要确保数据一致性和完整性的场景下尤为重要。在实际的应用开发中,事务处理能够保证一系列数据库操作要么全部成功,要么全部...

    易语言学习进阶事务处理

    本压缩包文件"易语言学习进阶事务处理"是针对易语言使用者提供的一份进阶学习资料,主要涵盖了事务处理的相关知识。 事务处理在计算机科学中是指在数据库管理系统中执行的一系列操作,这些操作被视为一个单一的工作...

    java事务处理详解

    Java事务处理详解 Java事务处理是指在Java应用程序中对事务的管理和控制。事务是指一系列的操作,Either all succeed or all fail。Java事务处理的目的是为了确保数据的一致性和完整性。 Spring是Java事务处理的...

    Socket_udp多事务处理程序框架

    ### Socket_UDP多事务处理程序框架的关键知识点 #### 第一部分:Socket通信事务处理中的常见问题描述 **1.1 Socket通信基础** Socket通信是基于互联网协议(IP)进行数据传输的标准方式,提供了网络上的进程间...

    CSDN 软件开发2.0技术会议:程立-大规模SOA系统中的分布事务处理

    ### 分布式事务处理在大规模SOA系统中的挑战与解决方案 #### 一、背景与历史:山穷水尽 在介绍分布式事务处理之前,我们首先回顾一下事务处理的历史背景及其面临的挑战。传统的事务处理通常是在单个应用系统内部...

    数据库事务处理ppt

    数据库事务处理是数据库管理系统中的核心概念,用于确保数据的一致性和完整性。事务是数据库操作的基本单元,它包含一组逻辑操作,这些操作要么全部执行,要么全部不执行,以确保数据的原子性。事务处理主要关注两个...

    事务处理 概念与技术 (高清版)

    事务处理 概念与技术

    事务处理--介绍事务原理和事务实现.docx

    在IT领域,事务处理是数据库管理系统中的核心概念,它确保了数据的一致性和完整性。本文将深入探讨事务的原理和实现方法。 1. **什么是事务** 事务是一系列数据库操作的逻辑单元,这些操作要么全部成功执行,要么...

    易语言学习进阶事务处理源码

    在易语言的学习过程中,进阶事务处理是提升技能的重要环节。事务处理通常涉及到数据库操作、多线程、错误处理和程序流程控制等复杂技术,对于软件的稳定性和效率有着至关重要的作用。 在这个“易语言学习进阶事务...

    ASP.NET中的事务处理和异常处理

    ### ASP.NET中的事务处理与异常处理 在ASP.NET开发中,事务处理与异常处理是确保应用程序稳定性和数据一致性的重要组成部分。本文将详细探讨这两个概念及其具体应用方式。 #### 一、事务处理 事务处理主要用于...

    数据库事务处理基础——设计与实现

    数据库事务处理是数据库管理系统中的核心概念,用于确保数据的一致性和完整性。在“数据库事务处理基础——设计与实现”这个主题中,我们将深入探讨数据库事务的各个方面,包括其定义、特性、类型以及如何在实际应用...

    VB.NET 2008事务处理示例

    在VB.NET 2008中,事务处理是确保数据库操作一致性的重要机制。它允许一组数据库操作要么全部成功,要么全部失败,从而避免了数据不一致性的风险。本示例涵盖了如何在VB.NET环境中利用ADO.NET进行事务管理,特别是在...

    Java事务处理详细介绍

    ### Java事务处理详细介绍 #### 一、什么是Java事务 在软件开发领域,特别是涉及数据库操作的应用中,**事务处理**是非常关键的一个概念。通常人们认为事务处理与数据库操作紧密相关,其实事务的概念远不止于此。...

    sql server 事务处理

    在SQL Server中,事务处理是数据库操作的核心组成部分,它确保数据的一致性和完整性。事务是一组逻辑操作,这些操作被视为单个单元,要么全部完成,要么全部回滚,以维护数据库的ACID(原子性、一致性、隔离性和持久...

    JavaBean中使用JDBC方式进行事务处理

    ### JavaBean中使用JDBC方式进行事务处理 #### 一、引言 在现代软件开发过程中,数据一致性是非常关键的一个方面,特别是在涉及到多个数据库操作时。本文将详细介绍如何在JavaBean中利用JDBC(Java Database ...

    Spring声明式事务处理

    Spring框架的声明式事务处理是Java企业级应用中不可或缺的一部分,它为开发者提供了一种方便、高效的方式来管理事务。在Spring中,事务管理分为编程式和声明式两种方式,而声明式事务处理则是通过配置来控制事务的...

Global site tag (gtag.js) - Google Analytics