19第17讲事务1ppt课件_第1页
19第17讲事务1ppt课件_第2页
19第17讲事务1ppt课件_第3页
19第17讲事务1ppt课件_第4页
19第17讲事务1ppt课件_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、BDDYSQL Server数据库应用数据库应用第第17讲讲 事务事务1)内容内容复习回顾及本次课目标复习回顾及本次课目标1 任务提出任务提出2 任务分析任务分析3 任务实现任务实现4 任务拓展任务拓展5 任务总结任务总结6复习回顾及本次课目标复习回顾及本次课目标v复习回顾复习回顾vSQL Server中的集合运算中的集合运算复习回顾及本次课目标复习回顾及本次课目标v本次课目标本次课目标v理解事务的概念理解事务的概念v掌握开始事务的语法掌握开始事务的语法v掌握提交事务的语法掌握提交事务的语法v掌握回滚事务的语法掌握回滚事务的语法任务提出任务提出v创建如下的银行账户系统:创建如下的银行账户系统:

2、v数据库名称:数据库名称:Bankv表:表:Accounts列名列名数据类型数据类型约束约束说明说明AccountIDINTPK账户编号账户编号BalanceMoney=10账户余额账户余额任务提出任务提出v完成如下的操作:完成如下的操作:v插入如下的记录:插入如下的记录:v账户账户10000,余额,余额10000v账户账户10001,余额,余额10v账户间转账:账户间转账:v从账户从账户10000转账转账9000到账户到账户10001v从账户从账户10001转账转账5000到账户到账户10000v从账户从账户10000转账转账10000到账户到账户10001任务分析任务分析v事务的概念事务的

3、概念v事务是一种机制、是一个操作序列,它包含了一事务是一种机制、是一个操作序列,它包含了一组数据库操作命令,并且所有的命令作为一个整组数据库操作命令,并且所有的命令作为一个整体一起向系统提交或撤消操作请求,即这一组数体一起向系统提交或撤消操作请求,即这一组数据库命令要么都执行、要么都不执行,因此事务据库命令要么都执行、要么都不执行,因此事务是一个不可分割的工作逻辑单元,在数据库系统是一个不可分割的工作逻辑单元,在数据库系统上执行并发操作时事务是作为最小的控制单元来上执行并发操作时事务是作为最小的控制单元来使用的。它特别适用于多用户同时操作的数据库使用的。它特别适用于多用户同时操作的数据库系统。

4、系统。任务分析任务分析v开始事务开始事务vBEGIN TRANSACTIONv提交事务提交事务vCOMMIT TRANSACTIONv回滚事务回滚事务vROLLBACK TRANSACTION任务分析任务分析v判断是否出错判断是否出错verrorv全局变量全局变量v由由SQL Server填充错误消息编号填充错误消息编号v如果没有错误,则为如果没有错误,则为0v只反映上一条语句执行的情况只反映上一条语句执行的情况任务分析任务分析v事务的特征事务的特征v原子性原子性Atomicity)v事务是一个完整的操作。事务的各元素是不可分事务是一个完整的操作。事务的各元素是不可分的原子的)。事务中的所有元

5、素必须作为一个的原子的)。事务中的所有元素必须作为一个整体提交或回滚。如果事务中的任何元素失败,整体提交或回滚。如果事务中的任何元素失败,则整个事务将失败。则整个事务将失败。vbegin tran意味着事务的开始意味着事务的开始vcommit tran或者或者rollback tran意味着事务意味着事务的结束的结束v这期间的所有指令均被看做一个整体这期间的所有指令均被看做一个整体任务分析任务分析v 事务的特征事务的特征v 一致性一致性Consistency)v 当事务完成时,数据必须处于一致状态。也就是说,在事当事务完成时,数据必须处于一致状态。也就是说,在事务开始之前,数据存储中的数据处于

6、一致状态。在正在进务开始之前,数据存储中的数据处于一致状态。在正在进行的事务中,数据可能处于不一致的状态。然而,当事务行的事务中,数据可能处于不一致的状态。然而,当事务成功完成时,数据必须再次回到已知的一致状态。通过事成功完成时,数据必须再次回到已知的一致状态。通过事务对数据所做的修改不能损坏数据,或者说事务不能使数务对数据所做的修改不能损坏数据,或者说事务不能使数据存储处于不稳定的状态。据存储处于不稳定的状态。v 在事务处理过程中数据可能处于不一致的状态,但是事务在事务处理过程中数据可能处于不一致的状态,但是事务开始之前和事务结束之后必须保证数据处于一致状态。开始之前和事务结束之后必须保证数

7、据处于一致状态。v 可以通过在事务内部添加输出语句观察数据的状态。可以通过在事务内部添加输出语句观察数据的状态。任务分析任务分析v事务的特征事务的特征v隔离性隔离性Isolation)v对数据进行修改的所有并发事务是彼此隔离的。对数据进行修改的所有并发事务是彼此隔离的。这表明事务必须是独立的,它不应以任何方式依这表明事务必须是独立的,它不应以任何方式依赖于或影响其他事务。修改数据的事务可以在另赖于或影响其他事务。修改数据的事务可以在另一个使用相同数据的事务开始之前访问这些数据,一个使用相同数据的事务开始之前访问这些数据,或者在另一个使用相同数据的事务结束之后访问或者在另一个使用相同数据的事务结

8、束之后访问这些数据。另外,当事务修改数据时,如果任何这些数据。另外,当事务修改数据时,如果任何其他进程正在同时使用相同的数据,则直到该事其他进程正在同时使用相同的数据,则直到该事务成功提交之后,对数据的修改才能生效。务成功提交之后,对数据的修改才能生效。任务分析任务分析v事务的特征事务的特征v永久性永久性Durability)v事务完成后,它对数据库的影响是永久性的。该事务完成后,它对数据库的影响是永久性的。该修改即使出现系统故障也将一直保持。修改即使出现系统故障也将一直保持。任务实现任务实现begin transactiondeclare error intset error = 0upda

9、te Accounts set Balance = Balance - 10000where AccountID = 10000set error = error + errorupdate Accounts set Balance = Balance + 10000where AccountID = 10001set error = error + errorif error 0rollback transactionelsecommit transaction任务拓展任务拓展v某板块发布一条新的主题帖:某板块发布一条新的主题帖:v更新版块主题帖数,主题贴数更新版块主题帖数,主题贴数+1;v插入新的主题帖记录;插入新的主题帖记录;v更新发帖用户的积分,发布新主题帖积分更新发帖用户的积分,发布新主题帖积分+10;v更新用户级别,用户级别为用户积分更新用户级别,用户级别为用户积分/100,若,若小于小于2则均为则均为1级。级。v某主题帖追加一条新的回帖:某主题帖追加一条新的回帖:任务拓展任务拓展v某主题帖追加一条新的回帖:某主题帖追加一条新的回帖:v更新主题帖回帖数,回贴数更新主题帖回帖数,回贴数+1;v更新主题帖点击率,点击率更新主题帖点击率,点击率+1;v插入新的回帖记

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论