




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、12345用户用户1发现座位空发现座位空 用户用户2发现座位空发现座位空 用户用户1占用占用 用户用户2占用占用 不同用户占用同一座位不同用户占用同一座位 不同用户在不同售票点按上述不同用户在不同售票点按上述2个步骤购票个步骤购票67891011121314控制事务15控制事务16控制事务17控制事务18控制事务19控制事务20控制事务2122232425262728T1: read(A); A := A 50; write(A); read(B); B := B + 50; write(B);T2: read(A); temp := A0.1 A := A temp; write(A); r
2、ead(B); B := B + temp; write(B);从A过户50¥到B从A过户存款的10%到B开始状态:A=1000¥B=2000¥A+B=3000¥29 read(A); A := A 50; write(A); read(B); B := B + 50; write(B); read(A); temp := A0.1 A := A temp; write(A); read(B); B := B + temp; write(B);T1T2A=950¥B=2050¥结束状态:A=855¥B=2145¥A+B=3000¥串串行行调调度度1 130 read(A); A := A 50
3、; write(A); read(B); B := B + 50; write(B); read(A); temp := A0.1 A := A temp; write(A); read(B); B := B + temp; write(B);T1T2A=900¥B=2100¥结束状态:A=850¥B=2150¥A+B=3000¥串串行行调调度度2 23132 read(A); A := A 50; write(A); read(B); B := B + temp; write(B);T1T2A=950¥B=2000¥结束状态:A=855¥B=2145¥A+B=3000¥ read(B); B
4、 := B + 50; write(B); read(A); temp := A0.1 A := A temp; write(A); A=855¥B=2000¥A=855¥B=2050¥并并行行调调度度333 read(A); A := A 50; B := B + temp; write(B);T1T2A=1000¥B=2000¥结束状态:A=950¥B=2100¥A+B=3050¥ write(A); read(B); B := B + 50; write(B); read(A); temp := A0.1 A := A temp; write(A); read(B); A=900¥B=2
5、000¥A=950¥B=2000¥A=950¥B=2050¥并并行行调调度度434353637383940读脏数据有时出问题,有时无关紧要读脏数据有时出问题,有时无关紧要例例1:以下述步骤进行账户转移:以下述步骤进行账户转移 1. 将钱加到账户将钱加到账户2 2. 检测账户检测账户1是否有足够的钱是否有足够的钱 没有:从账户没有:从账户2减去此金额减去此金额 (相当于回滚相当于回滚) 有:有: 从账户从账户1减去此金额减去此金额 假设有可能读脏数据假设有可能读脏数据。 账户:账户:A1($100) A2 ($200) A3($300) T1 $150 T2 $25041 可能的执行顺序:可能的
6、执行顺序:T2 将将$250 加到加到A3;A3有有$550T1 将将$150 加到加到A2;A2有有$350T2测试,测试,A2有足够金额(有足够金额($350,脏数据脏数据);允许转账);允许转账T1测试,测试,A1没有足够金额(没有足够金额($100););不允许转账不允许转账T2:从:从A2减去减去$250 A2有有$100 结束结束T1:从:从A2减去减去$150 A2有有-$50 结束(结束(T1回滚回滚)4242例例2:座位选择新方法:座位选择新方法Step1. 发现有效座位,设置发现有效座位,设置seatStatus=occupied 占用占用 无有效座位,夭折。无有效座位,夭
7、折。Step2. 问顾客是否要此座位问顾客是否要此座位, 要,提交。要,提交。 不要,不要,设置设置seatStatus=available , 重复步骤重复步骤1,再选。,再选。 4343假设可能读脏数据,可能的事务执行顺序:假设可能读脏数据,可能的事务执行顺序:T2只是因读脏数据,失去选喜欢的座位的机会只是因读脏数据,失去选喜欢的座位的机会T1 顾客放弃座位顾客放弃座位1 seatStatus=availableT2 发现座位发现座位1占用占用 不能选不能选T1 设置设置seatStatus=occupied 占用座位占用座位14444#当读脏数据无关紧要时,允许读脏数据可以避免当读脏数据
8、无关紧要时,允许读脏数据可以避免 1. DBMS用来预防读脏数据所做的费时的工作用来预防读脏数据所做的费时的工作 2. 因等待而未去读脏数据造成的并发性的丢失因等待而未去读脏数据造成的并发性的丢失#允许明确指定一个给定的事务允许明确指定一个给定的事务可以读脏数据可以读脏数据 ISOLATION LEVEL READ UNCOMMITED4546474849505152事务1:事务2:535455565758隔离级别隔离级别脏脏 读读不可重复读不可重复读幻幻 读读未提交读未提交读是是是是是是提交读提交读否否是是是是可重复读可重复读否否否否是是可串行读可串行读否否否否否否59四种隔离级别四种隔离级
9、别 读未提交读未提交 READ UNCOMMITED 读提交读提交 READ COMMITED 可重复读可重复读 REPEATABLE READ 可串行化可串行化 SERIALIZABLE 默认默认606162636465其他属性分量其他属性分量上只能接受缺上只能接受缺省值或省值或NULL6667686970717273747576777879808182JanawaySELECT on Movie*JanawayINSERT on Studio*JanawayINSERT on Movie*JanawaySELECT on Studio*KirkSELECT on Studio*KirkIN
10、SERTon Studio*PicardSELECT on Studio*PicardINSERTon Studio*KirkSELECT on Movie*PicardSELECT on Movie*SiskoSELECT on StudioSiskoINSERTon StudioSiskoSELECT on MovieSiskoINSERT(name) on Studio83848586JanawaySELECT on Movie*JanawayINSERT on Studio*JanawayINSERT on Movie*JanawaySELECT on Studio*KirkSELECT on Studio*KirkINSERTon Studio*PicardSELECT on Studio*PicardINSERTon Studio*KirkSELECT on Movie*
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 企业结构调整建议3篇
- 农田耕作劳务承包合同3篇
- 人力入股合伙人协议模板3篇
- 库存控制策略劳动合同模板3篇
- 房产租赁逾期付款的纠纷解决3篇
- 女婿赡养岳父岳母协议书3篇
- 出庭授权委托书格式模板设计3篇
- 天津房屋买卖合同精要解读3篇
- 员工合规承诺保证书的创新特点3篇
- 保险业务系统开发贷款合同3篇
- 2025购销合同(电子产品)范文
- 基于全生命周期的绿色建筑成本影响因素研究
- 2025年普法知识竞赛题库及答案(共80题)
- 心力衰竭护理查房 课件
- 【课时练基础作业】人教版四年级数学下册第四单元《期中计算能力测试》(含答案)
- 树木修剪合同协议
- 2025年兰州市九年级诊断考试(一诊)物理试卷
- 2024年4月27日福建省事业单位《综合基础知识》真题及答案
- 农民工工资专用账户管理制度
- 药物治疗管理MTM
- 初级培训机器人的机械系统
评论
0/150
提交评论