CRUDって何?わかりやすく解説

スマートフォンの連絡先を追加したり、友だちの電話番号を変更したり、古い連絡先を削除したり…。毎日やってることを言葉にすると、実はプログラムの世界で一番大事な操作ばかりなんだよ。この記事を読めば、アプリやWebサイトが「どうやってデータを管理してるのか」がわかっちゃいます。

先生、「CRUD」って何ですか?何かの略語ですよね?

いい質問だね。CRUDは4つの英単語の頭文字を並べた言葉で、「データを管理するときの基本操作」のことなんだ。つまり、新しいデータを作ったり、データを見たり、データを直したり、データを消したり…。この4つがすべてなんだよ。
あ、なるほど。では、具体的には何の操作ですか?

Cは「Create」で「作る」、Rは「Read」で「読む・見る」、Uは「Update」で「直す」、Dは「Delete」で「消す」。君がTwitterで投稿するのはCreate、友だちの投稿を見るのはRead、自分の投稿を編集するのはUpdate、投稿を削除するのがDeleteだね。
えっ、そんな普通のことが「CRUD」なんですか?なんか難しそうに聞こえてたけど…

そう!ぜんぜん難しくないんだよ。むしろ「プログラマーが何かを作るときに必ず必要な操作」だから、わざわざ名前を付けたってわけ。この4つが全部できないと、アプリなんか作れないんだ。
じゃあ、CRUDをちゃんと理解したら、アプリとか作れるようになるんですか?

その通り。CRUDがわかれば、データベースやアプリの仕組みがグッと理解しやすくなるよ。プログラマーがどんな難しいアプリを作ってても、結局はこの4つの操作を組み合わせてるんだ。だからCRUDはプログラミングの「基本中の基本」って言われるんだね。
📝 3行でまとめると
  1. CRUDとは、データを「作る」「見る」「直す」「消す」の 4つの操作 のこと
  2. Twitterの投稿やスマートフォンの連絡先など、 毎日やってることばかり
  3. アプリやWebサイトはこの4つを組み合わせて、 すべてのデータ管理 をやってる
目次

もうちょっと詳しく

CRUDという言葉は、データベースやWebアプリケーション、プログラミングの世界で「ぜったい出てくる」言葉なんだ。なぜかっていうと、どんなアプリを作るときでも、この4つの操作が必要だから。たとえば、友だちとメッセージをやり取りするアプリでも、ゲームのスコア管理でも、学校の成績管理システムでも、結局はこのCRUDを繰り返してるんだよ。だからプログラマーは「CRUDができる」ことを「プログラミングの基本ができる」と同じ意味で使うんだ。覚えておくといいよ。

💡 ポイント
CRUDは「ぜたい出てくる基本」。これがわかると、アプリの仕組みが見えてくる

⚠️ よくある勘違い

❌ 「CRUDって難しい専門用語で、初心者には関係ない」
→ 違うんだ。実は君が毎日やってることばかり。難しく考えちゃダメ。
⭕ 「CRUDは日常的な操作を、プログラマーが名前を付けたもの」
→ その通り。Twitterで投稿するのはCreate、つぶやきを見るのはRead。それだけ。
❌ 「CRUDはデータベースの話だから、普通のユーザーには関係ない」
→ いやいや、君が使ってるすべてのアプリが、CRUDで動いてるんだよ。
⭕ 「CRUDはどんなアプリでも、裏で使われてる基本操作」
→ 正解。「ユーザーが何をしてるか」を言い換えたら、CRUD操作になる。
なるほど〜、あーそういうことか!

[toc]

CRUDの「C」 — Create(作る)

新しいデータを世界に生み出す操作

Createというのは「新しいデータを作る」操作のことなんだ。つまり、今までなかったデータを、これからあるようにする、ってこと。例えば、スマートフォンの連絡先アプリで「新規追加」を押して、友だちの名前と電話番号を入力する。あるいはSNSで新しく投稿する。これはぜんぶCreateなんだよ。

大事なのはね、Createは「存在しなかったものを存在させる」という操作ってこと。データベース(つまり、データを保存しておく仕組み)の中に、新しいデータを追加するんだ。

