- 6
- 0
- 约1.77万字
- 约 79页
- 2017-06-15 发布于北京
- 举报
问题背景 现实应用中,数据库的操作与操作之间往往具有一定的语义和关联性。数据库应用希望将这些有关联的操作当作一个逻辑工作单元看待,要么都执行,要么都不执行。 [例10.1] 飞机订票系统有两个表Sale和Flight,分别记录各售票点的售票数及全部航班的剩余票数: Sale(agentNo, flightNo, date, saledNumber) Flight(flightNo, date, remainNumber) 现有A0010售票点欲出售F005航班2008年8月8日机票2张。 问题背景 可编制如下程序: 查询F005航班2008年8月8日剩余票数A; (1) if (A2) 拒绝操作,并通知票源不足; else 更新A0010售票点的售票数; 更新F005航班的剩余票数; 问题背景 语句(2)是在当F005航班2008年8月8日的剩余票数大于请求票数时更新Sale和Flight表。该更新包括两个update操作: UPDATE Sale SET saledNumber=saledNumber+2 WHERE agentNo=‘A0010’ AND flightNo=‘F005’ AND date=‘2008-08-08’ UPDATE Flight SET remainNumber=remainNumber–2 WHERE flightNo=‘F005’ AND date=‘2008-08-08’ 问题背景 假设F005航班共有200个座位,2008年8月8日机票已售198张(其中被A0010售出20张),余票2张。 当第1个UPDATE语句执行成功时,即A0010已售票数更新为22。当系统发生故障重新提供服务时,如果又有售票点请求出售F005航班2008年8月8日机票2张,由于F005的剩余票数未更新(仍为2),因此满足其要求又出售了2张。 结果多卖了2张票! 问题背景 为解决上述问题,数据库管理系统引入了事务概念,它将这些有内在联系的操作当作一个逻辑单元看待,并采取相应策略保证一个逻辑单元内的全部操作要么都执行成功,要么都不执行。 对数据库用户而言,只需将具有完整逻辑意义的一组操作正确地定义在一个事务之内即可。 事务概念 对于用户而言,事务是具有完整逻辑意义的数据库操作序列的集合。 对于数据库管理系统而言,事务则是一个读写操作序列。这些操作是一个不可分割的逻辑工作单元,要么都做,要么都不做。 事务是数据库管理系统中竞争资源、并发控制和恢复的基本单元。 它是由数据库操作语言(如SQL)或高级编程语言(如Java、C、C++)提供的事务开始语句、事务结束语句以及由它们包含的全部数据库操作语句组成。 事务结束语句 事务结束的两种类型: 事务提交(commit):将成功完成事务的执行结果(即更新)永久化,并释放事务占有的全部资源。 事务回滚(rollback):中止当前事务、撤销其对数据库所做的更新,并释放事务占有的全部资源。 SQL Server事务模式 SQL Server数据库提供了三种类型的事务模式: 显式事务是指用户使用Transact-SQL事务语句所定义的事务,其事务语句包括: 事务开始:BEGIN TRANSACTION 事务提交:COMMIT TRANSACTION,COMMIT WORK 事务回滚:ROLLBACK TRANSACTION,ROLLBACK WORK 隐式事务是指事务提交或回滚后,系统自动开始新的事务。该类事务不需要采用BEGIN TRANSACTION语句标识事务的开始。 自动定义事务:当一个语句成功执行后,它被自动提交,而当执行过程中出错时,则被自动回滚。 SQL Server事务定义举例 [例10.2] 利用SQL Server提供的显式事务模式定义例10.1中的数据库更新事务。 BEGIN TRANSACTION UPDATE Sale SET saledNumber=saledNumber+2 WHERE agentNo=‘A0010’ AND flightNo=‘F005’ AND date=‘2008-08-08’ UPDATE Flight
您可能关注的文档
- 计算机图形学 第6章 开窗口与二维裁剪.ppt
- 在WPS中如何自动生成目录与相关细节设置.doc
- 4 荷载计算与计算简图.doc
- 第十三章 内容网络服务节点部署理论综述.pdf
- 第三章 握手及打招呼.ppt
- 电网低频振荡的类型判别与扰动源定位关键技术研究_王衡.pdf
- 第1篇VC++程序设计讲课课件.ppt
- 第6章 函数和编译预处理.ppt
- 一种遥控潜水器控制系统的研究和应用.pdf
- c++9--群体类及群体数据的组织.ppt
- 广东省广州省实验中学教育集团2025-2026学年八年级上学期期中考试物理试题(解析版).docx
- 广东省广州大学附属中学2025-2026学年八年级上学期奥班期中物理试题(解析版).docx
- 广东省广州市第八十六中学2025-2026学年八年级上学期期中物理试题(含答案).docx
- 广东省广州市第八十九中学2025-2026学年八年级上学期期中考试物理试题(解析版).docx
- 广东省广州市第二中学2025-2026学年八年级上学期期中考试物理试题(含答案).docx
- 广东省广州市第八十六中学2025-2026学年八年级上学期期中物理试题(解析版).docx
- 广东省广州市第八十九中学2025-2026学年八年级上学期期中考试物理试题(含答案).docx
- 广东省广州市第二中学2025-2026学年八年级上学期期中考试物理试题(解析版).docx
- 2026《中国人寿上海分公司营销员培训体系优化研究》18000字.docx
- 《生物探究性实验教学》中小学教师资格模拟试题.docx
最近下载
- 电商数据分析(微课版)课件全套 第1--10章 电商数据分析概述---数据分析报告与看板制作.pptx
- 异常子宫出血的护理查房.pptx
- 2025年中医执业医师个人工作计划范文.docx VIP
- 2024《中班幼儿饮食行为现状调查—以S幼儿园为例》12000字.docx VIP
- 2025年美容美发十年行业数据洞察报告.docx
- 护理交接班制度.pptx VIP
- 初中电学总复习初中电学总复习.doc VIP
- 北京邮电大学《机器学习》2023-2024学年期末试卷.doc VIP
- 照顾老人保姆合同范本10篇.docx VIP
- 2024年锡林郭勒职业学院单招职业倾向性考试题库必考题.docx VIP
原创力文档

文档评论(0)