数据库:
数据库相当于共享资源,多个终端(会话)都可以操作它。 事务 类似于互斥锁。
事务的特点:要么都成功,要么都失败。
事务的起始标志:
oracle中自动开启事务,以DML语句为开启标志。(从连接上数据库开始)
执行增删改查语句, 只要没有提交commit和回滚rollback, 操作都在一个事务中.
事务的结束标志:
提交、回滚都是事务的结束标志。
- 提交: (操作写到了数据库文件中)
- 显示提交: commit
- 隐式提交:
- (1)有DDL语句,如:create table除了创建表之外,还会隐式提交Create之前所有没有提交的DML语句。
- (2) 正常退出(exit / quit)
2.回滚:
显示回滚: rollback(类似撤销)
隐式回滚: 掉电、宕机、非正常退出。
事务的特性
事务4大特性(ACID) :原子性、一致性、隔离性、持久性。
- 原子性 (Atomicity):事务中的全部操作在数据库中是不可分割的,要么全部完成,要么均不执行。
- 一致性 (Consistency):几个并行执行的事务, 其执行结果必须与按某一顺序串行执行的结果相一致。
- 隔离性 (Isolation):事务的执行不受其他事务的干扰,当数据库被多个客户端并发访问时,隔离它们的操作, 防止出现:脏读、幻读、不可重复读。
4. 持久性 (Durability):对于任意已提交事务,系统必须保证该事务对数据库的改变不被丢失,即使数据库出现故障。