面试oracle 经常问的一个问题- 事务
这几天面试;(面试的时候,没准备什么东西,因为最近很累,就带了个身体过去的,基本没带脑子去了)
好了,我们技术面的差不多了。
我再问你个问题;
oracle 中的事务?
事务你给我说说;
我去,事务,你想知道事务的什么?
事务的四个特性?
事务是干嘛的?
还是什么?
事务
面试官就很淡淡的说,事务就是简单的一点内容啊,你给我说说事务;
我说哥,你想知道什么事务,事务的那方面;
我真的不知道他想知道什么!
然后,面试官就这么走了
(其实,在路上,慢慢想想才想起来很多东西)
先说事务吧!
什么是事务:
在数据库中,事务是数据库运行工作的逻辑单元,一个事务是由一个或多个完成一组相关行为的SQL语句组成,通过事务机制确保这一组SQL语句所作的操作要么完全成功执行,完成整个工作单元操作,要么一点也不执行。
主要特性:确保数据库的完整性。
事务拥有四个特性:(很多人称为 事务的ACID特性)
对一组SQL语句操作构成事务,数据库操作系统必须确保这些操作的原子性,一致性,隔离性,持久性.
1、 原子性(Atomicity)
事务的原子性是指事务中包含的所有操作要么全做,要么不做,也就是说所有的活动在数据库中要么全部反映,要么全部不反映,以保证数据库的一致性。
2、 一致性(Consistency)
事务的一致性是指数据库在事务操作前和事务处理后,其中数据必须满足业务的规则约束。
3、 隔离性(Isolation)
隔离性是指数据库允许多个并发的事务同时对其中的数据进行读写或修改的能力,隔离性可以防止多个事务的并发执行时,由于它们的操作命令交叉执行而导致数据的不一致性。
4、 持久性(durability)
事务的持久性是指在事务处理结束后,它对数据的修改应该是永久的。即便是系统在遇到故障的情况下也不会丢失,这是数据的重要性决定的。