导航:首页 > 编程大全 > 数据库事务四个特性

数据库事务四个特性

发布时间:2024-06-23 02:59:04

A. 数据库事务四大特性是什么

1、原子性(Atomicity)

原子性是指事务包含的所有操作要么全部成功,要么全部失败回滚,因此事务的操作如果成功就必须要完全应用到数据库,如果操作失败则不能对数据库有任何影响。

2、 一致性(Consistency)

一致性是指事务必须使数据库从一个一致性状态变换到另一个一致性状态,也就是说一个事务执行之前和执行之后都必须处于一致性状态。

拿转账来说,假设用户A和用户B两者的钱加起来一共是5000,那么不管A和B之间如何转账,转几次账,事务结束后两个用户的钱相加起来应该还得是5000,这就是事务的一致性。

3、隔离性(Isolation)

隔离性是当多个用户并发访问数据库时,比如操作同一张表时,数据库为每一个用户开启的事务,不能被其他事务的操作所干扰,多个并发事务之间要相互隔离。

即要达到这么一种效果:对于任意两个并发的事务T1和T2,在事务T1看来,T2要么在T1开始之前就已经结束,要么在T1结束之后才开始,这样每个事务都感觉不到有其他事务在并发地执行。

4、持久性(Durability)

持久性是指一个事务一旦被提交了,那么对数据库中的数据的改变就是永久性的,即便是在数据库系统遇到故障的情况下也不会丢失提交事务的操作。

(1)数据库事务四个特性扩展阅读

在数据库中,关于读数据的概念:

1、脏读(Dirty Reads):所谓脏读就是对脏数据(Drity Data)的读取,而脏数据所指的就是未提交的数据。也就是说,一个事务正在对一条记录做修改,在这个事务完成并提交之前,这条数据是处于待定状态的(可能提交也可能回滚)。

这时,第二个事务来读取这条没有提交的数据,并据此做进一步的处理,就会产生未提交的数据依赖关系。这种现象被称为脏读。

2、不可重复读(Non-Repeatable Reads):一个事务先后读取同一条记录,但两次读取的数据不同,我们称之为不可重复读。也就是说,这个事务在两次读取之间该数据被其它事务所修改。

3、幻读(Phantom Reads):一个事务按相同的查询条件重新读取以前检索过的数据,却发现其他事务插入了满足其查询条件的新数据,这种现象就称为幻读。

B. 鏁版嵁搴撲簨鍔″洓澶х壒鎬ф槸浠涔堬紵

