最近在复习基础知识,准备考试,有一道填空题,问数据库的事务属性,貌似这个,在大学时,学过,还考过的,结果就想起来2个
在网上找了一下,记录一下。
1. 数据库事务的四大属性
数据库事务的属性包括四大类,即ACID。ACID分别是四个英文单词的首写字母,
这四个英文单词是Atomicity(原子性)、 Consistency(一致性)、Isolation(隔离性)、Durability(持久性)。
1.1. 原子性
事务的原子性指的是,事务中包含的程序作为数据库的逻辑工作单位,它所做的对数据修改操作要么全部执行,要么完全不执行。这种特性称为原子性。
1.2 一致性
事务的一致性指的是在一个事务执行之前和执行之后数据库都必须处于一致性状态。这种特性称为事务的一致性。
假如数据库的状态满足所有的完整性约束,就说该数据库是一致的。
1.3 隔离性
隔离性指并发的事务是相互隔离的。即一个事务内部的操作及正在操作的数据必须封锁起来,不被其它企图进行修改的事务看到。
1.4 持久性
持久性意味着当系统或介质发生故障时,确保已提交事务的更新不能丢失。即一旦一个事务提交,DBMS保证它对数据库中数据的改变应该是永久性的,
耐得住任何数据库系统故障。持久性通过数据库备份和恢复来保证。
严格来说数据库事务属性(ACID)都是由数据库管理系统来进行保证的,在整个应用程序运行过程中应用无需去考虑数据库的ACID实现。