任务九 学生选课管理数据库的事务处理.pptx

任务九 学生选课管理数据库的事务处理.pptx

  1. 1、本文档共34页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
任务九 学生选课管理数据库的事务处理

任务九 学生选课管理数据库的事务处理 【情境描述】 学院对系部编号进行调整,需要修改机电系的系部编号,在系部信息表中对机电系系部编号进行修改,为了保持数据的一致性,还需要修改班级信息表、教研室信息表、专业信息表中的机电系系部编号。如果在执行完第一条UPDATE修改语句后,计算机突然出现故障,无法再继续执行第二条UPDATE修改语句,此时必须撤销第一条UPDATE语句,否则数据库中的数据永远处于不一致的状态。完成这个操作任务需要事务,把两条语句放到一个事务里面,提交事务后,这两条UPDATE语句要么都执行,要么都不执行(一条没有执行,另一条已经执行的就撤销操作)。 【任务分解】 从上述的情境描述中可见,事务保证了数据的一致性、完整性和安全性。本单元主要介绍事务的概念、特性、分类和显示事务、隐式事务的处理方法,完成学生选课管理数据库的事务处理,对该任务进行分解,共包括以下2个子任务: 学生选课管理数据库的显示事务处理 学生选课管理数据库的隐式事务处理 任务九 学生选课管理数据库的事务处理 【知识目标】 理解事务的概念、特性 掌握不同模式的事务的处理方法 【能力目标】 能够正确应用显示事务及隐式事务解决项目的实际问题 任务九 学生选课管理数据库的事务处理 子任务9.1 学生选课管理数据库的显示事务处理 9.1.1 事务概述 事务是单个的工作单元。如果某一事务成功,则在该事务中进行的所有数据修改均会提交,成为数据库中的永久组成部分。如果遇到错误,则必须取消或回滚,所有的数据修改全部清除。典型的事务实例是两个银行之间的转账,账号A转出10000元到账号B,这笔转账业务分解为两部分:一是账号A减去10000元;二是账号B增加10000元。这两项操作要么同时成功(转账成功),要么同时失败(转账失败)。若只有一项成功,那么应该撤销所有的操作(回滚事务),就好像什么也没发生。 子任务9.1 学生选课管理数据库的显示事务处理 1.事务的特性 事务有四个特性(ACID)即原子性(A)、一致性(C)、隔离性(I) 和持久性(D)。 原子性:事务必须是原子工作单元,对于其数据修改,要么全都执行, 要么全都不执行。 一致性:事务在完成时,必须使所有的数据都保持一致状态。在相关数 据库中,所有规则都必须应用于事务的修改,以保持所有数据的完整性 。事务结束时,所有的内部数据结构都必须是正确的。 隔离性:由并发事务所作的修改必须与任何其他并发事务所作的修改隔 离。事务识别数据时数据所处的状态,要么是另一并发事务修改它之前 的状态,要么是第二个事务修改它之后的状态,而不能查看中间状态的 数据。 持久性:事务完成后对系统的影响是永久性的。 待删除的文件夹必须为空 子任务9.1 学生选课管理数据库的显示事务处理 2.事务的分类 根据运行模式,SQL Server将事务分为4种类型:自动提交事务、显式事务、隐式事务和批处理级事务。 自动提交事务:这是SQL Server的默认模式,它将单独的语句视为一个事务,如果成功执行则自动提交,如果执行的时候出现错误则自动回滚。 显式事务:显式地定义和结束的事务,又称为用户定义事务。每个事务均以BEGIN TRANSACTION语句显式开始,以COMMIT或ROLLBACK语句显式结束。 隐式事务:通过设置SET IMPLICIT_TRANSACTIONS ON语句,将隐性事务模式设置打开,当以隐式事务操作时,SQL Server将在提交或回滚事务后,自动启动新事务,不需要描述事务的开始,但每个事务仍以COMMIT(提交)或ROLLBACK(回滚)语句显式完成。 批处理级事务:只能应用于多个活动结果集(MARS),在MARS会话中启动的Transact-SQL显式或隐式事务变为批处理级事务。当批处理完成时没有提交或回滚的批处理级事务自动由SQL Server进行回滚。 子任务9.1 学生选课管理数据库的显示事务处理 9.1.2 显示事务处理语句 1.BEGIN TRANSACTION BEGIN TRANSACTION语句标记一个显式本地事务的起始点 。 语法格式如下: BEGIN { TRAN | TRANSACTION } 事务名 参数说明: 事务名:命名时应遵循标识符规则,但是不允许标识符多于32 个字符。 子任务9.1 学生选课管理数据库的显示事务处理 2.COMMIT TRANSACTION COMMIT TRANSACTION标志一个成功的隐式事务或显式事务的完成。 语法格式如下: COMMIT { TRAN | TRANSACTION } 事务名 3.ROL

文档评论(0)

1444168621 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档