国防科大数据库第八章:事务管理(1)
更新时间:2023-07-23 02:06:01 阅读量: 实用文档 文档下载
- 国防科大八院推荐度:
- 相关推荐
本讲(第八章)简要说明
授课目的与要求:掌握事务管理的有关概念以及并发控制的必要性及控制方法。
授课重点:事务的特性、串行化调度、两段封锁、基于时标的并发控制。授课难点:串行化调度、两段封锁。作业安排:p263 3,4,6,15,16
第八章事务管理
两个以上查询试图修改同一数据项
帐号
借款
贷款
余额
…..
1394567
1000
甲:读余额1000;取款800;写余额200。
乙:读余额1000;取款500;写余额500。
第八章事务管理
两个以上查询企图试图修改同一数据项系统在执行查询期间出现故障
只读查询与修改查询
为此,引入“事务”这一术语,它在数据库领域中被作为一致性和可靠性计算的基本单位。
1.数据库的一致性
假如一个数据库满足其上规定的所有一致性(完整性)约束,那么我们称此数据库处于一致性状态。注意:数据库可以在事务执行过程中出现暂时的不一致现象。重要的是数据库应该在事务终止后,处于一致性状态。数据库处于一致状态数据库可能暂时处于不一致状态数据库处于一致状态
事务开始
事务T执行
事务终止
2.可靠性
一个系统承受各种类型故障的弹性和恢复系统的能力。
一个有弹性的系统能够容忍系统故障,甚至在发生故障时能继续提供服务。
一个可恢复的DBMS能够在系统发生各种失败后,回到一致性的状态。3.事务管理
负责使数据库始终保持一致性状态,甚至在有并发访问和错误发生时。
Concurrency ControlT1 T2… Tn
DB (consistency constraints)
8.1 事务管理的基本概念
1. 什么是事务
直观来说,事务要在数据库上完成动作,引起状态转移,生成数据库的一个新版本。
一般来说,一个事务可以看作是由对数据库的读写操作与计算步骤一起构成的序列。 嵌入了数据库访问的程序 显示说明的一个事务 单个或多个SQL语句的集合
例1 DATABASE(C3)课程的成绩普遍增加10%.UPDATE SC
SET GRADE= GRADE*1.1WHERE C-NO = “C3”
这一查询交户执行就是一个事务,也可以由嵌入式SQL表示,并通过指定名字和作出如下说明使其成为一个事务。
Begin_transaction GRADE_UPDATEBegin
EXEC SQL UPDATE SC
SET GRADE = GRADE*1.1WHERE C-NO = “C3”
End
例2 假设有一个航空订票数据库系统,关系FLIGHT记录了每次航班的有关数据,关系CUST记录了预定航班的所有顾客的信息,关系FC记录了哪个顾客预定了哪一次航班的信息。这些关系的定义如下:(有下划线的属性构成关键字)
FLIGHT CUST FC 航班号,日期;SRC,DEST----起点,终点。STSOLD----已售座位个数;
CAP----旅客容量。
旅客姓名;ADDR----地址;BAL----资金差额。SPECIAL----旅客订票的特殊要求。
我们考虑一种简化的典型的订票情况:订票代办处输入航班号,起飞日期以及订票的顾客姓名,向航空公司订票。
完成此功能的事务实现如下(嵌入式SQL语言):
Begin_transaction ReservationBegin
input(flight_no, date, customer_name); (1)EXEC SQL UPDATE FLIGHT (2)
SET STSOLD = STSOLD+1WHERE FNO = flight_noAND DATE = date;
EXEC SQL INSERT (3)
INTO FC(FNO,DATE,CNAME,SPECIAL)VALUES(flight_no, date, customer_name, null);output(“reservation completed”) (4) End.
考虑可能没有座位的情况,航空订票事务修改如下:Begin_transaction Reservation begin input (flight_no, date, customer_name); EXEC SQL SELECT STSOLD, CAP FOR UPDATE INTO temp1, temp2 FROM FLIGHT WHERE FNO= flight_no AND DATE=date; if temp1= temp2 then begin output (“no free seats”); abort end
else begin EXEC SQL UPDATE FLIGHT SET STSOLD= STSOLD+ 1 WHERE FNO= flight_no AND DATE= date; EXEC SQL INSERT INTO FC(FNO,DATE,CNAME,SPECIAL) VALUES(flight_no,date,customer_name,null); commit; output (“reservation completed”) end end-if End.
2.基本操作与状态
8.1事务管理的基本概念
1)事务开始:开始执行。 2)事务读写:进行数据库操作。 3)事务结束:完成所有操作。 4)事务交付:完成所有操作,并保存所有结果。 5)事务撤消:执行途中出现异常,系统或用户撤消事务。交付活跃撤消读写操作事务的起点撤消终止事务的终点交付
事务开始
UPDATE DELETE COMMIT INSERT CREATE INSERT… Log off
T1 T2 T3 T4
3. 系统赋予事务的特性
1)原子性(Atomicity):事务的所有操作或全部完成,或全部不作。原子性在于保证正确性。如银行转帐,取款机。
2)一致性(Consistency),可串性(Serializability):多个事务并发执行与它们的某一串行执行的结果等价。
3)隔离性(Isolation):任何事务不能访问到其他未交付事务的中间结果,防止多米诺效应。
4)持久性(Durability):保证已交付事务的结果不丢失,且与以后的故障无关。
DBMS用并发控制机制维持可串性、隔离性,用恢复机制维持原子性持久性
1) Atomicity
事务的原子性要求:假如事务的执行被任何故障打断,DBMS要决定如何处理事务的故障恢复。一般有两类故障。一类是事务本身可能的故障,由于输入数据的错误,死锁或其它因素产生失败。此时保持事务的原子性称为事务恢复。另一类是系统崩溃,如:介质故障,处理机故障,通信链路断开,断电等。这种情况下保持事务的原子性称为崩溃恢复。
这两种故障的区别是,在发生系统崩溃期间,易失性存储器(内存)中的信息可能会丢失或不能访问。
2) Consistency
事务的一致性就是它的正确性。
换一句话说,事务是将数据库的一个一致性状态转化到另一个一致性状态的正确程序。
事务的一致性不仅是语义数据控制(完整性约束)的重点,也是并发控制机制的目标。
例3 考虑以下两个并发事务(T1和T2),它们都要访问数据项x。假设x 的值在它们执行之前为50。T1:
Read(x) x ←x + 1Write(x)Commit
T2:
Read(x)x ←x + 1Write(x)Commit
8.1事务管理的基本概念
Storage hierarchyX
x Memory Memory
x Disk
The space of disk blocks The virtual or main memory address space The local address space of the transaction
Input (x): block with x →memoryOutput (x): block with x →disk
Read (x,t): do input(x)if necessary
t ←value of x in block
Write (x,t): do input(x)if necessary
value of x in block ←t
正在阅读:
国防科大数据库第八章:事务管理(1)07-23
长江上海段船舶定线制规定(发布稿)04-19
十几减几教学反思二篇04-13
建筑企业经营与管理305-27
教科版小学科学二年级上册优质教案:1.4《观察月相》 - 图文04-18
江西师大附中2010届上学期高三期中考试试卷 - -理科数学01-17
黑龙江省2010年专升本考试试题分析(包括英语、高数、数据结构)考试原题10-17
2013年企业奖学金评定实施方案11-25
赚美元JBP注册详细教程08-07
- 教学能力大赛决赛获奖-教学实施报告-(完整图文版)
- 互联网+数据中心行业分析报告
- 2017上海杨浦区高三一模数学试题及答案
- 招商部差旅接待管理制度(4-25)
- 学生游玩安全注意事项
- 学生信息管理系统(文档模板供参考)
- 叉车门架有限元分析及系统设计
- 2014帮助残疾人志愿者服务情况记录
- 叶绿体中色素的提取和分离实验
- 中国食物成分表2020年最新权威完整改进版
- 推动国土资源领域生态文明建设
- 给水管道冲洗和消毒记录
- 计算机软件专业自我评价
- 高中数学必修1-5知识点归纳
- 2018-2022年中国第五代移动通信技术(5G)产业深度分析及发展前景研究报告发展趋势(目录)
- 生产车间巡查制度
- 2018版中国光热发电行业深度研究报告目录
- (通用)2019年中考数学总复习 第一章 第四节 数的开方与二次根式课件
- 2017_2018学年高中语文第二单元第4课说数课件粤教版
- 上市新药Lumateperone(卢美哌隆)合成检索总结报告
- 国防科大
- 事务管理
- 数据库
- 2.3.1平面向量基本定理
- 智能立体停车库系统设计与应用研究
- C网用户感知提升方案
- 广州娃哈哈机房群控方案
- 小学科学苏教版四年级上册《22 热的传递》练习
- 2010年6月大学生党课培训班思想汇报5篇作者
- 避雷器参数及选型原则
- 无线传感网络和体系结构介绍
- 1 什么是水的pH值?它有什么意义?
- 2011年工作总结暨2012年工作安排(改)
- 数学史概论复习题及参考答案
- 生物化学名词解释
- 电力工程课程设计说明书
- 关于山区公路水毁成因及防治问题的研究与思考
- 幼儿园学前三班班主任工作计划1
- 高一语文必修三字词
- 高层建筑顺风向风振动力反应时程分析
- 初三历史第一学期复习题
- 第十章 食品安全控制关键技术在生产中的应用实例
- 高一下专题三第一单元第一节天然气的利用 甲烷lu