今回は情報処理技術者試験の対策として必要なCRUDについて解説いたします。
データベースを触ったことがないような未経験、初心者の方にもわかりやすく解説いたしますので、ぜひ参考にしてもらえればと思います。
CRUDはデータベースにおいては最も基本的な概念にあたりますので、今回を機にしっかりと理解して午前問題や午後問題に対応できるようにしましょう。
CRUDとは
CRUDとはデータベースに対して行う操作の総称のことです。
データベースはその名の通り、大量のデータが入った箱のことを言いますが、この箱に対してデータを管理するために通常は新規データの投入やデータの読み込み、データの更新や、削除を行っていきます。
これらの操作(英語名称)の頭文字をとってCRUDとしています。
Create : データの新規追加
Read : データの読み込み、検索
Update : データの更新
Delete : データの削除
データベースへの操作はこの4つに大分されますので、CRUDの理解が重要になるわけです。
Create(新規登録) -INSERT
まずはCreateについて解説します。
情報処理技術者試験ではよくWebアプリにてユーザーを登録するといったシチュエーションについて問題が出題されますが、
このような、ユーザーの新規登録や扱う商品の登録、注文の追加など、
何らかのデータを新規に作成する処理がCreateにあたります。
SQLでは以下のように表現します。
INSERT INTO TABEL1
(Column1 , Column2 , Column3 ) Values (‘データ1’ , ‘データ2’ , ‘データ3’ )
こう書くと難しく感じますが、実際は以下のようなイメージになります。


それぞれ一文ずつ分けてイメージしてみると大して難しいことは書いていないかと思います。
「どこにどんなデータを入れるか」という日本語をSQL語で書いているだけですので、簡単な英語の文章を作る気概で見てみると苦手意識が薄らぐかもしれません
資格試験などでは INSERT と VALUES が穴埋めで出題されることが多いので、データを新規に作成する場合はまずこれらの単語が必要になるということを必ず把握しておきましょう。
Read(データ取得) -SELECT
次にデータベースの中にあるデータを取得する処理にあたるReadについて解説します。
Readは恐らくデータベースの操作を行うにあたって一番よく用いられるSQLクエリになるでしょう。
例を上げるとAmazon等のショッピングサイトで商品の検索をする操作がこれに該当します。
Readで用いられるクエリ自体は以下のような内容です。
SELECT Column1 , Column2 , Column3 From TABLE1
上記のクエリのイメージは以下のようになるでしょう。

最初にSELECTで見たいカラム名を指定してその後にFROMでどこのテーブルから持ってくるのかを指定します。
上記の文は一番シンプルなクエリですが、SELECTは本来、結合したり、副問い合わせを行ったりと複雑になりがちです。
ですが、とりあえずはCRUDを意識するにあたってはSELECTという分が必要ということを覚えておいてください。
Update(データ更新) -UPDATE
次に紹介するのはデータの更新にあたる Update です。
Updateはすでに入っているデータに対して何らかの別の値に変える処理を行います。
例えば、会員制のWebサイトで自分の登録している個人情報などを更新する操作がこれに該当します。
さて、Updateの実際のクエリを確認してみましょう。
UPDATE TABLE1 SET Column1 = ‘データ4’
こちらはイメージしやすいかとは思いますが、以下のような内容になっております。

UPDATEはUPDATEの後に更新するテーブルを、SETで更新したいカラムと値を “=” で結んであげるだけです。
SELECTに比べるとかなり理解しやすいかと思います。
Delete(データ削除) -DELETE
最後はデータの削除の処理に関するDELETEについてです。
データの削除自体は実際に使用する場面が少ないのですが、Webサイトからユーザーの情報を完全に削除する場合に使用したりします。
実際のクエリは以下のようになります。
DELETE FROM TABLE1
クエリ自体は一番単純です。
単純なために、誤操作が多いことに注意しましょう。(私はこれでやらかしたことがあります…)
上記の文はテーブル全体を指定してるので、データの全消しになってしまうのですが使用する際は通常WHERE句などを用いて削除するデータを指定してあげます。
一応こちらもイメージを載せておきます。

FROMで削除したいテーブルを選択し、DELETEでデータの削除を実施します。
なお削除についてですが、データベースのデータを削除するというのは後に必要な時に参照できなくなってしまうという問題があったりするので削除といっても通常は有効フラグや削除フラグといったものをもっておき、その値がオンになっていたら削除されたデータとみなして、オフになっていたら有効なデータとみなすという処理上で削除として扱ったりそうでなかったりするというのが一般的です。
実際に削除するのはデータベースの容量に影響するデータや、もう未来永劫参照されないであろうデータに対して行ったりします。
このように、実際にデータベースから消えたものとして扱う削除を論理削除、実際にデータベースから消してしまう削除を物理削除と言ったりしますので覚えておきましょう。
以上でCRUDについては完了です。
データベースに対する操作は大きく4つあるということ、そしてそれぞれの操作のイメージを明確に持っていることがCRUDに対しての対策になりますので、分類と把握をしっかりとしておきましょう。
今回はここまでです。
お疲れ様でした。
コメント