- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
7.3 数据库的并发控制 7.3.1 数据库并发控制的含义 7.3.2 事务 7.3.3 并发控制的必要性 7.3.4 基于封锁的并发控制技术 7.3.5 基于时间戳的并发控制技术 7.3.1 数据库并发控制的含义 数据库系统一般可分为单用户系统和多用户系统两种。在任何一个时刻只允许一个用户使用的数据库系统称为单用户数据库系统,允许多个用户同时使用的数据库系统称为多用户数据库系统。数据库的最大特点之一就是数据资源共享,因而多数数据库系统都是多用户系统,这样就会发生多个用户并发存取同一数据块的情况,如果对并发操作不加控制就可能产生不正确的数据,破坏数据库的完整性,并发控制就是解决这类问题,以保持数据库中数据的一致性。 7.3.2 事务 事务(Transaction)是一个逻辑工作单元,是指数据库系统中一组对数据的操作序列。一个事务可以是一条或一组SQL语句、或整个应用程序。在SQL语言中,定义事务的语句有以下三条: BEGIN TRANSACTION COMMIT ROLLBACK 7.3.2 事务 事务具备的以下几个基本特征又称为其应遵循的ACID准则: (1)原子性(Atomicity)。一个事务要么全部执行,要么全不执行,不允许仅完成部分事务。 (2)一致性(Consistency)。事务的正确执行应使数据库从一个一致性状态变为另一个一致性状态。数据一致性指数据应满足的约束条件。 (3)隔离性(Isolation)。多个事务的并发执行是独立的,在事务未结束前,其他事务不能存取该事务的中间结果数据。 (4)持久性(Durability)。事务提交后,系统应保证事务执行的结果可靠地存放在数据库中,不会因为故障而丢失。 7.3.3 并发控制的必要性 同一数据库系统中往往有多个事务并发执行,如果不进行控制,就会产生数据的不一致性。 1.丢失更新 2.脏读 3.不可重读 7.3.3 并发控制的必要性 举一个银行取款的例子。设存款余额R=1000元,甲事务T1取款200元,乙事务T2取款300元。T1包含三个操作:读取余额(READ R);计算余额(R=R-200);更新余额(UPEATE R)。T2也包含三个操作:读取余额(READ R);计算余额(R=R-300);更新余额(UPEATE R)。如果T1和T2顺序执行,最后的存款余额应该是500元。 接下来以此为例,对数据库并发操作导致数据不一致性的三种情况进行讨论。 7.3.3 并发控制的必要性 同一数据库系统中往往有多个事务并发执行,如果不进行控制,就会产生数据的不一致性。 1.丢失更新 2.脏读 3.不可重读 7.3.3 并发控制的必要性 1.丢失更新 当两个事务T1和T2读入同一数据,并发执行修改操作时,T2把T1或T1把T2的修改结果覆盖掉,造成了数据的丢失更新(Lost Update)问题,导致数据的不一致。这个问题是由于两个事务对同一数据并发地写入所引起的,又被称为写-写冲突(Write-wtite Conflict)。 在银行取款的例子中,如果T1和T2按表7-4所示顺序执行,最后得到错误结果R=700元,原因是在t7时刻丢失了T1对数据库的更新操作。 7.3.3 并发控制的必要性 7.3.3 并发控制的必要性 2.脏读 事务T2读取了T1更新后的数据R,其后T1由于某种原因撤销修改,数据R恢复原值,导致T2得到的数据与数据库的内容不一致,这种由于一个事务读取另一个更新事务尚未提交的数据引起的不一致问题,被称为脏读(Dirty Read),又被称为读-写冲突(Read-wtite Conflict)。 7.3.3 并发控制的必要性 7.3.3 并发控制的必要性 3.不可重读 事务T1读取数据R后,T2读取并且更新了R,当T1再次读取R时,得到的两次读取值不一致,这种现象被称为不可重读(Unrepeatable Read),它也是由于读-写冲突引起的。 在银行取款的例子中,如果T1和T2按表7-6所示顺序执行,则T1第一次读取的R值为1000,第二次读取的R值为700,二者值不一致。 7.3.3 并发控制的必要性 7.3.4 基于封锁的并发控制技术 基于封锁的并发控制思想是:事务对数据操作前必须获得对该数据的锁,完成操作后在适当时候释放锁,当得不到锁时事务将处于等待状态。 锁是数据项上的并发控制标志,它有两种类型:共享锁(Shared Lock,简称S锁)和排它锁(Exclusive Lock,简称X锁)。 1.封锁协议 系统
您可能关注的文档
- 中国石油大学(华东)中级财务会计课件 第十一章.ppt
- 中国石油大学(华东)中级财务会计课件 第十章.ppt
- 中国石油大学(华东)中级财务会计课件 第四章.ppt
- 中国石油大学(华东)中级财务会计课件 第五章.ppt
- 中国石油大学(华东)中级财务会计课件 第一章.ppt
- 中国协和医科大学神经病学课件 记忆障碍和痴呆.ppt
- 中国协和医科大学神经病学课件 脑梗死.ppt
- 中国协和医科大学神经病学课件 脑血管病巡诊.ppt
- 中国协和医科大学神经病学课件 缺血性卒中.ppt
- 中国协和医科大学神经病学课件 神经系统遗传性疾病.ppt
- 中南大学数据库技术与管理课件7.4 数据库的恢复.ppt
- 中南大学数据库技术与管理课件8.1 Oracle概述.ppt
- 中南大学数据库技术与管理课件8.2 Oracle体系结构.ppt
- 中南大学数据库技术与管理课件8.3 Oracle数据库基础.ppt
- 中南大学数据库技术与管理课件8.4 PL、SQL编程.ppt
- 中南大学数据库技术与管理课件8.5 Oracle常用对象.ppt
- 中南大学数据库技术与管理课件9.1 应用程序体系结构.ppt
- 中南大学数据库技术与管理课件9.2 PB基础.ppt
- 中南大学数据库技术与管理课件9.3 PB与数据库接口.ppt
- 中南大学数据库技术与管理课件9.4 PowerScript语言介绍.ppt
有哪些信誉好的足球投注网站
文档评论(0)