Ch06-事务、锁、索引与数据完整性

Ch06-事务、锁、索引与数据完整性

ID:45033693

大小:1.21 MB

页数:67页

时间:2019-11-08

Ch06-事务、锁、索引与数据完整性_第1页
Ch06-事务、锁、索引与数据完整性_第2页
Ch06-事务、锁、索引与数据完整性_第3页
Ch06-事务、锁、索引与数据完整性_第4页
Ch06-事务、锁、索引与数据完整性_第5页
资源描述:

《Ch06-事务、锁、索引与数据完整性》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、网络数据库开发技术事务、锁、索引与数据完整性张蕾zhanglei@ujn.edu.cn事务事务事务的概念事务是并发控制的基本单位。所谓事务,就是一个操作序列,这些操作要么都执行,要么都不执行,它是一个不可分割的工作单位。如果某一事务成功,则在该事务中进行的所有数据修改均会提交,成为数据库中的永久组成部分。如果事务遇到错误且必须取消或回滚,则所有数据修改均被清除。3事务的特性原子性:对数据的修改,要么都完成,要么都取消。一致性:事务完成时,保持数据的一致性、完整性。隔离性:并行事务之间相互隔离。持久性:事务完成后,对数据所做的所

2、有修改就保存到数据库中。4SQLServer以下列事务模式运行。(1)自动提交事务每条单独的语句都是一个事务。(2)显式事务每个事务均以BEGINTRANSACTION语句显式开始,以COMMIT或ROLLBACK语句显式结束。(3)隐式事务在前一个事务完成时新事务隐式启动,但每个事务仍以COMMIT或ROLLBACK语句显式完成。(4)批处理级事务只能应用于多个活动结果集(MARS),在MARS会话中启动的Transact-SQL显式或隐式事务变为批处理级事务。事务5事务的使用事务控制语句BEGINTRAN

3、TRANSAC

4、TION[tran_name]:标识一个用户定义的事务的开始。tran_name为事务的名字COMMITTRAN[tran_name]:表示提交事务中的一切操作,结束一个用户定义的事务。使得对数据库的改变生效。ROLLBACKTRAN[tran_name

5、save_name]:回退一个事务到事务的开头或一个保存点。表示要撤消该事务已做的操作,回滚到事务开始前或保存点前的状态。SAVETRANsave_name:在事务中设置一个保存点。它可以使一个事务内的部分操作回退。6@@rowcount上一语句影响的行数;@@erro

6、r检测或使用@@error时上一条语句执行时的错误代码。@@error=0表示执行成功;@@trancount当前连接的活动事务数事务中使用的全局变量7事务控制语句的使用方法:begintransaction……/*A组语句序列*/savetransaction保存点1……/*B组语句序列*/if@@error<>0rollbacktransaction保存点1/*回滚到保存点1*/elsecommittransaction/*提交A组语句,同时如果未回滚B组语句则提交B组语句*/事务控制语句8[例]使用事务向表book中插入

7、数据。USEjwglBEGINTRANtran_examINSERTINTObook(book_id,book_name,publish_company)VALUES('dep04_s006_01‘,'VFP程序设计‘,'南京大学出版社‘)SAVETRANint_pointINSERTINTObook(book_id,book_name,publish_company)VALUES('dep04_s006_02‘,'VFP实验指导书‘,'东南大学出版社‘)事务使用示例INSERTINTObook(book_id,book_na

8、me)VALUES('dep04_s006_03‘,'VFP课程设计指导书')IF@@error<>0ROLLBACKTRANint_pointelseCOMMITTRANtran_examGO9事务中不可使用的语句(不能够撤消)创建数据库:createdatabase;修改数据库:alterdatabase;删除数据库:dropdatabase;备份数据库:dumpdatabase、backupdatabase;还原数据库:loaddatabase、restoredatabase;日志备份:dumptransaction、b

9、ackuplog;日志还原:loadtransaction、restorelog;配置:reconfigure;磁盘初始化:diskinit;统计:updatestatistics;显示或设置数据库选项:sp_dboption。10锁锁锁的概念锁定是MicrosoftSQLServerDatabaseEngine用来同步多个用户同时对同一个数据块的访问的一种机制。锁的类型MicrosoftSQLServerDatabaseEngine使用不同的锁模式锁定资源,这些锁模式确定了并发事务访问资源的方式。(1)共享锁(S锁)共享允许

10、并发事务读取(SELECT)一个资源。资源上存在共享锁时,任何其它事务都不能修改数据。一旦已经读取数据便立即释放资源上的共享锁。(2)排它锁(X锁)排它锁可以防止并发事务对资源进行访问。其它事务不能读取或修改排它(X)锁锁定的数据。(3)更新锁(U锁)它可以防止常见的死锁。更

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。