欢迎来到天天文库
浏览记录
ID:45035921
大小:540.00 KB
页数:12页
时间:2019-11-08
《7第七章-第1节-事务》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、第7章数据库保护技术数据库原理及应用主讲人:韦素媛1教学内容7.1事务7.2数据库的安全性7.3数据库的完整性7.4数据库恢复7.5并发控制27.1事务3主要内容事务的基本概念事务的ACID性质4一、事务的基本概念形成一个逻辑工作单位的数据库操作集合,称为“事务”transaction①不可分割的SQL语句序列②事务可以是隐含的,也可以是显式定义的在SQL中,事务通常以BEGINTRANSACTION显式开始,以COMMIT或ROLLBACK显式结束。③DBS的主要任务是执行“事务”5二、事务的ACID性质1、原子性Atomicity一个事务
2、中所有对数据库的操作,是一个不可分割的操作序列。这些操作要么全部执行,要么什么也不做。实现:DBMS的事务管理子系统6二、事务的ACID性质2、一致性Consistency一个事务独立执行的结果,将保持数据库的一致性,即数据不会因事务的执行而遭受破坏,数据库只包含成功事务提交的结果,不包含尚未完成就被迫中断的事务提交的结果。实现:由编写事务程序的应用程序员完成,或由系统测试完整性约束自动完成7二、事务的ACID性质3、隔离性Isolation一个事务的执行不能被其他事务干扰,它的内部的操作及使用的数据对其它并发事务是隔离的,这样,并发执行的各
3、个事务之间不能相互干扰,如同在单用户环境下执行一样。实现:DBMS的并发控制子系统8二、事务的ACID性质4、持久性Durability一个事务一旦完成全部操作后,提交结果,它对数据库的所有改变应永久地反映在数据库中。即使以后系统发生故障,也应保留这个事务执行的结果。实现:DBMS的恢复管理子系统9二、事务的ACID性质例设银行数据库中有一转账事务Ti,从账号A转一笔款子($50)到账号B,其操作如下:Ti:read(A);A:=A-50;write(A);read(B);B:=B+50;write(B).10二、事务的ACID性质例设银行数
4、据库中有一转账事务,从甲方账号转帐到乙方账号,事务定义如下:BEGINTRANSACTION读甲方帐户的余额BALANCE;BALANCE=BALANCE-AMOUNT;/*AMOUNT表示转帐金额数量*/写甲方帐户新余额BALANCE;IF(BALANCE<0)THEN{ROLLBACKTRANSACTION;/*撤消刚才的更新操作,事务结束*/打印“金额不足,不能转帐”;}11二、事务的ACID性质ELSE{读乙方帐户的余额BALANCE1;BALANCE1=BALANCE1+AMOUNT;写乙方帐户新余额BALANCE1;COMMITT
5、RANSACTION;/*提交上面的两次更新操作,事务结束*/打印“转帐完成”;}ENDIF;END;12
此文档下载收益归作者所有