注册 登录
MySQL基础教程

第一章: 环境搭建,安装MySQL

第二章: 掌握数据库的核心概念

第三章: MySQL服务与Show命令

第四章: 创建数据库与数据表

第五章: MySQL增查改删

第六章: 在Python中操作MySQL

首页 > MySQL基础教程 > 第二章: 掌握数据库的核心概念 > 2.4节: 数据库事务

2.4节: 数据库事务

薯条老师 2021-10-21 16:55:52 178436 0

编辑 收藏

广州番禺Python, Java小班培训周末班

薯条老师的线下Python小班办得很好,学员的平均就业薪资有11K。线下小班培训的课程有Python爬虫,Python后端开发,Python办公自动化,Python大数据分析,Python量化投资,Java中高级后端开发。授课详情请点击:http://chipscoco.com/?cate=6

2.4.1 事务的基础概念

事务是DBMS执行过程中的一个逻辑单元,由一个有限的操作序列构成,该操作序列被视为一个整体在系统中进行提交。在事务的提交过程中,操作序列中的操作要么全部执行成功,要么全部执行失败。在DBMS中,通过事务来保证对数据操作的安全性和完整性。
2.4.2 事务的四大特性

事务包含了以下四个特性:

原子性(Atomicity),一致性(Consistency),隔离性(Isolation),持久性(Durability)。这四大特性简称为ACID。

2.4.3 原子性

原子性是指将操作集合里面的操作要么完全执行,要么完全不执行。例如对数据A进行修改,会包含如下3个读写操作:

(1)读取A的值 (2) 对读取到的值进行修改 (3)将值写回到A中

(1)(2)(3)操作,要么全部成功,要么全部失败,这就是所谓的原子性。

2.4.4 一致性

一致性是指事务执行的结果必须从一种一致性状态,转换为另一种一致性状态,状态的转换过程对外不可见。
以银行转账来进行举例:A账户余额1000元,B账户余额500元,从A账户转账500到B账户,最终A账户余额为500,B账户余额为1000。
首先分析转账过程中存在的一致性状态:

转账前的一致性状态:A账户余额1000元,B账户余额500元
转账成功后的一致性状态:A账户余额500元,B账户余额1000元

那么,事务就是指必须由(1)中的一致性状态转换为(2)中的一致性状态,至于转账操作是否成功,由事务的原子性来进行保证。
2.4.5 隔离性
隔离性是指事务在执行过程中,不能被其它事务干扰。按读写维度来进行划分,数据库中的事务可分为读事务和写事务。假设数据库中同时存在对数据A的读事务,和对数据A的写事务,则读事务在读取A的值的过程中,不能被写事务干扰,解决办法是将读事务与写事务进行隔离,读事务要么先于A事务发生,要么在写事务完成以后,再进行数据A的读取。

数据库事务定义了四种隔离级别,级别由低到高进行排序分别为:Read uncommitted, Read committed,Repeatable read,Serializable, 事务隔离级别越高,能更有效的保证对数据进行并发读写的正确性。

2.4.6 持久性

持久性是指,事务一旦提交,对数据库中的数据的改变就应该是永久性的。

2.4.7 最具实力的小班培训

来这里参加Python和Java小班培训的学员大部分都找到了很好的工作,平均月薪有11K,学得好的同学,拿到的会更高。由于是小班教学,所以薯条老师有精力把每位学员都教好。打算参加线下小班培训的同学,必须遵守薯条老师的学习安排,认真做作业和项目。把知识学好,学扎实,那么找到一份高薪的工作就是很简单的一件事。

(1) Python后端工程师高薪就业班,月薪11K-18K,免费领取课程大纲
(2) Python爬虫工程师高薪就业班,年薪十五万,免费领取课程大纲
(3) Java后端开发工程师高薪就业班,月薪11K-20K, 免费领取课程大纲
(4) Python大数据分析,量化投资就业班,月薪12K-25K,免费领取课程大纲

扫码免费领取学习资料:



欢迎 发表评论:

请登录

忘记密码我要注册

注册账号

已有账号?请登录