CRUD

CRUD（クラッド）とは、ほとんど全てのコンピュータソフトウェアが持つ永続性REST and CRUD: the Impedance Mismatch InfoWorld、2007年1月29日の4つの基本機能のイニシャルを並べた用語。その4つとは、Create（生成）、Read（読み取り）、Update（更新）、Delete（削除）である。ユーザインタフェースが備えるべき機能（情報の参照/検索/更新）を指す用語としても使われる。

 データベースアプリケーション 
CRUD は関係データベースアプリケーションやRESTfulなWebアプリケーションで実装する必要のある主な機能を列挙したものと見ることができる。各文字は標準のSQL文に次のようにマッピング可能である。

 名前  操作  SQL Create  生成  INSERT Read  読み取り  SELECT Update  更新  UPDATE Delete  削除  DELETE

関係データベースはアプリケーションにとっての典型的な永続性層であるが、それ以外にも様々なものがある。CRUD は、オブジェクトデータベース、XMLデータベース、フラットファイルデータベース、特定のファイル形式などにも実装可能である。

Google Scholar では、CRUD を最初に使った論文として Kilov, H (1990) を挙げているKilov, H (1990) From semantic to object-oriented data modeling、First International Conference on System Integration, 1990. 385 - 393.。その概念は Kilov (1998) でも詳述されているHaim Kilov (1998) Business Specifications: The Key to Successful Software Engineering、Prentice Hall、ISBN 0-13-079844-4。

 ユーザインタフェース 
CRUD は、多くのアプリケーションのユーザインタフェースにも当てはまる。例えば、住所録（電話帳）ソフトでは、基本的な記録単位は個々の連絡先である。最も素朴なものでも、次のようなことが可能でなければならない。
 新たな連絡先情報を追加/生成できる。
 既存の連絡先情報を検索/表示できる。
 既存の連絡先情報を編集/更新できる。
 既存の連絡先情報を削除できる。

少なくともこれら4つの操作ができないと、そのソフトは完全とは言えない。これら機能は非常に基本的であるため、ひとまとめに解説されることが多い（「連絡先管理」など）。

 その他のバリエーション 
CRUDの代わりに次のような単語のイニシャルを並べたもの、あるいは頭字語が使われることもある。
 ABCD: add（追加）、browse（走査）、change（変更）、delete（削除）
 ACID: add（追加）、change（変更）、inquire（問合せ）、delete（削除）— トランザクション分野で使われるACIDと混同されやすい。
 BREAD: browse（走査）、read（読み取り）、edit（編集）、add（追加）、delete（削除）
 VADE(R): view（参照）、add（追加）、delete（削除）、edit（編集）（トランザクション処理に関しては、さらに restore（復元））

 脚注 

Category:ソフトウェアアーキテクチャ
Category:データベース