数据库基础与应用课件作者王珊李盛恩第04章节.pptVIP

数据库基础与应用课件作者王珊李盛恩第04章节.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第4章 数据保护 数据库管理系统(DBMS)除了提供对数据的查询操作和更新操作以外,还必须对数据库中的各种操作加以监控并对数据进行保护,如要保证对数据的操作没有违反完整性规则,防止对数据的非法存取,防范系统故障造成的数据丢失和数据库处于不一致性状态。 4.1 事务的概念 4.2 恢 复 4.3 并发控制 4.4 完整性和安全性 4.1 事务的概念 一个事务是由一系列的对数据库的查询操作和更新操作构成的。从用户的观点来看,根据业务规则,这些操作是一个整体,不能分割,即要么所有的操作都顺利完成,要么一个也不要做。绝不能只完成了部分操作,而还有一些操作没有完成。事务是数据库运行中的一个逻辑工作单位,由DBMS中的事务管理子系统负责事务的处理。 4.1.1 实例 [例1] 将第3章中学生—选课数据库中的英语课的课程编号由1156修改为2256。 因为课程编号出现在表Course和表SC中,所以要将两个表中的1156都修改为2256,而不能只修改其中的一个表。用户必须通知DBMS,通知的方法是将下面的两个SQL语句定义成一个事务。 [例2] 在银行应用中,将用户A账户中的1万元转移到用户B的账户上。 这个操作要求从用户A的账户中减掉1万元,在用户B的账户上增加1万元。银行的业务规则要求增加1万元和减少1万元这两个操作要么全做,要么一个也不要做。将下面的SQL语句定义成一个事务: EXEC SQL UPDATE Account SET Balance = Balance + 10000 WHERE CID = B; /*用户B的账户增加10 000元*/ EXEC SQL SELECT Balance INTO :C_Balance /* 取出用户A的余额,放到变量C_Balance中*/ FROM Account WHERE CID = A; If C_Balance 10 000 then EXEC SQL ROLLBACK; /* 增加10 000元的操作,事务非正常结束*/ Else /* 如果用户A的余额充足 */ { EXEC SQL UPDATE Account SET Balance = Balance – 10 000 /*从用户A的存款中减掉10 000元*/ WHERE CID = A; EXEC SQL COMMIT; /*事务正常结束*/ } 从本例中可以看到事务是类似于具有一个入口,两个出口的一种控制结构。COMMIT是一个出口,表示事务的所有操作都完成了。ROLLBACK是另一个出口,通过撤消所有的已经做过的操作达到一个操作也没做的效果。 4.1.2 事务的特性 事务有4个特性,可以说对数据库中的数据的保护是围绕着实现事务的特性而达到的。 1.原子性(Atomicity) 一个事务中的所有操作是一个逻辑上不可分割的单位。 2.一致性(Consistency) 数据库处于一致性状态是指数据库中的数据满足各种完整性规则。 3.隔离性(Isolation) 为了提高事务的吞吐率,大多数DBMS允许同时执行多个事务,就像分时操作系统为了充分利用系统资源,同时执行多个进程一样。 4.持久性(Durability) 一个事务一旦完成了全部操作,它对数据库的所有更新操作的结果应反映到数据库中。 事务的这4个特性一般简称为事务的ACID特性。 4.1.3 SQL中的事务控制 在SQL语言中,一个事务是由若干条SQL语句组成。一般地,用户向DBMS提交的第一条SQL语句开始一个新事务,事务的最后一条SQL语句是COMMIT或ROLLBACK语句,表示一个事务的结束和新事务的开始。特别地,一条DDL语句(CREATE TABLE)和DCL语句(GRANT)构成一个事务。有些DBMS提供显式定义事务开始的语句如BEGIN TRANSACTION。 1.提交语句 格式:COMMIT [WORK] 功能:表示一个事务的正常结束。该语句成功执行后,DBMS将从上一个事务结束后到该语句之间的所有SQL语句对数据库的操作保存到数据库中。 2.撤消语句(回滚语句) 格式:ROLLBACK [WORK] 功能:表示一个事务的非正常结束。该语句执行后,DBMS将从上一个事务结束后到该语句之间的所有SQL语句对数据库的操作撤消掉,数据库恢复到事务执行前的状态。 4.2 恢 复 如果因为某种原因,一个事务不能从头到尾地成功执

您可能关注的文档

文档评论(0)

118压缩包课件库 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档