增刪查改(英語:CRUD[註 1]),全稱增加(Create,意為「建立」)、刪除(Delete)、查詢(Read,意為「讀取」)、改正(Update,意為「更新」),在電腦程式語言中是一連串常見的動作行為,而其行為通常是為了針對某個特定資源所作出的舉動(例如:建立資料、讀取資料等)。這四個行為最常見的用途是在使用SQL資料庫與網站的API的時候。這個詞語(CRUD)最早被記載於James Martin所撰寫的Managing the Data-base Environment[1][2]書中。

基本用途與別名

編輯

在不同情況下,原本的「增刪查改」所對應的英文詞彙會因此而改名,而不再對應CRUD。例如 HTTP 中,原本「增刪查改」所對應的英文詞彙被改名,比如「查」不再是Read,而改為GET;「增」不再是Create,而改為POST;「改」不再是Update,而改為PUT等等,這個現象也出現在 SQL 資料庫中。話雖如此,雖然有著不同名稱,但底層的概念都基本相同。

中文 英文 意義 SQL HTTP 表現層狀態轉換(REST) 資料分散服務英語Data Distribution Service MongoDB
增加 Create 建立 INSERT PUT / POST POST WRITE Insert
刪除 Delete 刪除 DELETE DELETE DELETE DISPOSE Remove
查詢 Read 讀取 SELECT GET GET READ / TAKE Find
改正 Update 更新 UPDATE PUT / POST / PATCH PUT WRITE Update

型態變化

編輯

隨著時間的演進,原本的「增刪查改」(CRUD)已經不再能夠滿足大部分的需求了,因此有些人會修改部份詞語來更符合當下的動作名稱。例如說:BREADS、ACID、ABCD[3]。雖然這些用法多了一些行為,但實際上也只是某些基礎行為(CRUD)的變化,例如:BREADS 中的「瀏覽(Browse)」其實是會回傳多筆資料的「讀取(Read)」行為。

  • BREADS(也譯作:麵包)[4]
    • 瀏覽(Browse)、讀取(Read)、編輯(Edit)、建立(Add)、刪除(Delete)、搜尋(Search)
  • ICRUD[3]
    • 索引(Index)、建立(Create)、讀取(Read)、更新(Update)、刪除(Delete)
  • CRAP(也譯作:垃圾)[5]
    • 建立(Create)、複製(Replicate)、寫入(Append)、處理(Process)
  • DAVE[6]
    • 刪除(Delete)、建立(Add)、檢視(View)、更新(Edit)
  • ABCD[3]
    • 建立(Add)、瀏覽(Browse)、更新(Change)、刪除(Delete)
  • ACID(也譯作:鹽酸, 注意這裡和保證資料庫可靠性的ACID不是一回事)
    • 建立(Add)、更新(Change)、查詢(Inquire)、刪除(Delete)

註釋

編輯
  1. ^ 英語中因為CRUD比中文所對應的CDRU易讀易記而將「刪除」(Delete)放置於最後。但是英文小寫的crud,是指渣滓、水垢、腐蝕汙泥。

參考資料

編輯
  1. ^ Managing the Data-base Environment,第381頁,載於Google圖書
  2. ^ Martin, James. Managing the Data-base Environment. Englewood Cliffs, New Jersey: Prentice-Hall. 1983: 381. ISBN 0-135-50582-8. 
  3. ^ 3.0 3.1 3.2 BREAD, not CRUD | Paul M. Jones. [2019-01-12]. (原始內容存檔於2019-05-08) (美國英語). 
  4. ^ Paul M. Jones. BREAD, not CRUD. 2008 [2019-01-12]. (原始內容存檔於2019-05-08). 
  5. ^ CRAP and CRUD: From Database to Datacloud - Direct2DellEMC. Direct2DellEMC. 2012-11-13 [2018-01-30]. (原始內容存檔於2020-08-11) (美國英語). 
  6. ^ McGaw, James. Beginning Django E-Commerce. : 41 [2019-01-12]. (原始內容存檔於2020-06-11).