データベースはシステムエンジニア、プログラマーには欠かせない知識です。
Oracle、DB2、SQL Server、PostgreSQL、MySQL、データベースの種類は多く存在しますが、学習する内容はほとんど同じなので、とりあえず何でも良いのでデータベースに触れてみましょう。
データベースとは
データベース (Database) とは、ありとあらゆる情報を蓄積、検索、分析するために必要となるものです。
一般的に使用されているデータベースはリレーショナルデータベース (RDB) と呼ばれ、それぞれの情報に関連を持たせて管理します。
DB と略されることが多く、読み方はなぜか「ディービー」ではなく「デービー」と発音されることが多いので「デービー」と言われたらデータベースのことだと思ってください。
かなり昔からなので、「ディービー」という発音が聞き取りにくかったのが原因だと思います・・・。
ちなみに、アプリケーション開発しているエンジニア、プログラマーでも意外と詳しくないという人が多いです。
どのようなことを学んでいけば良いか、参考にしてください。
データを扱う (テーブルイメージ)
データベースにはテーブルと呼ばれる「データを蓄積する箱」のようなものが定義されています。
イメージとしては Excel で作成する表に近く、列に管理したい項目、行にひとつひとつの情報を入力する感覚です。
その箱から情報を取り出したり、情報を登録、更新するため SQL (Structured Query Language) という言語を使用します。
ここでは、アプリケーション開発時にほぼ必須となるデータ操作用 SQL (DML : Data Manipulation Language) を紹介します。
他にもデータ定義用 SQL (DDL : Data Definition Language)や、データ制御用 SQL (DCL :Data Control Language) などがありますが、初めは DML だけ覚えれば役に立ちます。
DML で覚えるものは 4つ、取得 (SELECT)、登録 (INSERT)、更新 (UPDATE)、削除 (DELETE) です。
簡単な内容のみ紹介しますが、基礎知識としてはこれだけで十分です。
取得する : SELECT
SELECT は、データを取得する SQL です。
おそらく SQL を学ぶ上で一番初めに覚えるものであり、かつ一番奥の深いものだと思われます。
まずは一番シンプルな、全項目全件取得する以下の SELECT 文を覚えて、徐々に「取得項目の選択」や「取得条件の追加」に進みましょう。
サンプル
-- 全項目全件取得 SELECT * FROM 商品情報;
* が全項目、WHERE 条件なしが全件となります。
サンプル
-- 取得項目の選択 SELECT 商品番号, 商品名 FROM 商品情報;
サンプル
-- 取得条件の追加 SELECT * FROM 商品情報 WHERE 商品番号 = 'A00004';
サンプル
-- 取得結果の並び替え ※ 数量の少ない順 -- ORDER BY は、ASC (省略可)で昇順、DESC で降順に並びます SELECT 商品番号, 商品名, 数量, 価格 FROM 商品情報 ORDER BY 数量 ASC;
【説明】 -- はコメントとなり、実行対象になりません。 ; は SQL の終了を意味します。 ' ' は文字型等の情報を扱うときに付けるもので、付け忘れるとエラーになる場合があります。
高度な SELECT 文では、「複数テーブルからの情報取得」や「種類ごとのランキング (トップ10)」なども取得できます。
登録する : INESRT
INSERT は、データを登録する SQL です。
新しいデータを登録する際に使用します。
前半の () 内は登録したい項目、後半の () は項目に対応する値となります。
サンプル
-- データ追加 INSERT INTO 商品情報 (商品番号, 商品名, 数量, 価格) VALUES ('A00006', 'バナナ', 10, 1000);
更新する : UPDATE
UPDATE は、データを更新する SQL です。
既に登録されているデータを書き換えます。
WHERE 文で指定した条件と一致する情報を SET に記述した内容で更新します。
サンプル
-- データ更新 UPDATE 商品情報 SET 数量 = 50 ,価格 = 4500 WHERE 商品番号 = 'A00001';
削除する : DELETE
DELETE は、データを削除する SQL です。
既に登録されているデータを削除します。
WHERE 文で指定した条件と一致する情報を削除します。
!! 削除すると復元できないので、慎重に実行してください。
!! WHERE 文を指定しないで実行すると、全件削除されてしまいます !!
サンプル
-- データ削除 DELETE FROM 商品情報 WHERE 商品番号 = 'A00003';
学習サイト
ユーザー登録するとブラウザ上でSQLを実行したり、学習できます。
サイト内にチュートリアルもありますので、学習してみてはいかがでしょうか。
まとめ
システムエンジニア、プログラマーには欠かせないデータベースでした。
紹介した DML を覚えておけば、初めてプロジェクトに参加しても少しは役に立つと思います。
基礎知識を学んだら、徐々に高度な SQL を覚えましょう。