10-事务与并发控制

10-事务与并发控制

ID:45034043

大小:238.50 KB

页数:49页

时间:2019-11-08

10-事务与并发控制_第1页
10-事务与并发控制_第2页
10-事务与并发控制_第3页
10-事务与并发控制_第4页
10-事务与并发控制_第5页
资源描述:

《10-事务与并发控制》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、第10讲事务与并发控制关系型数据库有四个显著的特征,即安全性、完整性、并发性和监测性。数据库的安全性就是要保证数据库中数据的安全,防止未授权用户随意修改数据库中的数据,确保数据的安全。在大多数数据库管理系统中,主要是通过许可来保证数据库的安全性。完整性是数据库的一个重要特征,也是保证数据库中的数据切实有效、防止错误、实现商业规则的一种重要机制。事务与并发控制数据的完整性是通过一系列逻辑来保障的,这些逻辑分为三个方面,即实体完整性、域完整性和参考完整性。数据库是一个共享资源,可以供多个用户使用。但这样就会产生多个用户程序并发存取同一数据的情况,若对并发操作不加控制就可能会存取和存储不正确的

2、数据,破坏数据库的一致性,所以数据库管理系统必须提供并发控制机制。事务与并发控制并发控制机制的好坏是衡量一个数据库管理系统性能的重要标志之一。SQLServer以通过事务实现并发控制。当用户对数据库并发访问时,为了确保事务完整性和数据库一致性,需要使用锁定。这样,就可以保证任何时候都可以有多个程序运行,但是所有用户程序都在彼此完全隔离的环境中运行。事务与并发控制事务由一系列的数据操作组成,是数据库应用程序的基本逻辑单元,用来保证数据的一致性。事务和存储过程类似,由一系列T-SQL语句组成,是SQLServer2005系统的执行单元。在数据库处理数据的时候,有一些操作是不可分割的整体。例如

3、,当用银行卡消费的时候首先要在账户扣除资金,然后再添加资金到公司的户头上。在这个过程中用户所进行的实际操作可以理解成不可分割的,不能只扣除不添加,当然也不能只添加不扣除。事务利用事务可以解决上面的问题,即把这些操作放在一个容器里,强制用户执行完所有的操作或者不执行任何一条语句。事务就是作为单个逻辑工作单元执行的一系列操作,这一系列的操作或者都被执行或者都不被执行。事务必须满足四个原则,即原子性、一致性、隔离性和持久性。事务(1)原子性:事务对于数据修改,要么全都执行,要么全都不执行。这一性质即使在系统崩溃之后仍能得到保证(2)一致性:一致性要求事务执行完成后,将数据库从一个一致状态转变到

4、另一个一致状态。事务(3)隔离性:也称为独立性,是指并行事务的修改必须与其他并行事务的修改相互独立。隔离性意味着一个事务的执行不能被其他事务干扰。即一个事务内部的操作及使用的数据对并发的其他事务是隔离的,并发执行的各个事务之间不能互相干扰。事务(4)持久性:在事务完成提交之后,就对系统产生持久的影响,即事务的操作将写入数据库中,无论发生何种机器和系统故障都不应该对其有任何影响。例如,自动柜员机(ATM)在向客户支付一笔钱时,就不用担心丢失客户的取款记录。事务的持久性保证事务对数据库的影响是持久的,即使系统崩溃。事务1、根据系统的设置分类根据系统的设置,SQLServer2005将事务分为

5、两种类型:系统提供的事务和用户定义的事务。事务的类型(1)系统事务系统提供的事务是指在执行某些语句时,一条语句就是一个事务。系统提供的事务语句如下:ALTERTABLE、CREATE、DELETE、DROP、FETCH、GRANT、INSERT、OPEN、REBOKE、SELECT、UPDATE、TRUNCATETABLE,这些语句本身就构成了一个事务。事务的类型(2)用户定义事务使用BEGINTRANSACTION语句来定义事务。在使用用户定义的事务时,一定要注意事务必须有明确的结束语句。如果不使用明确的结束语句来结束,那么系统可能把从事务开始到用户关闭连接之间的全部操作都作为一个事务

6、来对待。事务的明确结束可以使用:COMMIT语句或ROLLBACK语句。COMMIT语句是提交语句,将全部完成的语句明确地提交到数据库中。ROLLBACK语句是取消语句,将事务的操作全部取消,即表示事务操作失败。事务的类型2、根据运行模式分类根据运行模式的不同,将事务分为4种类型:显示事务、隐式事务、自动提交事务和批处理级事务。(1)自动提交事务自动提交事务是指每条单独的T-SQL语句都是一个事务。如果没有通过任何T-SQL语句设置事务,一条T-SQL语句就是一个事务。事务的类型(2)显式事务显式事务指每个事务均以BEGINTRANSACTION语句、COMMITTRANSACTION或

7、ROLLBACKTRANSACTION语句明确地定义了什么时候启动事务、什么时候结束事务的事务。(3)隐式事务隐式事务指在前一个事务完成时新事务隐式启动,但每个事务仍以COMMITTRANSACTION或ROLLBACKTRANSACTION语句显式结束。事务的类型(4)批处理级事务批处理级事务是SQLServer2005的新增功能,该事务只能应用于多个活动结果集(MARS),在MARS会话中启动的T-SQL显式或隐式事务变为批处理

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。