Createの実例

身近な例で考えてみようか。君がInstagramで新しい写真を投稿するとき、何が起こってるかな。

  • 写真ファイルを選ぶ
  • キャプション(説明文)を書く
  • 「投稿」ボタンを押す

この「投稿」ボタンを押した瞬間、Instagramのサーバー(つまり、インターネットの向こう側にあるコンピュータ)に、君の投稿データが「新しく作られて」保存されるんだ。次の日、友だちがそれを見ることができるのは、このCreateのおかげなんだよ。

また、ゲームだって同じ。新しくアカウントを作るのはCreate。新しくセーブデータを作るのもCreate。病院の患者管理システムでも、新しい患者さんのカルテを作るのはCreate。どんな場面でも「新しいデータを作る」というのがあるんだ。

なぜCreateが重要か

何も存在しないところから、データを作り出すっていう操作は、すごく大事なんだ。だから、Createのときには「そのデータは本当に必要?」「データとして問題がない?」みたいなチェックが入ることがある。例えば、SNSで投稿するときに「不適切な内容じゃないか」というフィルターがかかるのは、Createの過程で「このデータは大丈夫か」と確認してるからなんだよ。

CRUDの「R」 — Read(見る・読む)

保存されたデータを取り出して見る操作

Readというのは「データを見る」「データを読む」という操作のことなんだ。つまり、すでに存在しているデータを、取り出して表示する、ってこと。例えば、友だちのTwitterのプロフィールを見る。Googleで検索する。YouTubeで動画を再生する。ぜんぶReadなんだよ。

大事なのはね、Readは「データを見るだけ」で「データを変えない」ということ。本を読むのに、本の内容を変えたりしないでしょ。Readも同じなんだ。

Readの実例

君がLINEを開いて、友だちからのメッセージを読む。これはReadだ。スマートフォンの連絡先アプリで、保存されてる誰かの電話番号を確認する。これもReadだ。

学校の教科書を使った例で言うと、テストの成績管理システムがあるとしようか。先生が生徒の成績を「確認」するのはRead。生徒が自分の成績を「見る」のもRead。でも、点数を書き換えるのはUpdate(これはReadじゃなくてUpdateだね)。

Readは本当に大事な操作なんだ。だって、ほとんどのアプリやWebサイトは「データを見る」ために作られてるから。動画サイトも、SNSも、Webページも、メールも、ぜんぶ「保存されたデータを見る」という操作が一番多いんだよ。

Readだからこそ、情報は「今」を共有できる

Readは「見るだけ」だからこそ、複数の人が同時に同じデータを見ることができるんだ。例えば、YouTubeで同じ動画を、日本の人も、アメリカの人も、インドの人も、同時に見ることができるでしょ。これは、みんなが「Read」をしてるからなんだ。誰かが「見る」操作をしても、動画のデータは変わらないから、みんなで共有できるんだよ。

CRUDの「U」 — Update(直す・変える)

すでにあるデータを変える操作

Updateというのは「データを変える」「データを直す」という操作のことなんだ。つまり、すでに存在してるデータを、別のデータに変える、ってこと。例えば、スマートフォンの連絡先で、友だちの電話番号が変わったから更新する。Twitterで書いた投稿を編集する。ゲームで自分のアバター(キャラクター)の名前を変える。ぜんぶUpdateなんだよ。

大事なのはね、Updateは「すでに存在するデータ」を対象にするってこと。存在しないデータを「更新する」ことはできないんだ。

Updateの実例

身近な例で考えてみようか。君がGoogleのアカウント設定を開いて、自分の誕生日を変更したい。「誕生日:2010年4月15日」から「誕生日:2010年4月10日」に直す。これがUpdateだ。データとしては同じ「誕生日」なんだけど、内容が変わったんだね。

あるいは、Instagramで投稿した写真に付いてる「いいね」の数。毎日、この数字は増えたり、時には減ったりする。これは、システムが「いいね」の数データを、常にUpdateしてるんだ。

学校の例だと、成績管理システムで、ある生徒のテストの点数が間違ってた。80点を90点に直す。これはUpdateだね。

