首頁常見問題正文

Java數(shù)據(jù)庫操作常識:事務的四大特性

更新時間:2022-09-29 來源:黑馬程序員 瀏覽量:

IT培訓班

  事務有很嚴格的定義,它必須同時滿足4個特性,即原子性(Atomicity)、一致性(Consistency)、隔離性(Isolation)、持久性(Durability),也就是人們俗稱的ACID標準,接下來就針對這4個特性進行講解,具體如下。

  1.原子性

  原子性是指一個事務必須被視為一個不可分割的最小工作單元,只有事務中所有的數(shù)據(jù)庫操作都執(zhí)行成功,才算整個事務執(zhí)行成功,事務中如果有任何一個SQL語句執(zhí)行失敗,已經(jīng)執(zhí)行成功的SQL語句也必須撤銷,數(shù)據(jù)庫的狀態(tài)退回到執(zhí)行事務前的狀態(tài)。

  2.一致性

  一致性是指事務將數(shù)據(jù)庫從一種狀態(tài)轉(zhuǎn)變?yōu)橄乱环N一致的狀態(tài)。例如,在表中有一個字段為姓名,具有唯一約束,即姓名不能重復,如果一個事務對姓名進行了修改,使姓名變得不唯一了,這就破壞了事務的一致性要求,如果事務中的某個動作失敗了,系統(tǒng)可以自動撤銷事務,返回初始化的狀態(tài)。

1664418129557_事務的4大特性.jpg

  3.隔離性

  隔離性還可以稱為并發(fā)控制、可串行化、鎖等,當多個用戶并發(fā)訪問數(shù)據(jù)庫時,數(shù)據(jù)庫為每一個用戶開啟的事務,不能被其他事務的操作數(shù)據(jù)所干擾,多個并發(fā)事務之間要相互隔離。

  4.持久性

  事務一旦提交,其所做的修改就會永久保存到數(shù)據(jù)庫中,即使數(shù)據(jù)庫發(fā)生故障也不應該對其有任何影響。需要注意的是,事務的持久性不能做到100%的持久,只能從事務本身的角度來保證永久性,而一些外部原因?qū)е聰?shù)據(jù)庫發(fā)生故障,如硬盤損壞,那么所有提交的數(shù)據(jù)可能都會丟失。

  需要注意的是,針對事務的4個特性有個簡單的印象就可以了,不必太過斟酌,事務的操作才是重點掌握的內(nèi)容。

分享到:
在線咨詢 我要報名
和我們在線交談!