數據庫-事務和關係數據庫範式

一、數據庫

    數據庫是一個按照數據結構來存儲和管理數據的系統軟件,對數據庫進行管理的軟件系統稱爲數據庫管理系統。

二、關係數據庫範式

    是指在設計關係數據庫時,應當遵守設計原則。通過遵守這些規則設計出良好的關係數據庫,能夠避免數據冗餘,節省數據存儲空間和保障數據的一致性。

    數據庫的設計範式主要解決以下的問題

    1、強調關係數據庫中的列是不可分的

    2、減少數據庫中數據的冗餘

    3、關係數據不會因爲數據的更新而導致數據的不一致性

    4、在進行數據的插入和刪除操作時,不會插入和刪除異常

    5、在進行查詢時,所設計數據庫的數據庫結構合理

    關係數據庫常見的範式有:第一範式(1NF)、第二範式(2NF)、第三範式(3NF)、第四範式(4NF)、第五範式(5NF)、BCNF、常見的是前3種範式

    (1)第一範式(1NF):指的是關係數據庫的每一列都是不可分割的基本數據項,同一列中不能有多個值。保證了數據的不重複性。

    (2)第二範式(2NF):要滿足第二範式必須先滿足第一範式。在第二範式中,要求數據庫表中的每個行必須可以被唯一的區分,爲實現區分通常將表的第一個或多個屬性作爲行的唯一標識,這個標識稱爲主鍵。

        在第二範式中,要求行的列值完全依賴於主關鍵字。

     (3)第三範式要求數據庫中的表的非主鍵列之間不能有依賴。也就是說,第三範式主要用於減少數據冗餘。


三、事務

    事務是指用戶在進行數據庫操作時的一個數據庫操作序列。對於該操作序列中的操作,要麼全都執行,要麼都不執行。所有的操作時一個整體,不可分割。

    與事務相關的概念有事務提交,和事務回滾。事務提交時指將事務中對數據的更新提交到數據庫中。如果執行正確則事務結束。否則在發生異常時,事務將回滾,將數據庫狀態還原到事務提交之前的那個狀態,事務回滾主要用於事務失敗的情況下,終止事務並還原數據庫狀態。

    事務的特性:

    1、原子性:指的是事務是一個邏輯工作單位,其中的操作要麼全都執行,要麼都不執行。

    2、一致性;指的是事務執行的結果必須使數據庫從一個一致性狀態變爲另一個一致性的狀態。因此,數據庫中只包含事務提交成功的結果,這時的數據庫處於一致性狀態中。如果在提交事務時,因爲故障而停止時, 這些未完成的事務可能有些數據修改已經執行,而有些數據修改還沒執行,這時數據庫處於不一致狀態。

    3、隔離性:說明數據事務之間不能相互干擾。即一個事務的內部操作及其數據對其他併發的事務時隔離的,併發執行的事務之間不能相互干擾。

    4、持續性:指的是事務一旦提交,其對數據庫中的數據的改變是永久的。

四、事務特性被破壞的原因

    多個事務併發執行,事務之間的操作交叉執行;

    事務在運行過程中被強行終止。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章