第08章 事务管理

第08章 事务管理

ID:45135236

大小:738.00 KB

页数:94页

时间:2019-11-10

第08章 事务管理_第1页
第08章 事务管理_第2页
第08章 事务管理_第3页
第08章 事务管理_第4页
第08章 事务管理_第5页
资源描述:

《第08章 事务管理》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、复习安全管理用户类别用户管理权限管理授权收回权限拒绝权限数据库管理系统DBMS除了具有安全控制功能,还应该具有哪些控制功能?DB的概念:数据库是相互关联的数据的集合,它用综合的方法组织数据,具有较小的数据冗余,可供多个用户共享,具有较高的数据独立性,具有安全控制机制,能够保证数据的安全、可靠,允许并发地使用数据库,能有效、及时地处理数据,并能保证数据的一致性和完整性。第8章事务管理事务并发控制恢复授课内容:事务;并发控制教学目的:理解事务的概念、性质;掌握并发事务产生干扰的原因、干扰的种类;掌握干扰的解决办法:封锁技术;了解死锁的产生原因、避免方法、发现和

2、解决死锁的方法;了解可串行性规则;了解封锁粒度的概念及封锁粒度与并发度的关系;了解意向锁技术。教学重点:事务的概念、性质;并发控制的干扰问题;解决干扰的封锁技术。教学难点:封锁技术;意向锁;可串行性规则。事务(transaction)为什么需要事务事务的概念事务的性质SQL对事务的支持为什么需要事务数据库在使用过程中可能发生故障,故障导致数据丢失甚至毁坏,因此需要恢复数据。恢复技术50000-30005000050000+5000多用户数据库在使用时,可能会出现多个用户同时操作同一数据库的同一数据,可能会出现干扰,以至存取不正确的数据。因此,需要避免干扰。

3、并发控制技术为什么需要事务事务的概念事务是用户定义的一个数据操作序列,是构成单一逻辑工作单元的操作集合,这些操作要么全部不做,要么全部做,是一个不可分割的工作单位。例:如果某公司在银行中有A、B两个帐号,现在公司想将帐户A中的款项1万元转到帐户B中。操作需分两步:A=A-1万元B=B+1万元事务的性质原子性(Atomicity)一致性(Consistency)隔离性(Isolation)持久性(Durability)事务的这些性质通常称为ACID特性,这些特性就是通过并发控制机制和数据恢复机制来保证的。原子性事务的原子性强调了一个事务是一个逻辑工作单元,是

4、一个整体,是不可分割的。一个事务所包含的操作要么全部做,要么全部不做。保证事务的原子性是数据库恢复机制的责任。例:将帐户A中的款项1万元转到帐户B中。事务分两步:A=A-1万元B=B+1万元一致性一致性状态是指它所反映的现实世界情况是正确和真实的。一个事务执行一项数据库操作,事务将使数据库从一种一致性的状态变换成另一种一致性状态。例:将帐户A中的款项1万元转到帐户B中。事务分两步:A=A-1万元B=B+1万元隔离性一个事务的执行不能被其他事务干扰。即一个事务内部的操作及使用的数据对其他并发事务是隔离的,并发执行的各个事务之间不能互相干扰。通俗地讲,就是系统

5、应该保证执行结果与这些事务按先后次序串行执行的结果一样。5000050000-30005000050000+5000通过并发控制实现持久性事务的持久性是指一旦事务成功完成,他的效果就不会因任何故障而被取消。由数据恢复完成例:将帐户A中的款项S转到帐户B中。事务分两步:A=A-1万元B=B+1万元SQL对事务的支持开始事务(BEGINTRANSACTION)结束事务(COMMIT/ROLLBACK)例1:有一个事务:向仓库关系中插入一个元组。例2:有一个事务,更新订单明细关系中的订单号为OR001的订单数量为200,随后发现更新错误,取消更新。Begintr

6、ansactionupdate订单明细set数量=200where订单号='OR001'RollbackBegintransactionInsertinto仓库(仓库号,城市,面积)values('WH7','北京',300)Commit并发控制干扰问题解决干扰——封锁封锁不当——死锁并发控制的正确性准则——可串行性两阶段封锁协议封锁粒度意向锁事务的隔离级别封锁与隔离级别干扰问题丢失更新问题未提交依赖问题不一致分析问题幻象读问题问题的解决丢失更新问题总的效果:15日13次7车厢5号下铺的软卧票卖了两次。其原因是:允许了用户B在过时的信息基础上去更新数据库,

7、而没有迫使他去看最新的信息。旅客A来到A售票处,要买一张15日北京到上海的13次直达快速列车的软卧车票,售票员A(下称用户A)在终端A查看剩余票信息;这时用户B不知道用户A已经将15日13次7车厢5号下铺的软卧票卖出,使旅客B也买了一张15日13次7车厢5号下铺的软卧票,用户B更新剩余票信息并将它存入数据库(重复了用户A已经做过的更新)。旅客A买了一张15日13次7车厢5号下铺的软卧票,用户A更新剩余票信息并将它存入数据库;几乎在同时,旅客B来到B售票处,也要买一张15日北京到上海的13次直达快速列车的软卧车票,售票员B(下称用户B)从终端B查到了同样的剩

8、余票信息;用户B(售票窗口B)用户A(售票窗口A)t1t2t3t4

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。