ACID是您希望在修改数据库时应用的一组属性.
事务是一组用于实现某些ACID属性的相关更改.事务是实现ACID属性的工具.
原子性意味着您可以保证所有事务都发生,或者一个事务都不发生;您可以将复杂的操作作为一个单元来执行,要么全部执行,要么什么都不执行,崩溃、断电、错误或任何其他情况都不允许您处于只发生了部分相关更改的状态.
一致性意味着你保证你的数据是一致的;您对相关数据的任何约束都不会被违反.
隔离意味着一个事务不能从另一个尚未完成的事务中读取数据.如果两个事务同时执行,每一个事务都会看到整个世界,就好像它们是按顺序执行的一样,如果一个事务需要读取另一个事务写入的数据,则必须等待另一个事务完成.
持久性意味着一旦事务完成,就可以保证所有更改都已记录到持久介质(如硬盘)中,并且事务已完成的事实也同样会被记录.
因此,事务是一种保证这些属性的机制;它们是将相关操作分组在一起的一种方式,以便作为一个整体,一组操作可以是原子的,产生一致的结果,与其他操作隔离,并且可以持久地记录.