转载请注明本文出处 本人博客:leonidasFlames的blog 链接为:Linux下PostgresQL数据库C语言接口:libpq (三)控制事务
三、libpq库下C语言程序对PostgresQL的控制事务
1.事务的概念
事务是指单个逻辑工作单元执行的操作的集合。通过事务处理,保证了数据库中数据的一致性。事务需要满足ACID属性,即Atomicity(原子性)、Consistency(一致性)、Isolation(隔离性)和Durability(持久性)。
所谓事务的原子性,是指同一个事务中所有执行的操作,要么全部成功,要么全都不会执行,即会退回到这个操作执行之前的状态。
所谓事务的一致性,是指一个事务操作执行完成之后,数据库中数据必须处于合法一致的状态中。如果事务在执行时,数据库中的数据没有保持合法一致的状态,即出现了非法的数据,那么数据库管理系统就会把数据库恢复到该事务执行之前的那个合法的状态中。
所谓事务的隔离性,是指事务看到的数据库中数据要么是这个事务被修改之前的状态