文档介绍:XX大学
 毕业设计 
SQL Server2005事务处理机制之研究
 
 
 
 
学生姓名:XXX
班级:XXX
指导老师:XXX
系部:信息技术系
提交时间:2010年5 月4日
 
 
 
 
SQL Server2005事务处理机制之研究
目录
1
2
事务的基础知识 2
什么是事务 2
事务的ACID属性 2
什么是ACID属性 2
3
一致性 3
隔离性 3
持久性 4
3. 事务日记备份 5
5
5
4. 事务隔离级别 8
隔离级别的概念 8
10
10
5. 锁实现机制 12
封锁协议 12
(read mited) 12
(mited) 12
(对应reapetable read) 12
13
6. DBMS的责任和我们的任务 14
7. 概念结构设计 17
概念模型 17
概念设计的主要步骤 17
(data abstraction) 18
18
8. 总结 22
 数据库事务是指作为单个逻辑工作单元执行的一系列操作。设想网上购物的一次交易,其付款过程至少包括以下几步数据库操作:更新客户所购商品的库存信息;保存客户付款信息--可能包括与银行系统的交互生成订单并且保存到数据库中;更新用户相关信息,例如购物数量等等。正常的情况下,这些操作将顺利进行,最终交易成功,与交易相关的所有数据库信息也成功地更新。但是,如果在这一系列过程中任何一个环节出了差错,例如在更新商品库存信息时发生异常、该顾客银行帐户存款不足等,都将导致交易失败。一旦交易失败,数据库中所有信息都必须保持交易前的状态不变,比如最后一步更新用户信息时失败而导致交易失败,那么必须保证这笔失败的交易不影响数据库的状态--库存信息没有被更新、用户也没有付款,订单也没有生成。否则,数据库的信息将会一片混乱而不可预测。数据库事务正是用来保证这种情况下交易的平稳性和可预测性的技术。
编者
2010年5月4号
 
  事务的基础知识
    什么是事务
事务处理是由以一个单一的逻辑单位完成的一系列操作,它可以由一系列的的SQL语句、SELECT、INSERT、UPDATE、DELETE组成,如果在该单位包含的操作执行完毕后没有发生错误,那么它对数据库所作的改变就是永久的了。如果一旦有错误发生,它就不会对数据库作任何修改或改变。
要定义一个事务,需要使用BEGIN TRANSACTION命令,在这一命令之后的任何语句都将被认为是事务的一部分。MIT用来完成事务,并使事务对数据库所作的修改成为永久的。ROLLBACK命令用来取消一个事务,并还原事务对数据库所作的修改。下面是一个事务的例子:设想网上购物的一次交易,其付款过程至少包括以下几步数据库操作:更新客户所购商品的库存信息保存客户付款信息—可能包括与银行系统的交互。生成订单并且保存到数据库中。更新用户相关信息,例如购物数量等等。
正常的情况下,这些操作将顺利进行,最终交易成功,与交易相关的所有数据库信息也成功地更新。但是,如果在这一系列过程中任何一个环节出了差错,例如在更新商品库存信息时发生异常、该客户银行账户存款不足等,都将导致交易失败。一量交易失败,数据库中所有信息都必须保持交易前的状态不变,比如最后一步更新用户信息时失败导致交易失败,那么必须保证这笔失败的交易不影响数据库的状态—库存信息没有被更新、用户也没有付款,订单也没有生成。否则,数据库的信息将会一片混乱而不可预测。
数据库事务正是用来保证这种情况下交易的平稳性和可预测性的技术。
事务的ACID属性
什么是ACID属性
事务处理可以确保除非事务性单元内的所有操作都成功完成,否则不会永久更新面向数据的资源。通过将一组相关操作组合为一个要么全部成功要么全部失败的单元,可以简化错误恢复并使用应用程序更加可靠。一个逻辑工作单元要成为事务,必须满足所谓的ACID(原子性、一致性、隔离性和持久性)属性。
      事务必须是原子工作单元;对于其数据修改,要么全都执行,要么全都不执行。通常,与某个事务关联的操作具有共同的目标,并且是相互依赖的。如果