zoukankan      html  css  js  c++  java
  • 数据库相关:何种情况下会使用事务

    事务具有以下属性:
    1. 原子性:一个事务要被完全性的无二义性的做完或者撤销,在任何一个操作出现错误的情况下,构成事务所有操作所造成的效果都必须被撤销,数据应该被回滚到以前的状态。
    2. 一致性:一个事务应该保护所有定义在数据上的不变的属性(例如完整性约束)。在完成了一个成功的事务时,数据应处于一致的状态。换句话说,一个事务应该把系统从一个一致-状态转换到另一个一致状态。举个例子,在关系数据库的情况下, 
    一个一致的事务将保护定义在数据上的所有完整性约束。 
     
    3. 隔离性:在同一个环境中可能有多个事务并发执行,而每个事务都应表现为独立执行。串行的执行一系列事务的效果应该同于并发的执行它们。这要求两件事: 

    在一个事务执行过程中,数据的中间的(可能不一致)状态不应该被暴露给所有的其他事务。 
    两个并发的事务应该不能操作同一项数据。数据库管理系统通常使用锁来实现这个特征。
    4. 持久性:事务造成的改动是持久的
     
    简单来说,事务一旦开始执行,只有两条路径,一是完整的正确的执行下去,二是在某一步骤出现错误,就回滚到未执行此事务的状态。
     
    什么时候会用到事务呢?在执行一系列数据库操作时,要保证这些操作必须完全正确执行,否则就不执行,在这种情况下,适合使用事务,例如将一些数据插入到两个相关联的表中,而且不能只有一张表插入成功,这种情况下,使用事务,无论是否插入成功,都不会对数据库造成不好的影响。
     
     

    <wiz_tmp_tag id="wiz-table-range-border" contenteditable="false" style="display: none;">





  • 相关阅读:
    侧滑的一个注意
    viewpager+fragment结合
    webview
    动画
    <context:annotation-config> 和 <context:component-scan>的区别
    spring mvc 原理及应用
    HDU
    使用Log4Net将系统日志信息记录到记事本和数据库中
    chromium for android GPU进程结构分析
    【云图】怎样制作全国KTV查询系统?
  • 原文地址:https://www.cnblogs.com/xdblog/p/11143081.html
Copyright © 2011-2022 走看看