想問大家一個問題:什麼情況下,要用到事務管理,採用事務有什麼好處

Tony_68 2006-12-15 04:19:21
小弟,在此謝過!
...全文
189 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
marco08 2006-12-16
  • 打赏
  • 举报
回复
最典型的例子是银行转帐
OracleRoob 2006-12-16
  • 打赏
  • 举报
回复
使用事务,保证数据的完整性和一致性。

如:
银行转账,如果在转出后,代码出错了,这时如果不使用事务,就有可能导致转出了,而没转入。从而导致数据错误。
netcup 2006-12-15
  • 打赏
  • 举报
回复
通俗的说,一般UPDATE\INSERT这些操作都要用到事务,简单的说,事务的目的是用事务可以维护数据一致性.
fellowcheng 2006-12-15
  • 打赏
  • 举报
回复
事务是作为单个逻辑工作单元执行的一系列操作。一个逻辑工作单元必须有四个属性,称为原子性、一致性、隔离性和持久性 (ACID) 属性,只有这样才能成为一个事务。

原子性

事务必须是原子工作单元;对于其数据修改,要么全都执行,要么全都不执行。

一致性

事务在完成时,必须使所有的数据都保持一致状态。在相关数据库中,所有规则都必须应用于事务的修改,以保持所有数据的完整性。事务结束时,所有的内部数据结构(如 B 树索引或双向链表)都必须是正确的。

隔离

由并发事务所作的修改必须与任何其他并发事务所作的修改隔离。事务识别数据时数据所处的状态,要么是另一并发事务修改它之前的状态,要么是第二个事务修改它之后的状态,事务不会识别中间状态的数据。这称为可串行性,因为它能够重新装载起始数据,并且重播一系列事务,以使数据结束时的状态与原始事务执行的状态相同。

持久性

事务完成之后,它对于系统的影响是永久性的。该修改即使出现系统故障也将一直保持。

指定和强制事务
SQL 程序员要负责启动和结束事务,同时强制保持数据的逻辑一致性。程序员必须定义数据修改的顺序,使数据相对于其组织的业务规则保持一致。程序员将这些修改语句包括到一个事务中,使 SQL Server 2005 Database Engine 能够强制该事务的物理完整性。

企业数据库系统(如数据库引擎 实例)有责任提供一种机制,保证每个事务的物理完整性。数据库引擎 提供:

锁定设备,使事务保持隔离。


记录设备,保证事务的持久性。即使服务器硬件、操作系统或数据库引擎 实例自身出现故障,该实例也可以在重新启动时使用事务日志,将所有未完成的事务自动地回滚到系统出现故障的点。


事务管理特性,强制保持事务的原子性和一致性。事务启动之后,就必须成功完成,否则数据库引擎 实例将撤消该事务启动之后对数据所做的所有修改。

27,579

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 应用实例
社区管理员
  • 应用实例社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