在现在这个信息时代,会产生很多数据,这些数据大部分都会被存到了一个容器——数据库中。随之便有了数据库的操作。这篇主要就是讲的数据库的事务,数据库的事务是什么?它有什么作用呢?
数据库事务(简称:事务)是数据库管理系统执行过程中的一个逻辑单位,由一个有限的数据库操作序列构成。
数据库的事务主要包括对数据库的读/写操作。它的存在主要有两个目的:
1、为数据库操作序列提供了一个从失败中恢复到正常状态的方法,同时提供了数据库即使在异常状态下仍能保持一致性的方法。
2、当多个应用程序在并发访问数据库时,可以在这些应用程序之间提供一个隔离方法,以防止彼此的操作互相干扰。
当事务被提交到数据库管理系统,则数据库管理系统需要确保该事务中的所有操作成功完成且被永久保存到数据库中,否则此次事务所有的操作都要进行回滚操作,回到事务执行之前的状态;同时,该事务对数据库或其他事务的执行无影响,好像是独立存在的。举个例子:我们去银行取钱或者存钱,当我们对一个账户进行操作时,数据库就被隔离了起来,在其他地方是无法再进行操作的,如果我们操作成功的话,银行卡会减少或增加相对应的金额,如果取款或存款失败,会回到之前操作之前的状态,否则就会引起很多麻烦。
但是并非所有对数据库的操作都是数据库事务,数据库事务包含四个特性:
1、原子性:事务作为一个整体被执行,包含在其中的对数据库的操作要么全部被执行,要么都不执行,不会存在执行一部分。
2、一致性:事务应确保数据库的状态从一个一致状态转变为另一个一致状态。一致状态的含义是数据库中的数据应满足完整性约束。
3、持久性:多个事务并发执行时,一个事务的执行不应影响其他事务的执行,它们之间互不干扰。
4、隔离性:已被提交的事务对数据库的修改应该永久保存在数据库中。
隔离级别:

  • 脏读
  • 不可重复读
  • 幻读/虚读