保证数据完整-山西财贸职业技术学院
数据库原理与SQL Server 第9章 保证数据完整性 第9章 保证数据完整性 9.1 构造Transact-SQL执行单元 —批处理 9.2 保证数据完整性—事务 9.3 维护数据一致性—锁 9.4 处理错误— @@ERROR 实训 错误的捕获和处理 9.1 构造Transact-SQL执行单元 —批处理 批处理是一组SQL语句的集合,一个批处理以批结束符GO而终结。批处理中的所有语句被一次提交给SQL Server 2000,SQL Server 2000将这些语句编译为一个执行单元,如果出现编译错误,SQL Server 2000将取消整个批处理内所有语句的执行。 例9-1 在数据库student中建立一个名为s_view的视图。 脚本: 9.2 保证数据完整性—事务 问题:如果在修改了数据库中的数据之后又立即意识到不该做这些修改,应该怎样处理的呢? 最简单的办法,就是重新输入这些数据。但是,如果已经修改了多个表中的一些数据时,想要重新输入,就比较困难了。 另一种方法是自动地将数据恢复到它们修改之前的原始状态。为了解决这样的问题,SQL Server 2000提供了事务和锁来保证数据的一致性和完整性。 9.2.1 事务的属性 事务是构成单一逻辑单元的操作的集合。 事务必须满足4个要求,称为ACID属性,即原子性、一致性、隔离性和持久性。 1. 原子性 如果事务成功,SQL Server 2000确保在事务中所有的数据修改作为一个整体。如果事务没有成功,就不会有任何修改发生。也就是说,SQL Server 2000能确保事务的原子性。事务要想取得成功,事务中的每一个操作(语句)都必须成功。如果其中的任何一个操作失败了,则整个事务就会失败,而且自事务开始所做的任何修改都会被撤销。 2. 一致性 SQL Server 2000能保证事务的一致性。一致性意味着全部数据都保持在一致的状态。在一个事务开始之前,数据库处于一致的状态,当事务结束后,不管它是成功还是失败,数据库还应该处于一致的状态。 3. 隔离性 如果有两个或者多个事务,这些事务必须按照一定的顺序先后执行,而不能在执行一个事务的同时,又穿插执行另外的一个事务,也就是说,多事务并发执行时,应保证执行的结果是正确的,如同单用户环境一样。这可以通过锁来实现。 4. 永久性 事务一旦完成,它对数据库所进行的修改将被永久保存,即使以后系统发生故障,也应该保留这个事务执行的痕迹。 SQL Server 2000的事务分为显式事务、隐式事务、自动事务和分布式事务。 9.2.2 显式事务 显式事务就是用户使用“事务处理语句”定义的事务。 事务处理语句主要包括: (1)BEGIN TRANSACTION 作用是启动一个事务,它标志着一个事务的开始。 (2)COMMIT TRANSACTION和COMMIT WORK 作用是提交事务。在事务中对数据库所做的修改,将在此时进行提交,它标志着事务的结束。 (3)ROLLBACK TRANSACTION和ROLLBACK WORK 作用是回滚事务。通常如果在事务的执行过程中发生了错误,需要执行这个语句,放弃事务中对数据库所做的修改,使数据库恢复到事务开始之前的状态。 例9-2 提交事务。 脚本: 例9-3 回滚事务。 脚本: 9.2.3 隐式事务 (1)SET IMPLICIT_TRANSACTION ON。 使SQL Server 2000进入隐式事务处理模式,使用COMMIT TRANSACTION/WORK语句提交事务,或者使用ROLLBACK TRANSACTION/WORK回滚事务。 (2)SET IMPLICIT_TRANSACTION OFF。 退出隐式事务处理模式。 例9-4 隐式事务实例。 脚本: 9.2.4 自动事务 自动事务是SQL Server 2000默认的事务处理模式。 在这种模式下,如果任何一个语句执行成功,则它对数据库所做的修改马上被自动提交,反之如果失败,则自动回滚。 9.2.5 分布式事务 SQL Server 2000可以通过网络实现跨服务器的数据操作,这种事务称为“分布式事务”。分布式事务有非常强大的功能,但必须通过网络来传送数据,因此出错的几率也就大大增加了。为了解决这个问题,分布式事务的处理被分成两个阶段:准备阶段和提交阶段,也就是所谓的两阶段提交。 (1)准备阶段。 (2)提交阶段。 分布式事务处理过程 (1)使用BEGIN DISTRIBUTED TRANSACTION语句启动一
您可能关注的文档
最近下载
- 安全标志GB+2894-2025 - 副本.docx VIP
- 二维转三维.doc VIP
- 四4班 四年级德育核心素养提升训练(第12周)测试卷及答案.docx VIP
- 15ZJ201_平屋面.pdf VIP
- 基于PLC的自动化生产线设计毕业设计论文.docx VIP
- 两票三制培训精要.pptx
- 伟创(VEICH)AC100系列矢量型变频调速器使用说明书V1.2.pdf
- 标准图集-11G101-2_混凝土结构施工图平面整体表示方法制图规则和构造详图(现浇混凝土板式楼梯)(替代03G101-2).pdf VIP
- 2.4 植物的生长变化(分层作业)科学冀人版三年级下册2026.pdf VIP
- (2026年)成人腰大池引流护理PPT课件.pptx VIP
原创力文档

文档评论(0)