資料庫特性

2021-09-02 07:50:26 字數 1231 閱讀 1237

資料庫的acid特性:資料

12:

automicity(原子性)
consistency(一致性)

isolation(隔離性)durability(永續性)

原子性:

原子性是指事務包含的所有操作要麼全部成功,要麼全部失敗回滾,因此事務的操作如果成功就必須要完全應用到資料庫,如果操作失敗則不能對資料庫有任何影響

一致性:

一致性是指事務必須使資料庫從乙個一致性狀態變換到另乙個一致性狀態

拿轉賬來說,假設使用者a和使用者b兩者的錢加起來一共是5000,那麼不管a和b之間如何轉賬,轉幾次賬,事務結束後兩個使用者的錢相加起來應該還得是5000,這就是事務的一致性。

隔離性:

隔離性是當多個使用者併發訪問資料庫時,比如操作同一張表時,資料庫為每乙個使用者開啟的事務,不能被其他事務的操作所干擾,多個併發事務之間要相互隔離。

對於任意兩個併發的事務t1和t2,在事務t1看來,t2要麼在t1開始之前就已經結束,要麼在t1結束之後才開始,這樣每個事務都感覺不到有其他事務在併發地執行。

永續性:

永續性是指乙個事務一旦被提交了,那麼對資料庫中的資料的改變就是永久性的,即便是在資料庫系統遇到故障的情況下也不會丟失提交事務的操作

隔離級別:

1.read uncimmitted(未提交讀)

2.read committed(提交讀)

3.repeatable read(可重複讀)

4.serializable(可序列化)

讀資料概念:

1)髒讀(dirty reads):所謂髒讀就是對髒資料(drity data)的讀取,而髒資料所指的就是未提交的資料。也就是說,乙個事務正在對一條記錄做修改,在這個事務完成並提交之前,這條資料是處於待定狀態的(可能提交也可能回滾),這時,第二個事務來讀取這條沒有提交的資料,並據此做進一步的處理,就會產生未提交的資料依賴關係。這種現象被稱為髒讀。

2)不可重複讀(non-repeatable reads):乙個事務先後讀取同一條記錄,但兩次讀取的資料不同,我們稱之為不可重複讀。也就是說,這個事務在兩次讀取之間該資料被其它事務所修改。

3)幻讀(phantom reads):乙個事務按相同的查詢條件重新讀取以前檢索過的資料,卻發現其他事務插入了滿足其查詢條件的新資料,這種現象就稱為幻讀。

資料庫特性

事務的原子性 事務的原子性指的是,事務中包含的程式作為資料庫的邏輯工作單位,它所做的對資料改操作要全部執行,要麼全部不執行。這種特性稱為原子性。事務的原子性要求,如果把乙個事務看作是乙個程式,它要麼完整的被執行,要麼完全執行。就是說事務的操縱序列或者完全應用到資料庫或者完全不影響資料庫。這種特性稱為...

資料庫特性

size medium acid acid是描述乙個有效的事務處理系統應提供的4種特性的首字母縮寫詞。acid代表atomicity 原子性 consistency 一致性 isolation 隔離性 和durability 永續性 原子性是指事務處理是原子的。事務處理中的操作要麼全部完成要麼都不執...

mysql資料庫特性

引擎 特性myisam 不支援外來鍵,表鎖,插入資料時,鎖定整個表,查表總行數時,不需要全表掃瞄 innodb 支援外來鍵,行鎖,查表總行數時,全表掃瞄,支援事務 型別 使用場景 varchar 字元長度經常變的 char 用字元長度固定的 級別 概念1nf 字段值不可分 2nf確保表中的每列都和主...