搜索
查看
编辑修改
首页
UNITY
NODEJS
PYTHON
AI
GIT
PHP
GO
CEF3
JAVA
HTML
CSS
搜索
小蓝xlanll
这个屌丝很懒,什么也没留下!
关注作者
热门标签
jquery
HTML
CSS
PHP
ASP
PYTHON
GO
AI
C
C++
C#
PHOTOSHOP
UNITY
iOS
android
vue
xml
爬虫
SEO
LINUX
WINDOWS
JAVA
MFC
CEF3
CAD
NODEJS
GIT
Pyppeteer
article
热门文章
1
学生类-构造函数
2
yolo学习之各版本网络结构_yolo网络结构
3
Invalid file name: must contain only [a-z0-9_.]_invalid file name:must contain only[a-z0-9_.]
4
鸿蒙OS开发sdk,鸿蒙开发之基础环境搭建
5
简述什么是计算生态?
6
npm run build打包产生的build文件夹通过nginx部署到服务器上访问(centos8)_npm run build 带路径
7
C++实现的五子棋_c++五子棋
8
app上架-经检测发现,您的应用存在收集用户的个人信息或权限的行为....但未在应用内的隐私政策/在AppGallery Connect上提交的隐私政策网址中_应用获取加速度传感器个人信息
9
Android Canvas : 1 基础介绍_android canvas原理
10
macOS - 获取硬件设备信息
当前位置:
article
> 正文
什么是数据库的事务???_数据库中b是啥子
作者:小蓝xlanll | 2024-03-15 08:42:29
赞
踩
数据库中b是啥子
什么是事务?我们知道,数据库是一个面向多用户的共享机制,因此数据库管理系统应当具备并发控制和封锁机制,保证数据库系统的正常运行。但是当多个用户访问数据库的时候,如果每一个用户程序一个一个的串行执行,则每一时刻只有一个用户执行对数据库的操作,其他用户必须等待,这样的话会严重影响数据库资源的使用。所以数据库管理系统必有能够保证多个用户同时使用数据库。但是这样会出现以下三个主要异常问题:
?脏读数据:当第一个用户修改数据时,第二个用户在第一个用户没有确认修改之前读取了该数据,这时可能会出现脏读现象。如果第一个用户确认了修改,第二个用户检索不到数据库中所修改的数据,有时这种现象也称为丢失修改。
?不可重复读:当某一个用户对某一行数据进行第一次读取过程后,另外一个用户对该数据进行了修改,从第一个用户的角度来看,如果再次读取原先的数据会发现与前次不同,这就是不可重复读现象。
?发生幻象:当第一个用户检查某张表的时候,没有发现某个值X,但是在该用户还没操作完成之前,另外一个用户插入了一个X值,结果,导致第一个用户认为数据库没有X值,而实际上数据库有这个值X。这就是幻象。
用户之间相互干扰,出现的以上问题,后果不堪设想。因此数据库系统采用事务的概念来解决这个问题。
事务是一系列作为一个逻辑单元来执行的操作集合。它是数据库维护数据一致性的单位,它将数据库从一致状态转变为新的一致状态,说的简单一点就是,如果一组处理步骤要么全部发生要么一步也不执行,我们称该组处理步骤为一个事务。这样就保证了数据始终一致的状态,不至于破坏数据的完整性、可靠性。一个事务执行以后,DBMS会自动检查数据库中数据的一致性。
确保数据的一致性是保证数据库里面的数据正确反映现实世界的前提。举个例子大家可能就清楚了,比如一个银行要将一笔钱从A->B;对数据库中的操作主要有两个步骤:一是从A账户中减去这笔钱;二是把B账户中的钱增加一笔。其实这两个步骤操作就是一个逻辑单元,就是一个操作集合,就是一个事务。这就要求两个步骤操作同步执行,要么它们都操作成功,要么都操作失败。如果一个操作失败,整个事务也就失败了,并且已经执行的操作都会被撤消,也就是回滚到先前的状态。
SQLServer启动事务有三种模式:
?自动提交:在自动提交模式下,每一个SQL语句就是一个事务(也就是一个操作),语句执行完成以后,事务也就完成了,这时在这模式下,SQLSERVER自动结束事务。SQLSERVER为每个单独的语句提供这种事务模式,以保证数据的一致性。SQLSERVER的默认方式就是这种方式。但是如果是一组语句操作,要想使用事务模式就得采用下面的方式了。
?显式:当明确事务开始和结束的点时,所使用的就是显式事务模式。 开始事务语句:Begin Transaction;结束事务语句:Commit(成功提交)、Rollback(事务失败)。
?隐式:无论何时使用某些SQL语句,SQLSERVER就会隐式的启动一个事务。在这里他也把每一个SQL语句当作一个事务,只不过这种模式负责启动事务,而自动提交模式负责提交事务,也就是结束事务。
举例说明如:begin transaction update_A //开始事务
Update biao set A=2000
rollback transaction update_A //结束事务
上面的情况是在SQL查询分析器中执行的,可以虚拟两个用户,同时对biao进行访问,一个更新数据,一个查询数据,两个用户访问时间交叉。
声明:
本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:
https://www.wpsshop.cn/w/小蓝xlanll/article/detail/239590?site
推荐阅读
article
事务
ACID
特性;脏
读
、
不可
重复
读
、
幻
读
;
读
未
提交
、
读
已
提交
、
可
重复
读
、
串行化_
读
未
提交
、
读
已
提交
、
...
事务
具有4个特征,分别是原子性
、
一致性
、
隔离性和持久性,简称
事务
的
ACID
特性;一
、
原子性(atomicity)一个
事务
...
赞
踩
article
(踩坑
,
已
解决
)小
程序
表单富
文本
textarea
限制
字符
maxLength
最后
一个
字符
只能打
一个
...
问题如题
,
最后
一个
字符
这样就不能
在
打拼音字母了。网上有
一个
解决
方案
,
是使用
截取
字符
的方法即不使用限制字数的maxLeng...
赞
踩
article
易语言之
删除
选中
项_
超级
列表框
删除
选中
项...
.版本 2 .支持库 iext.子程序 按钮1被单击
超级
列表框
1.
删除
表项 (
超级
列表框
1.现行
选中
项).子程序
超级
列...
赞
踩
article
Synergy
配置
说明_
synergy
设置
教程...
Synergy
这是一款能够让使用者仅用一套键盘鼠标,就同时操控多部计算机的免费工具软件。使用者能够在包括 Window...
赞
踩
article
mysql
中读
提交
意义
_
阅读——
mysql
必知必会...
什么是sql?SQL(发音为字母S-Q-L或sequel)是结构化查询语言(Structured QueryLangua...
赞
踩
article
RedisTemplate
详解...
实际上。如果我们的value如果想用自定义序列化成的方式进行存储在实际开发中可能会遇到很多问题。其中问题主要在序列化本身...
赞
踩
article
vs
c
ode
+
c
langd
开发
c
\
c
++_
vs
c
ode
c
langd
...
目录标题背景发现
c
langd
三级目录背景
vs
c
ode
c
++开大家一般用 巨硬 自家出品的
c
++插件,如下网络大部分的v...
赞
踩
article
adb
最大
连接
_谷歌将为
Android
11
ADB
无线
连接
提供密码确认和
加密
以提高安全性...
对于安卓开发者来说通过
ADB
进行调试应用是必不可少的 ,
ADB
可生成日志、传输文件以及侧载安装包等功能。开发者可以...
赞
踩
article
面试必备之
数据库
知识点
总结
_
数据库
知识点
总结
归纳...
原文地址:https://github.com/DmrfCoder/interview/blob/master/Data...
赞
踩
article
AM4
系统
前端
探究-
npm
包的使用...
Please enter the password to read the blog. Incorrect Passw...
赞
踩
article
信号
与
系统
复习笔记——
信号
与
系统
的
时域
和频域
特性
_
信号
与
系统
频率
特性
...
Xjω∣Xjω∣ej∡Xjω其中模使用∣Xjω∣表示,相位使用∡Xjω表示。Xejω∣Xejω∣ej∡Xejω傅里叶变换...
赞
踩
article
鸿蒙物
联网
开发——
BearPi
Nano
开发板系列2
_
e53
_
is1红外感应...
学习目标:一、智慧农业E53
_
IA1扩展板、智慧物流E53
_
ST1扩展板、智慧路灯E53
_
SC1扩展板、智慧烟感E53
_
...
赞
踩
article
window
下
使用
vnc
远程
登录
linux
图形界面
和运行应用程序 和
odroid
Xu4开发板的
使用
...
注:自己曾经尝试过很多次
使用
VNC
远程
登录
odroid
-XU4的开发板,但是连接后均显示未解码的连接,到目前为止还没解决...
赞
踩
article
HarmonyOS
开发
详解(一)——带你全面认识新一代
万物
联网的
鸿蒙
智能终端_
harmonyos
m...
关注华为
鸿蒙
系统好久了,看了
鸿蒙
发布会、也看了很多
鸿蒙
的科普文章,深深的被
鸿蒙
的特性和未来应用吸引。
鸿蒙
的特性和优点有非...
赞
踩
article
CentOS7
TurboVNC
安装配置_
centos7
安装
turbovnc
...
TurboVNC
安装配置_
centos7
安装
turbovnc
centos7
安装
turbovnc
...
赞
踩
article
计算机
视觉
算法
中的
图像
修复
(
Image
Inpainting)_
计算机
视觉
视角
恢复
...
图像
修复
是
计算机
视觉
领域中的一项重要任务,通过
算法
手段从损坏或缺失的
图像
数据中
恢复
缺失的部分。本文介绍了
图像
修复
的基本概...
赞
踩
article
为银行“面对面”服务
安全
护航|基于
银河
麒麟
操作系统
的
金融
柜面
解决方案
...
柜面
业务系统作为
金融
机构与客户进行业务交易的主要渠道之一,随着
金融
市场的快速发展和竞争加剧,其升级和改进对于提升服务质量...
赞
踩
article
Android
的
内存
泄漏分析...
内存
溢出: 指程序在申请
内存
时,没有足够的
内存
空间供其使用,出现out of memory
Android
系统为每个应用程...
赞
踩
article
【
区别
总结】C、
Java
和
脚本语言
区别
_
脚本语言
和
java
的
比较...
1、对象内存C++对象内存布局(虚函数表,值类型
的
子对象直接分配内存单元,引用类型
的
子对象记录地址),注意不为成员函数分...
赞
踩
article
Java
注解
详解和
自定义
注解
实战,
用
代码
讲解...
.markdown-body { line-height: 1.75; font-weight: 400; font-s...
赞
踩
相关标签
事务
javascript
vue
小程序
uni-app
vue.js
e
经验分享
开源软件
pdf
mysql中读提交意义
java
redis
redisTemplate
SpringDataRedis
序列化
c++
vscode
adb 最大连接
安卓加密软件
面试
数据库
笔记
算法