- 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
最近下载
- 土地复垦可行性分析zhouqi.docx VIP
- 国开2021《Web开发基础》形考任务1-5题目汇总.doc VIP
- 四、 中国近代化的探索 教学设计 2023~2024学年统编版八年级历史上册.docx
- 2021需氧菌性阴道炎诊治专家共识.pptx VIP
- 小红书2025好势发生营销IP新版图通案.pdf
- 传统村落保护与发展规划.ppt VIP
- 国开2021《Web开发基础》形考任务1-5题目汇总.docx VIP
- 2023人教版(PEP)小学英语(三、四、五、六年级)词汇及常用表达法(课本同步).pdf VIP
- 日立电梯HGE乘客电梯调试指导手册.pdf
- 风电场运维安全管理.pptx VIP
文档评论(0)