2017年10月2日 星期一

RDBMS-ACID



ACID,是指資料庫管理系統DBMS)在寫入或更新資料的過程中,為保證資料交易 transaction是正確可靠的,所必須具備的四個特性:原子性(atomicity,或稱不可分割性)、一致性(consistency)、隔離性(isolation,又稱獨立性)、持久性(durability)。
在資料庫系統中,一個資料交易是指:由一系列資料庫操作組成的一個完整的邏輯過程。例如銀行轉帳,從原帳戶扣除金額,以及向目標帳戶添加金額,這兩個資料庫操作的總和,構成一個完整的邏輯過程,不可拆分。這個過程被稱為一個事務,具有ACID特性。ACID的概念在ISO/IEC 10026-1:1992文件的第四段內有所說明。


  • 原子性:一個transaction中的所有操作,要麼全部完成,要麼全部不完成,不會結束在中間某個環節。事務在執行過程中發生錯誤,會被回滾(Rollback)到事務開始前的狀態,就像這個事務從來沒有執行過一樣。
  • 一致性:在transaction開始之前和事務結束以後,資料庫的完整性沒有被破壞。這表示寫入的資料必須完全符合所有的預設規則,這包含資料的精確度、串聯性以及後續資料庫可以自發性地完成預定的工作。
  • 隔離性:資料庫允許多個transaction同時對其數據進行讀寫和修改的能力,隔離性可以防止多個transaction 同時執行時而導致數據的不一致。
  • 持久性:transaction處理結束後,對數據的修改就是永久的,即便系統故障也不會丟失。


RDBMS (Relational DBMS ) 的SQL


1.)資料定義語言(Data Definition Language,DDL)是SQL語言集中負責資料結構定義與資料庫物件定義的語言,由CREATE、ALTER與DROP組成

2.)資料查詢語言(Data Query Language, DQL)是SQL語言中,負責進行資料查詢而不會對資料本身進行修改的語句,這是最基本的SQL語句。

3.)資料操作語言(Data Manipulation Language, DML)是SQL語言中,負責對資料庫物件執行資料存取工作的指令集,以INSERT、UPDATE、DELETE三種指令為核心,分別代表插入、更新與刪除,是開發以資料為中心的應用程式必定會使用到的指令,因此有很多開發人員都把加上SQL的SELECT語句的四大指令以「CRUD」來稱呼。


4.) 資料控制語言 (Data Control Language,DCL) 在SQL語言中,是一種可對資料存取權進行控制的指令,它可以控制特定使用者帳戶對資料表、檢視表、預存程式、使用者自訂函式等資料庫物件的控制權。由 GRANT 和 REVOKE 兩個指令組成。




沒有留言 :

張貼留言