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、。
ユーザインタフェース 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(復元))
脚注