数据库:事务
事务是数据库区别于文件系统的特性之一。在文件系统中,如果在写文件的过程中,操作系统突然奔溃,这个文件就很可能会被破坏。虽然有一些“日志式”的文件系统能把文件恢复到某个时间点。但是要保证两个文件同步,这些文件系统也无能为力。比如,当你更新了第一个文件,但在更新完第二个文件之前,系统突然出现故障,就会有两个不同的文件。
事务会把数据库从一种状态从一种一致状态转变为另一种一致状态,这就是设计事务的目的。当事务提交时,数据库可以确保要么所有修改都已经保存,要么所有修改都不保存。以及保证提交的事务符合保护数据完整性的各种规则和检查。
原子性(Atomicity): 事务中的所有动作要么发生,要么都不发生。
一致性(Consistency): 事务将数据库从一种一致状态变为下一种一致状态。
隔离性(Isolation): 一个事务的影响在该事务提交前对其他事务是不可见的。
持久性(Durability): 事务一旦提交,其结果就是永久性的。
事务控制语句:
COMMIT
SAVEPINT
ROLLBACK