CRUD(クラッド)とは、ほとんど全てのコンピュータソフトウェアが持つ永続性[1]の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) を挙げている[2]。その概念は Kilov (1998) でも詳述されている[3]。
CRUD は、多くのアプリケーションのユーザインタフェースにも当てはまる。例えば、住所録(電話帳)ソフトでは、基本的な記録単位は個々の連絡先である。最も素朴なものでも、次のようなことが可能でなければならない。
少なくともこれら4つの操作ができないと、そのソフトは完全とは言えない。これら機能は非常に基本的であるため、ひとまとめに解説されることが多い(「連絡先管理」など)。
CRUDの代わりに次のような単語のイニシャルを並べたもの、あるいは頭字語が使われることもある。