1 / 27
文档名称:

《数据库系统概论》讲义.ppt

格式:ppt   大小:295KB   页数:27
下载后只包含 1 个 PPT 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

《数据库系统概论》讲义.ppt

上传人:dyx110 2019/10/27 文件大小:295 KB

下载得到文件列表

《数据库系统概论》讲义.ppt

相关文档

文档介绍

文档介绍:。事务定义事务是由一系列操作序列构成的程序执行单元,这些操作要么都做,要么都不做,是一个不可分割的工作单位。 例如银行转帐。SQL中事务的定义 事务以Begintransaction开始,以Commitwork或Rollbackwork结束。 Commitwork表示提交,事务正常结束。 Rollbackwork表示事务非正常结束,撤消事务已做的操作,回滚到事务开始时状态。(C或java)书写的用户程序的执行所引起。示例 银行转帐:事务T从A帐户过户50¥到B帐户。 T: read(A); A:=A–50; write(A); read(B); B:=B+50; write(B);read(X):从数据库传送数据项X到事务的工作区中。write(X):从事务的工作区中将数据项X写回数据库。(ACID)原子性(Atomicity) 事务中包含的所有操作要么全做,要么全不做。 原子性由恢复机制实现。一致性(Consistency) 事务的隔离执行必须保证数据库的一致性。 事务开始前,数据库处于一致性的状态;事务结束后,数据库必须仍处于一致性状态。 数据库的一致性状态由用户来负责。 如银行转帐,转帐前后两个帐户金额之和应保持不变。如删除学生记录的同时应当删除学生选课记录。(Isolation) 系统必须保证事务不受其它并发执行事务的影响。 对任何一对事务T1,T2,在T1看来,T2要么在T1开始之前已经结束,要么在T1完成之后再开始执行。 隔离性通过并发控制机制实现。持久性(Durability) 一个事务一旦提交之后,它对数据库的影响必须是永久的,即使系统出现故障时也如此。 系统发生故障不能改变事务的持久性。 持久性通过恢复机制实现。,数据库恢复到事务开始前状态最后一条语句被执行后成功完成,(balance>=amount)update帐户表setbalance=balance-amountwhere帐户=帐户甲update帐户表setbalance=balance+amountwhere帐户=帐户乙insertinto明细表values(日期,帐户甲,帐户乙,amount,操作员)mit任何一句更新语句违反完整性均引发事务故障。:一个事务失败了,应该能够撤消该事务对数据库的影响。如果有其它事务读取了失败事务写入的数据,则该事务也应该撤消。事务故障:事务由于运算溢出、事务发生死锁被撤消、更新违反完整性而引起的事务非正常结束。,系统故障必将重新启动数据库。系统故障:事务由于硬件错误、操作系统错误、DBMS软件错误、突然断电而引起的事务非正常结束。系统故障的恢复:重新启动数据库时,必须撤消未完成的事务;对于已经完成的事务可能并未完全写入到数据库中,必须重新执行所有已经提交的事务。