浜嬪姟鐨勶細鍘熷瓙鎬с佷竴鑷存с佸垎绂绘с佹寔涔呮 鍘熷瓙鎬с佷竴鑷存с佸垎绂绘с佹寔涔呮(1) 鍘熷瓙鎬с 浜嬪姟鐨勫師瀛愭ф寚鐨勬槸锛屼簨鍔′腑鍖呭惈鐨勭▼搴忎綔涓烘暟鎹搴撶殑閫昏緫宸ヤ綔鍗曚綅锛屽畠鎵鍋氱殑瀵规暟鎹淇鏀规搷浣滆佷箞鍏ㄩ儴鎵ц岋紝瑕佷箞瀹屽叏涓嶆墽琛屻傝繖绉嶇壒鎬хО涓哄師瀛愭с 銆 浜嬪姟鐨勫師瀛愭ц佹眰锛屽傛灉鎶婁竴涓浜嬪姟鍙鐪嬩綔鏄涓涓绋嬪簭锛屽畠瑕佷箞瀹屾暣鐨勮鎵ц岋紝瑕佷箞瀹屽叏涓嶆墽琛屻傚氨鏄璇翠簨鍔$殑鎿嶇旱搴忓垪鎴栬呭畬鍏ㄥ簲鐢ㄥ埌鏁版嵁搴撴垨鑰呭畬鍏ㄤ笉褰卞搷鏁版嵁搴撱傝繖绉嶇壒鎬хО涓哄師瀛愭с 鍋囧傜敤鎴峰湪涓涓浜嬪姟鍐呭畬鎴愪簡瀵规暟鎹搴撶殑鏇存柊锛岃繖鏃舵墍鏈夌殑鏇存柊瀵瑰栭儴涓栫晫蹇呴』鏄鍙瑙佺殑锛屾垨鑰呭畬鍏ㄦ病鏈夋洿鏂般傚墠鑰呯О浜嬪姟宸叉彁浜わ紝鍚庤呯О浜嬪姟鎾ゆ秷锛堟垨娴佷骇锛夈侱BMS蹇呴』纭淇濈敱鎴愬姛鎻愪氦鐨勪簨鍔″畬鎴愮殑鎵鏈夋搷绾靛湪鏁版嵁搴撳唴鏈夊畬鍏ㄧ殑鍙嶆槧锛岃屽け璐ョ殑浜嬪姟瀵规暟鎹搴撳畬鍏ㄦ病鏈夊奖鍝嶃 (2) 涓鑷存т簨鍔$殑涓鑷存ф寚鐨勬槸鍦ㄤ竴涓浜嬪姟鎵ц屼箣鍓嶅拰鎵ц屼箣鍚庢暟鎹搴撻兘蹇呴』澶勪簬涓鑷存х姸鎬併傝繖绉嶇壒鎬хО涓轰簨鍔$殑涓鑷存с傚亣濡傛暟鎹搴撶殑鐘舵佹弧瓒虫墍鏈夌殑瀹屾暣鎬х害鏉燂紝灏辫磋ユ暟鎹搴撴槸涓鑷寸殑銆 銆銆涓鑷存у勭悊鏁版嵁搴撲腑瀵规墍鏈夎涔夌害鏉熺殑淇濇姢銆傚亣濡傛暟鎹搴撶殑鐘舵佹弧瓒虫墍鏈夌殑瀹屾暣鎬х害鏉燂紝灏辫磋ユ暟鎹搴撴槸涓鑷寸殑銆備緥濡傦紝褰撴暟鎹搴撳勪簬涓鑷存х姸鎬丼1鏃讹紝瀵规暟鎹搴撴墽琛屼竴涓浜嬪姟锛屽湪浜嬪姟鎵ц屾湡闂村亣瀹氭暟鎹搴撶殑鐘舵佹槸涓嶄竴鑷寸殑锛屽綋浜嬪姟鎵ц岀粨鏉熸椂锛屾暟鎹搴撳勫湪涓鑷存х姸鎬丼2銆 (3) 鍒嗙绘с銆鍒嗙绘ф寚骞跺彂鐨勪簨鍔℃槸鐩镐簰闅旂荤殑銆傚嵆涓涓浜嬪姟鍐呴儴鐨勬搷浣滃強姝e湪鎿嶄綔鐨勬暟鎹蹇呴』灏侀攣璧锋潵锛屼笉琚鍏跺畠浼佸浘杩涜屼慨鏀圭殑浜嬪姟鐪嬪埌銆 鍒嗙绘ф槸DBMS閽堝瑰苟鍙戜簨鍔¢棿鐨勫啿绐佹彁渚涚殑瀹夊叏淇濊瘉銆侱BMS鍙浠ラ氳繃鍔犻攣鍦ㄥ苟鍙戞墽琛岀殑浜嬪姟闂存彁渚涗笉鍚岀骇鍒鐨勫垎绂汇傚亣濡傚苟鍙戜氦鍙夋墽琛岀殑浜嬪姟娌℃湁浠讳綍鎺у埗锛屾搷绾电浉鍚岀殑鍏变韩瀵硅薄鐨勫氫釜骞跺彂浜嬪姟鐨勬墽琛屽彲鑳藉紩璧峰紓甯告儏鍐点 銆銆DBMS鍙浠ュ湪骞跺彂鎵ц岀殑浜嬪姟闂存彁渚涗笉鍚岀骇鍒鐨勫垎绂汇傚垎绂荤殑绾у埆鍜屽苟鍙戜簨鍔$殑鍚炲悙閲忎箣闂村瓨鍦ㄥ弽姣斿叧绯汇傝緝澶氫簨鍔$殑鍙鍒嗙绘у彲鑳戒細甯︽潵杈冮珮鐨勫啿绐佸拰杈冨氱殑浜嬪姟娴佷骇銆傛祦浜х殑浜嬪姟瑕佹秷鑰楄祫婧愶紝杩欎簺璧勬簮蹇呴』瑕侀噸鏂拌璁块棶銆傚洜姝わ紝纭淇濋珮鍒嗙荤骇鍒鐨凞BMS闇瑕佹洿澶氱殑寮閿銆 (4)鎸佷箙鎬с銆鎸佷箙鎬ф剰鍛崇潃褰撶郴缁熸垨浠嬭川鍙戠敓鏁呴殰鏃讹紝纭淇濆凡鎻愪氦浜嬪姟鐨勬洿鏂颁笉鑳戒涪澶便傚嵆涓鏃︿竴涓浜嬪姟鎻愪氦锛孌BMS淇濊瘉瀹冨规暟鎹搴撲腑鏁版嵁鐨勬敼鍙樺簲璇ユ槸姘镐箙鎬х殑锛岃愬緱浣忎换浣曠郴缁熸晠闅溿傛寔涔呮ч氳繃鏁版嵁搴撳囦唤鍜屾仮澶嶆潵淇濊瘉銆 銆銆鎸佷箙鎬ф剰鍛崇潃褰撶郴缁熸垨浠嬭川鍙戠敓鏁呴殰鏃讹紝纭淇濆凡鎻愪氦浜嬪姟鐨勬洿鏂颁笉鑳戒涪澶便傚嵆瀵瑰凡鎻愪氦浜嬪姟鐨勬洿鏂拌兘鎭㈠嶃備竴鏃︿竴涓浜嬪姟琚鎻愪氦锛孌BMS蹇呴』淇濊瘉鎻愪緵閫傚綋鐨勫啑浣欙紝浣垮叾鑰愬緱浣忕郴缁熺殑鏁呴殰銆

