一、数据库事务的定义

      提起数据库事务,很多人会想到Oracle的事务,还能想到事务的四个特性(ACID),本人也是一名技术人员,经历过大大小小的项目也不少,今天我们来谈谈Oracle的事务,讲的不对的地方欢迎留言评论!

一、事务的概念

我们可以把每一个事务当做很多操作的聚合,对于这个聚合是一体的,不可拆分的;对于不同事务来说,数据库会认为每个事务都是独立并且唯一的。(此时先不要去考虑Spring事务,这里先讲数据库的事务,Spring事务后面会讲到,不要急~)

那么上面所说的“操作”指的是:数据库DML语句(insert,update,delete);把这些DML操作根据实际需要聚合起来,放在一个事务里,就说明了这些DML语句就是一条绳上的蚂蚱,要么都执行成功,整个事务就是成功(commit);只要其中有一个DML语句没有执行成功,这个事务就是是失败了,那么前面执行成功的DML会rollback回滚。

那么在数据库层面什么情况下才会在写多个DML呢?答案:比如存储过程(procedure),自定义函数(function),触发器(trigger),还有plsql语句块(declare  begin  end;)


二、说到DML语言,咱们回顾一下 SQL语言的5大分类:

DDL(Data Definition Language 数据定义语言)-用于操作对象和对象的属性,这种对象包括数据库本身,以及数据库对象,如表、视图等等,DDL对这些对象和属性的管理和定义具体表现在Create、Drop和Alter上。特别注意:DDL操作的“对象”的概念,”对象“包括对象及对象的属性,而且对象最小也比记录大个层次。以表举例:Create创建数据表,Alter可以更改该表的字段,Drop可以删除这个表,从这里我们可以看到,DDL所站的高度,不会对具体的数据进行操作

操作对象:对象和对象的属性
DML(Data Manipulation Language 数据操控语言)-用于操作数据库对象中包含的数据,也就是说操作的单位是记录
DCL(Data Control Language 数据控制语言)-控制数据库对象的权限,这些操作的确定使数据更加的安全。
DTL(事务控制语言) - Commit、Rollback 事务提交与回滚语句。
DQL(数据查询语言) - Select 查询语句不存在提交问题。

操作对象:具体数据;

操作对象:数据库用户:Grant、Revoke 授予权限与回收权限语句。

那我们下一章讲一下数据库事务的几个特性!!!

尽量保持每一篇文章简要and通俗易懂~~


点击打开链接

你可能感兴趣的:(Oracle)