- 1、本文档共21页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第11章 其他概念 11.1 事 务 11.2 锁 定 11.3 自动化管理 11.1 事 务 用一个简单的例子来帮助理解事务:向公司添加一名新的雇员,如图11.1所示。 11.1 事 务 在形式上,每个事务的处理必须满足ACID原则,即原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)和持久性(Durability)。 (1)原子性。原子性意味着每个事务都必须被认为是一个不可分割的单元。 (2)一致性。不管事务是完全成功完成还是中途失败,当事务使系统中的所有数据处于一致的状态时存在一致性。 (3)隔离性。隔离性是指每个事务在它自己的空间发生,和其他发生在系统中的事务隔离,而且事务的结果只有在它完全被执行时才能看到。 (4)持久性。持久性意味着一旦事务执行成功,在系统中产生的所有变化将是永久的。 11.1.2 多用户使用问题 ? 丢失更新(lost update):指当两个或多个事务选择同一行,然后基于最初选定的值更新该行时,由于每个事务都不知道其他事务的存在,因此最后的更新将重写由其他事务所做的更新,这将导致数据丢失。 ? 脏读(dirty read):指一个事务正在访问数据,而其他事务正在更新该数据,但尚未提交,此时就会发生脏读问题,即第一个事务所读取的数据是“脏”(不正确)数据,它可能会引起错误。 ? 不可重复读(unrepeatable read):当一个事务多次访问同一行且每次读取不同的数据时,会发生此问题。不可重复读与脏读有相似之处,因为该事务也是正在读取其他事务正在更改的数据。 ? 幻读(phantom read):当一个事务对某行执行插入或删除操作,而该行属于某个事务正在读取的行的范围时,会发生幻读问题。 11.1.3 事务处理:BEGIN/COMMIT/ROLLBACK/SAVE/ROLLBACK TRANSACTION 系统提供的事务是在执行某些T-SQL语句时,一条语句就构成了一个事务,这些语句包括ALTER TABLE、CREATE、DELETE、DROP、FETCH、GRANT、INSERT、OPEN、REVOKE、SELECT、UPDATE、TRUNCATE TABLE。 例如,执行如下创建表的语句: CREATE TABLE xxx ( f1 int NOT NULL, f2 char(10) NOT NULL, f3 varchar(30) NULL ) 11.1.3 事务处理:BEGIN/COMMIT/ROLLBACK/SAVE/ROLLBACK TRANSACTION 1.开始事务 在SQL Server中,显式地开始一个事务可以使用BEGIN TRANSACTION语句。 语法格式: BEGIN { TRAN | TRANSACTION } [ { 事务名 | @事务名变量 } [ WITH MARK [ dEscription ] ] ] 2.结束事务 COMMIT TRANSCATION语句是提交语句,它将事务开始以来所执行的所有数据都修改为数据库的永久部分,也标志一个事务的结束,其语法格式为: COMMIT { TRAN | TRANSACTION } [ 事务名 | @事务名变量 ] ] 标志一个事务的结束也可以使用COMMIT WORK语句。语法格式为: COMMIT [WORK] 11.1.3 事务处理:BEGIN/COMMIT/ROLLBACK/SAVE/ROLLBACK TRANSACTION 3.撤销事务 若要结束一个事务,可以使用ROLLBACK TRANSACTION语句。它使得事务回滚到起点,撤销自最近一条BEGIN TRANSACTION语句以后对数据库的所有更改,同时也标志了一个事务的结束。 语法格式: ROLLBACK { TRAN | TRANSACTION } [ 事务名 | @事务名变量 ] ROLLBACK TRANSACTION语句不能在COMMIT语句之后。 另外,一条ROLLBACK WORK语句也能撤销一个事务,功能与ROLLBACK TRANSACTION语句一样,但ROLLBACK TRANSACTION语句接受用户定义的事务名称。 语法格式: ROLLBACK [ WORK ] [ ; ] 11.1.3 事务处理:BEGIN/COMMIT/ROLLBACK/SAVE/ROLLBACK TRANSACTION 4.回滚事务 ROLLBACK TRANSACTION语句除了能够撤销整个事务外,还可以使事务回滚到某个点,不过在这之前需要使用SAVE TRANSACTION语句来设置一个保
您可能关注的文档
- Solid Converter PDFV7.1中文版安装、破解、使用教程的认识.doc
- solid works 教程第4章 装配设计指导.ppt
- SolidWords 快捷键和使用技巧的认识.doc
- solidwork2012指导.ppt
- Solidworks 2014 Win7旗舰版安装+破解--图文教程,安装不成功的来找我! (其他版本均可参照)的认识.doc
- solidworks板金成型工具用法的认识.doc
- solidworks动画完全教程课件.docx
- SolidWorks工程图转DWG格式图纸的映射方法的认识.doc
- solidworks曲线曲面练习的认识.doc
- solidworks实例及练习材料2的认识.doc
- 第18讲 第17课 西晋的短暂统一和北方各族的内迁.docx
- 第15讲 第14课 沟通中外文明的“丝绸之路”.docx
- 第13课时 中东 欧洲西部.doc
- 第17讲 第16 课三国鼎立.docx
- 第17讲 第16课 三国鼎立 带解析.docx
- 2024_2025年新教材高中历史课时检测9近代西方的法律与教化含解析新人教版选择性必修1.doc
- 2024_2025学年高二数学下学期期末备考试卷文含解析.docx
- 山西版2024高考政治一轮复习第二单元生产劳动与经营第5课时企业与劳动者教案.docx
- 第16讲 第15课 两汉的科技和文化 带解析.docx
- 第13课 宋元时期的科技与中外交通.docx
文档评论(0)