- 1、本文档共47页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第5章 事务和锁 本章的学习目标 掌握事务的基本概念及几个基本特性 掌握事务的工作原理并了解事务的类型 掌握事务回滚机制以及使用事务的考虑事项 掌握锁的基本概念及没有锁机制带来的几类问题 了解锁的空间及锁的分类和锁的分类及隔离级别 掌握如何在SQL Sever中查看数据库中的锁 了解锁在应用程序中的应用 教学重点 事务的工作原理 事务回滚机制 锁及锁机制 5.1事务(Transaction) SQL Server通过支持事务机制管理多个事务,保证事务的一致性。 事务(Transaction)是一种机制,是一个操作序列,它包含了一组数据库操作命令,所有的命令作为一个整体一起向系统提交或撤消操作请求,即要么都执行,要么都不执行,因此,事务是一个不可分割的工作逻辑单元 如何定义事务 BEGIN TRANSACTION … COMMIT ROLLBACK 如何定义事务 事务通常BEGIN TRANSACTION 命令来标识一个事务的开始 而用COMMIT TRANSACTION 命令标识事务结束 结束事务的方法 两种方法可以结束事务: 1. Commit(提交)。如果所有的操作都完成了的话,可以结束事务,可以向系统对事物进行提交,提交之后,所有的修改都会生效了,在没有提交之前,所有的修改都可以作废的。 2. Rollback(回滚)。回滚会结束当前事务,并且放弃自事务开始以来所有的操作,回到事务开始的状态。 5.1.3事务的特性 1. 原子性(Atomicity) 2.一致性(Consistency) 3. 隔离性(Isolation) 4. 持久性(Durability) 1. 原子性(Atomicity) 原子性——不可分割性,这里是指事务作为数据库的一个逻辑工作单位,对其的操作要么执行全部数据的修改,要么全部数据的修改都不执行。 2.一致性(Consistency) 一致性是指当事务完成时,必须使所有数据都具有一致的状态。事务执行的结果必然是把数据库从一个一致性状态过渡到另一个一致性状态。 因此当数据库只包含成功事务提交的结果时,就说数据库处于一致性状态。 3. 隔离性(Isolation) 隔离性是指由并发事务所作的修改必须与任何其它并发事务所作的修改隔离。事务查看数据时数据所处的状态,要么是另一并发事务修改它之前的状态,要么是另一事务修改它之后的状态,事务不会查看中间状态的数据,这也称为可串行性。 4. 持久性(Durability) 持久性是指当一个事务完成之后,它的影响永久性的产生在系统中,也就是这种修改写到了数据库中。 一旦一个事务被提交后,它就一直处于已提交的状态。数据库产品必须保证,即使存放数据的驱动器损坏了,它也能将数据恢复到硬盘驱动器损坏之前,最后一个事务提交时的瞬间状态。 5.1.4 事务的工作原理 事务的工作原理如图所示: 事务恢复和检查点示例图 5.1.5事务的类型 一种是系统提供的事务 另一种是用户定义的事务。 5.1.6 事务回滚(Transaction Rollback) 事务回滚(Transaction Rollback)是指当事务运行过程中发生了某种故障,事务不能继续执行,系统将事务中对数据库的所有已经完成的操作全部撤销,滚回到事务开始的状态。 这里事务的操作是指对数据库的更新操作。 如何定事务回滚 事务回滚使用 ROLLBACK TRANSACTION 命令 其语法如下: ROLLBACK TRAN[SACTION] [transaction_name | @tran_name_variable| savepoint_name | @savepoint_variable] ] 其中 savepoint_name 和@savepoint_variable 参数用于指定回滚到某一指定位置。 5.2锁(Lock) 对于多用户系统来说,锁机制是必须的,它实质上就是一种并发控制机制。 多个用户能够同时操纵同一个数据库中的数据,可能会发生数据不一致的现象。并发控制主要是考虑到多个用户同时存取数据库中的同一数据的情况。 5.2.1 事务的缺陷 1.脏读(Dirty Reads) 2.不可重复读(Non-Repeatable Reads) 3.幻觉读(Phantom Reads) 4.丢失更新(Lost Updates) 1.脏读(Dirty Reads) 所谓“脏读”就是指当一个事务正在访问数据,并且对数据进行了修改,而这种修改还没有提交到数据库中,这时,另外一个事务也访问这个数据,然后使用了这个数据。 当事务2读到事务1尚未提交的修改时,就发生了脏读 2.不可重复读(Non-Repeatable Reads) 所谓“不可重复读”是指在一个事务内,多次读同一数据。在这个事务还没有结束时,另外
您可能关注的文档
- Red Hat Linux 9系统管理(第二版) 教学课件 ppt 作者 978-7-302-14776-3ch01.ppt
- Red Hat Linux 9系统管理(第二版) 教学课件 ppt 作者 978-7-302-14776-3ch02.ppt
- Red Hat Linux 9系统管理(第二版) 教学课件 ppt 作者 978-7-302-14776-3CH03.PPT
- Red Hat Linux 9系统管理(第二版) 教学课件 ppt 作者 978-7-302-14776-3CH04.PPT
- Red Hat Linux 9系统管理(第二版) 教学课件 ppt 作者 978-7-302-14776-3CH05.PPT
- Red Hat Linux 9系统管理(第二版) 教学课件 ppt 作者 978-7-302-14776-3CH06.PPT
- Red Hat Linux 9系统管理(第二版) 教学课件 ppt 作者 978-7-302-14776-3CH07.PPT
- Red Hat Linux 9系统管理(第二版) 教学课件 ppt 作者 978-7-302-14776-3CH08.PPT
- Red Hat Linux 9系统管理(第二版) 教学课件 ppt 作者 978-7-302-14776-3CH09.PPT
- Red Hat Linux 9系统管理(第二版) 教学课件 ppt 作者 978-7-302-14776-3CH10.PPT
- 2023年江苏省镇江市润州区中考生物二模试卷+答案解析.pdf
- 2023年江苏省徐州市邳州市运河中学中考生物二模试卷+答案解析.pdf
- 2023年江苏省苏州市吴中区中考冲刺数学模拟预测卷+答案解析.pdf
- 2023年江苏省南通市崇川区田家炳中学中考数学四模试卷+答案解析.pdf
- 2023年江西省吉安市中考物理模拟试卷(一)+答案解析.pdf
- 2023年江苏省泰州市海陵区九年级(下)中考三模数学试卷+答案解析.pdf
- 2023年江苏省苏州市高新二中中考数学二模试卷+答案解析.pdf
- 2023年江苏省南通市九年级数学中考复习模拟卷+答案解析.pdf
- 2023年江苏省南通市海安市九年级数学模拟卷+答案解析.pdf
- 2023年江苏省泰州市靖江外国语学校中考数学一调试卷+答案解析.pdf
文档评论(0)