[工学]第七章 数据库管理系统新
第7章 数据库管理系统 7.2 事务管理 例:设想网上购物的一次交易,至少包括以下数据库操作: 保存客户付款信息(可能包括与银行系统交互) 更新客户所购商品的库存信息 生成订单并且保存到数据库中 更新用户相关信息,例如购物数量等等 正常情况:所有操作顺利进行,交易成功,与交易相关的所 有数据库信息也成功地更新。 异常情况:交易失败(例如,生成订单失败),使数据库中信息将会不可预测。此时该怎么办? 如何在交易失败时,使数据库中的数据库恢复到交易前的状态? 例2:考虑飞机订票系统中的一个活动序列: (1) 甲售票点读出某航班的机票余额(设=16); (2) 乙售票点读出同一航班的机票余额也为16; (3) 甲售票点卖出一张机票,修改余额为15,并把A写回数据库; (4) 乙售票点也卖出一张机票,也修改余额为15,并把A写回数据库。 结果:卖出两张票,数据库中机票余额只减少1。 如何解决出现的这些问题,以保证数据库中的数据是一致的? —数据库中,事务就是解决这些问题的技术手段。 7.2.1 事务的基本概念 何为数据库事务? “一荣俱荣,一损俱损” 很能体现事务的思想。 很多复杂的事物要分步进行,但它们组成一个整体,要么整体生效,要么整体失效。这种思想反映到数据库上,就是多个SQL语句,要么所有执行成功
原创力文档

文档评论(0)