C. 事务有哪些特性

事务(Transaction)是访问并可能更新数据库中各种数据项的一个程序执行单元(unit)。事务通常由高级数据库操纵语言或编程语言(如SQL,C++或Java)书写的用户程序的执行所引起,并用形如begin
transaction和end
transaction语句(或函数调用)来界定。事务由事务开始(begin
transaction)和事务结束(end
transaction)之间执行的全体操作组成。
例如:在关系数据库中,一个事务可以是一条SQL语句,一组SQL语句或整个程序。
特性事务是恢复和并发控制的基本单位。
事务应该具有4个属性:原子性、一致性、隔离性、持续性。这四个属性通常称为ACID特性。
原子性(atomicity)。一个事务是一个不可分割的工作单位,事务中包括的操作要么都做,要么都不做。
一致性(consistency)。事务必须是使数据库从一个一致性状态变到另一个一致性状态。一致性与原子性是密切相关的。
隔离性(isolation)。一个事务的执行不能被其他事务干扰。即一个事务内部的操作及使用的数据对并发的其他事务是隔离的,并发执行的各个事务之间不能互相干扰。
持久性(rability)。持续性也称永久性(permanence),指一个事务一旦提交,它对数据库中数据的改变就应该是永久性的。接...事务(Transaction)是访问并可能更新数据库中各种数据项的一个程序执行单元(unit)。事务通常由高级数据库操纵语言或编程语言(如SQL,C++或Java)书写的用户程序的执行所引起,并用形如begin
transaction和end
transaction语句(或函数调用)来界定。事务由事务开始(begin
transaction)和事务结束(end
transaction)之间执行的全体操作组成。
例如:在关系数据库中,一个事务可以是一条SQL语句,一组SQL语句或整个程序。
特性事务是恢复和并发控制的基本单位。
事务应该具有4个属性:原子性、一致性、隔离性、持续性。这四个属性通常称为ACID特性。
原子性(atomicity)。一个事务是一个不可分割的工作单位,事务中包括的操作要么都做,要么都不做。
一致性(consistency)。事务必须是使数据库从一个一致性状态变到另一个一致性状态。一致性与原子性是密切相关的。
隔离性(isolation)。一个事务的执行不能被其他事务干扰。即一个事务内部的操作及使用的数据对并发的其他事务是隔离的,并发执行的各个事务之间不能互相干扰。
持久性(rability)。持续性也称永久性(permanence),指一个事务一旦提交,它对数据库中数据的改变就应该是永久性的。接下来的其他操作或故障不应该对其有任何影响。

阅读全文

与数据库事务四个特性相关的资料

热点内容
网络机顶盒电视没信号怎么回事 浏览:384
苹果手机如何下载来玩 浏览:826
win10安装重新启动 浏览:395
复制文件和文件夹出错 浏览:652
加工中心编程如何学 浏览:16
电脑扫码支付密码吗 浏览:815
网络微信平台 浏览:165
applepay未添加此卡 浏览:201
哪个网站可以试玩cq9游戏 浏览:367
怎么查电信光纤账号和密码是什么样的 浏览:830
iphone如何发录音文件 浏览:982
windowsxp桌面小工具 浏览:154
运动类app开发设计 浏览:401
psico图标文件生成 浏览:706
将所有文件名导入数据库 浏览:856
查看linux服务器使用情况 浏览:177
日版iphone5蜂窝数据 浏览:336
淄博淄博兼职女微信群 浏览:374
px转sp在线工具 浏览:538
addhandlerjs 浏览:440

友情链接