Updateは「変わる」ことを表してる

データが「変わった」っていうのは、実は Updateが起きたってことなんだ。スマートフォンのバッテリー残量が100%から99%に変わった。これもUpdateだ。ゲームで敵を倒して、自分のHPが100から85に変わった。これもUpdateだ。プロゲーマーのランキングの順位が変わった。これもUpdateだ。

つまり、「データが変わる」ってことは、すべてUpdateなんだよ。

CRUDの「D」 — Delete(消す)

不要になったデータを世界から消す操作

Deleteというのは「データを消す」という操作のことなんだ。つまり、もう要らなくなったデータを、完全に削除する、ってこと。例えば、スマートフォンの連絡先で、昔の友だちの連絡先を消す。Twitterで投稿を削除する。ゲームで古いセーブデータを消す。ぜんぶDeleteなんだよ。

大事なのはね、Deleteは「存在を完全になくす」という操作ってこと。Readと違って「見るだけ」じゃなくて、データそのものがなくなるんだ。

Deleteの実例

君が送ったメールの中に、変なメールがあって「削除」ボタンを押す。これがDeleteだ。スマートフォンに入ってる古い写真を「削除」する。これもDeleteだ。SNSで昔の投稿を「削除」する。これもDeleteだ。

学校の例だと、卒業生の情報が必要なくなった。削除する。これはDeleteだね。あるいは、患者さんが病院をやめた。そのカルテを削除する。これもDeleteだ(ただし、実際は「削除」じゃなくて「アーカイブ」することが多いけど、処理としては同じようなものだね)。

Deleteはやっぱり重要

Deleteはね、一度やったら戻せないことが多いから、結構大事な操作なんだ。だから、「本当に削除していい?」という確認画面が出ることが多いんだよ。ゴミ箱に移す前に「削除しますか?」って聞かれるでしょ。これはね、「もう一度確認してから消してね」という意思なんだ。

また、データベースの管理者(つまり、システムを作った人)は、Deleteについては特に気を付けるんだ。なぜなら、ユーザーが誤ってDeleteをやっちゃったら、大事なデータがなくなっちゃうから。だから「バックアップを取る」とか「一度削除したら、設定期間は復元できる」みたいな仕組みを作ったりするんだよ。

CRUDはデータの人生を表してる

生まれて、活躍して、変わって、終わる

CRUDの4つの操作をまとめて見ると、データの「人生」に見えるんだ。思い出してみようか。

  • Create:データが生まれた
  • Read:データが活躍する(みんなに見られる)
  • Update:データが変わる(成長する?)
  • Delete:データの人生が終わった

データを人間だと思えば、Create は「生まれる」、Read は「毎日活躍する」、Update は「歳を取ったり、変わったりする」、Delete は「寿命が来た」ってわけだね。

つまり、プログラマーがアプリを作るときに大事なのは「データをちゃんと育てる」ことなんだ。生まれたデータ(Create)を安全に保管して、読まれるようにしたり(Read)、変える必要があったら正しく変えて(Update)、いらなくなったら適切に消す(Delete)。この4つがちゃんと機能すれば、アプリは正常に動くんだよ。

CRUDができないと、アプリは成り立たない

実は、アプリやWebサイトがダメになる原因は、CRUDのどれかが壊れてるからなんだ。例えば、Twitterが動かなくなったのは「Readができなくなった」(ツイートが見えない)のかもしれないし、「Create がおかしい」(投稿ができない)のかもしれない。Gmailが調子悪いのは「Update できない」(メールが保存されない)のかもしれないし、「Delete がおかしい」(削除できない)のかもしれないんだ。

だからね、プログラマーが「何かおかしい」って思ったときの最初のステップは「CRUDのどれが壊れてるんだろう」と考えることなんだよ。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

大人になってから「これ知らなかった…」と恥ずかしい思いをした経験から、このサイトを作りました。お金・仕事・社会のしくみって、学校で教えてくれないのに知らないと損することだらけ。むずかしい言葉を「あーそういうことか!」って思えるまでかみ砕いて説明するのが得意です。主に経済・法律・税金・ライフイベント周りの用語を毎日更新中。

目次