数据库事务

1:事务的特征:
  ACID
   A atomic 原子性,一个事务是一个不可分割的单位
   C constency 一致性 一个事务开始结束后,数据完整性约束没有被破坏
    约束:Fk/pk/not null/unique/check
  
  
   I isolation 隔离性 一个事物的执行,与其他事物的关系
   D  durable 持久性,数据应该持久保存
  
2:事务的边界     JDBC规范的61 页

  auto commit :
 
    JDBC默认是true
   
   * 默认情况下事务的边界auto commit=true:
      对于insert update delete statement执行结束的时候会提交事务
   * auto commit=false
      只能显示声明事务的提交,如果不显示声明,connection在关闭的时候会
     检查,然后提交事务
   * 设置为  auto commit=false
     在一个事物用到多个statement的时候要显示声明auto commit=false】
    
    
3: 事务的隔离级别:

    * 脏读    
         允许读取到别的事务修改但是未提交的数据
        
    * 不可重复读
       在一个事务中多次读取一条数据,读取后的结果不一致(数据被别的事务更改);
      
    * 幻像读
       在一个事务中多次读取后,读取了别的事务插入进来的数据
   
   
    * transaction read uncommitted   
       允许读取到别的事务修改但是未提交的数据
      
    * transaction read  committed   
   
      只能读取到别的事务已经提交的数据,未提交的读取不到改变
   
    * transaction   repeatable read
      
       在一个事务中多次读取一条数据,读取后的结果一致(数据被别的事务更改读取结果一样
       )
      
     * transaction serializable
    
       在一个事务中多次读取后,读取不到别的事务插入进来的数据
      
      
      
      
4:savepoint: 给事务提供了更好的细粒度控制。

 

  

你可能感兴趣的:(C++,c,jdbc,C#)