欢迎来到天天文库
浏览记录
ID:81927817
大小:882.00 KB
页数:14页
时间:2022-10-14
《5.2-事务管理》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
5.2事务管理
1了解在特定数据库应用处理中为什么需要事务机制理解数据库事务的ACID特性理解在数据库应用中为什么需要事务程序并发运行掌握SQL事务程序编写方法【本节学习目标】
2一、为什么需要事务管理在数据库应用系统中,完成一个业务处理通常需要多个操作步骤才能完成处理。在每个操作步骤中,都可能遭遇失败,若没有一个处理机制,就可能造成操作数据混乱,从而破坏数据一致性。二、事务概念在数据库中,事务(Transaction)是指由构成单个业务处理单元的一组数据库访问操作,要求它们要么都成功执行,要么都不执行。
3例客户在银行系统中,从账户A转账1000元到账户B,其业务操作流程如下:Read(A);A:=A-1000;Write(A);Read(B);B:=B+1000;Write(B)转账业务操作语句要求:转账业务处理程序(转账事务)的操作语句要么所有都正常执行,要么所有操作语句都不执行,以确保账户资金数据的正确状态。
4在数据库系统中,事务是DBMS执行的最小任务单元。同时,事务也是DBMS最小的故障恢复任务单元和并发控制任务单元。其生命周期状态变迁如图所示。三、事务状态
5四、事务特性事务ACID特性:原子性(Atomicity):事务所有操作在数据库中要么全部执行,要么全部不执行。一致性(Consistency):事务多次执行,其结果应一致。隔离性(Isolation):事务与事务之间隔离,并发执行透明。持续性(Durability):事务完成后,数据改变必须是永久的。为了确保数据库共享访问的数据正确性,要求DBMS的事务管理机制维护事务的ACID特性。
6五、事务并发执行事务并发执行原因:改善系统的资源利用率减少事务运行的平均等待时间事务并发执行是指多个事务程序在数据库系统中同一时段运行。
7六、事务SQL程序在关系数据库系统中,可以利用SQL语言提供的相应语句编写事务程序。BEGIN或STARTTRANSACTION;事务开始语句ROLLBACK;事务回滚语句COMMIT;事务提交语句SAVEPOINT;事务保存点语句1.事务SQL语句
82.事务SQL程序基本框架STARTTRANSACTION;SQL语句1;SQL语句2;…SQL语句n;COMMIT;STARTTRANSACTION;SQL语句1;SQL语句2;…SQL语句n;ROLLBACK;STARTTRANSACTION;SQL语句1;SQL语句2;…SAVEPOINT保存点名;…SQL语句n;ROLLBACK保存点名;
9例在选课管理数据库CurriculaDB中,使用事务程序实现对学院信息表College的数据插入,其事务SQL程序如下:STARTTRANSACTION;INSERTINTOcollege(collegeID,collegename)VALUES('004','外语学院');INSERTINTOcollege(collegeID,collegename)VALUES('005','数学学院');INSERTINTOcollege(collegeID,collegename)VALUES('006','临床医学院');COMMIT;
10运行按钮事务程序结果消息3.事务SQL程序执行
11创建数据库CREATEDATABASE修改数据库ALTERDATABASE删除数据库DROPDATABASE恢复数据库RESTOREDATABASE加载数据库LOADDATABASE备份日志文件BACKUPLOG恢复日志文件RESTORELOG授权操作GRANT。。。4.事务程序中不能使用的SQL语句
12若用户没有显式地定义事务时,DBMS按默认事务方式处理,即每执行一个SQL语句将自动构成一个事务。若将多条SQL语句定义为一个事务时,才使用专门的事务SQL语句显式地定义事务。七、DBMS默认事务方式
13本节学习结束!
此文档下载收益归作者所有
举报原因
联系方式
详细说明
内容无法转码请点击此处