数据库事务控制|学习笔记

简介: 快速学习数据库事务控制

开发者学堂课程【Java面试疑难点串讲2:Java数据库开发数据库事务控制】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址https://developer.aliyun.com/learning/course/25/detail/544


数据库事务控制


内容简介:


一、 事务问题

二、 事务处理


一、事务问题

对于数据库的划分一定是分为两种:

关系型数据库、noSQL 数据库,关系型数据库里还有一个最为重要的概念就是 ACID原则。

 

ACID原则

➢ACID ,

指数据库事务正确执行的四个基本要素的缩写。


➢原子性 (Atomiciy)

整个事务中的所有操作 ,要么全部完成,要么都不完成不可能停滞在中间某个环节。

事务在执行过程中发生错误,会被回滚 (Roolback) 到事务开始前的状态,就像这个事务从来没有执行过一 样;

 

➢一致性 (Consistency ):

一个事务可以封装状态改变(除非它是一 个只读的)。事务必须始终保持系统处于一致的状态,不管在任何给定的时间并发事务有多少;

 

➢隔率性 (Isolation) :

隔离状态执行事务,使它们好像是系统在给定时间内执行的唯一操作,如果有两个事务, 运行在相同的时间内,执行相同的功能,事务的隔离性行确保每事务在系统中认为只有该事务在使用系统;

 

➢持久性 (Durability) :

在事务完成以后,该事务对数据库所作的更改便持久的保存在数据库之中,并不会被回滚。

 

一个支持事务 ( Transaction ) 的数据库,

必需要具有这四种特性,否则在事务过程 ( Transaction processing ) 当中无法保证数据的正确性,交易过程极可能达不到交易方的要求。

 

二、事物处理

实际上在开发之中可能见到的事务处理模式有三种:

   

第一种:

JDBC 的原始处理,它只提供有: commit()、 rollback()、 setAutocommit();

-Oracle 中的事物处理操作是必须掌握的知识。

第二种:

容器控制事务,使用 jta 组件,一般不选用;

 

第三种:

Spring 的事务控制,在 Spring  里面针对于事务的操作有了一些自己的逻辑性的提升。

 

事务处理的核心思想:

所有的操作要么一起成功,要么一起失败。

相关文章
|
2月前
|
SQL 关系型数据库 MySQL
乐观锁在分布式数据库中如何与事务隔离级别结合使用
乐观锁在分布式数据库中如何与事务隔离级别结合使用
|
2月前
|
SQL 数据库 数据安全/隐私保护
SQL Server数据库Owner导致事务复制log reader job无法启动的解决办法
【8月更文挑战第14天】解决SQL Server事务复制Log Reader作业因数据库所有者问题无法启动的方法:首先验证数据库所有者是否有效并具足够权限;若非,使用`ALTER AUTHORIZATION`更改为有效登录名。其次,确认Log Reader使用的登录名拥有读取事务日志所需的角色权限。还需检查复制配置是否准确无误,并验证Log Reader代理的连接信息及参数。重启SQL Server Agent服务或手动启动Log Reader作业亦可能解决问题。最后,审查SQL Server错误日志及Windows事件查看器以获取更多线索。
|
7天前
|
SQL 关系型数据库 MySQL
php学习笔记-连接操作mysq数据库(基础)-day08
本文介绍了PHP中连接操作MySQL数据库的常用函数,包括连接服务器、设置字符集、关闭连接、选择数据库、结果集释放、获取影响行数以及遍历结果集等操作。通过书籍查询的实例演示了如何使用这些函数进行数据库操作,并提供了一个PHP操纵MySQL数据库的模板。
php学习笔记-连接操作mysq数据库(基础)-day08
|
3月前
|
存储 SQL 关系型数据库
数据库事务:确保数据完整性的关键20
【7月更文挑战第20天】事务是数据库操作的基本逻辑单位,确保数据一致性。ACID原则包括:原子性(操作全成或全败),一致性(事务前后数据合法性),隔离性(并发操作互不影响),持久性(提交后更改永久保存)。MySQL的InnoDB引擎支持事务,通过undo log实现回滚,redo log确保数据持久化。开启事务可使用`BEGIN`或`START TRANSACTION`,提交`COMMIT`,回滚`ROLLBACK`。
161 70
|
2月前
|
SQL druid Java
Java数据库部分(MySQL+JDBC)(二、JDBC超详细学习笔记)(下)
Java数据库部分(MySQL+JDBC)(二、JDBC超详细学习笔记)
49 3
Java数据库部分(MySQL+JDBC)(二、JDBC超详细学习笔记)(下)
|
2月前
|
SQL Java 关系型数据库
Java数据库部分(MySQL+JDBC)(二、JDBC超详细学习笔记)(上)
Java数据库部分(MySQL+JDBC)(二、JDBC超详细学习笔记)
67 3
Java数据库部分(MySQL+JDBC)(二、JDBC超详细学习笔记)(上)
|
2月前
|
SQL 关系型数据库 MySQL
Java数据库部分(MySQL+JDBC)(一、MySQL超详细学习笔记)(下)
Java数据库部分(MySQL+JDBC)(一、MySQL超详细学习笔记)
31 6
|
1月前
|
SQL 安全 数据库
基于SQL Server事务日志的数据库恢复技术及实战代码详解
基于事务日志的数据库恢复技术是SQL Server中一个非常强大的功能,它能够帮助数据库管理员在数据丢失或损坏的情况下,有效地恢复数据。通过定期备份数据库和事务日志,并在需要时按照正确的步骤恢复,可以最大限度地减少数据丢失的风险。需要注意的是,恢复数据是一个需要谨慎操作的过程,建议在执行恢复操作之前,详细了解相关的操作步骤和注意事项,以确保数据的安全和完整。
59 0
|
2月前
|
存储 关系型数据库 MySQL
Java数据库部分(MySQL+JDBC)(一、MySQL超详细学习笔记)(上)
Java数据库部分(MySQL+JDBC)(一、MySQL超详细学习笔记)
33 4
|
2月前
|
SQL 关系型数据库 MySQL
Java数据库部分(MySQL+JDBC)(一、MySQL超详细学习笔记)(中)
Java数据库部分(MySQL+JDBC)(一、MySQL超详细学习笔记)
25 3
下一篇
无影云桌面