SQLとは(全体像)
SQLとは、関係データベース(RDB)を操作するための標準言語のことだ。データベースに「こうしてほしい」と伝える、指示の言葉だと思えばよい。
このSQLの命令は、役割によって、4つに分類される。
- DDL(構造を定義) … 表などの構造を作る・変える・消す(CREATE・ALTER・DROP)
- DML(データを操作) … データを取り出す・入れる・更新・削除(SELECT・INSERT・UPDATE・DELETE)
- DCL(権限を制御) … だれが使えるかの権限を与える・取り消す(GRANT・REVOKE)
- TCL(トランザクションを制御) … 処理を確定・取り消す(COMMIT・ROLLBACK)
ここで一番のポイント。SQLは、SELECTだけではない。「SQLといえばSELECTだけ」と思い込むと誤りで、DDL・DML・DCL・TCLの4分類がある。
詳しく:4分類の役割
ここが心臓部。4分類を表で押さえよう。
SQLの4分類
| 分類 | 役割 | 代表的な命令 |
|---|---|---|
| DDL | 構造を定義する | CREATE・ALTER・DROP |
| DML | データを操作する | SELECT・INSERT・UPDATE・DELETE |
| DCL | 権限を制御する | GRANT・REVOKE |
| TCL | トランザクションを制御する | COMMIT・ROLLBACK |
ふだんよく使うのは、データを取り出すSELECT(DML)だ。でも、それだけではない。表を作る(DDL)・権限を与える(DCL)・処理を確定する(TCL)など、役割ごとに命令が分かれている。
ここで注意。DCL(権限の制御)も大事だ。「DCLは要らない」と思い込むと誤りで、だれがデータを使えるかを決める、セキュリティ上、重要な役割だ。
わかりやすく言い換えると
身近なたとえで整理しよう。
SQLは、「データベースへの指示の言葉」のイメージ。役割で4つに分かれる。
4分類は、「箱(表)を作るDDL・中身を出し入れするDML・鍵(権限)のDCL・処理の確定や取り消しのTCL」こと。要するに、目的ごとに命令の種類が分かれている。
「SQL=SELECTではない」というのは、SELECT(DML)はよく使うが、SQLには4分類あるということ。つまり、SELECTだけではない。
試験のツボ
🔴 一番出る:4分類
①DDL(構造)・DML(データ)・DCL(権限)・TCL(トランザクション)
②SQLはSELECTだけではない(4分類ある)
🔴 次に出る:代表的な命令
①DDL=CREATE/ALTER/DROP、DML=SELECT/INSERT/UPDATE/DELETE
②DCL=GRANT/REVOKE、TCL=COMMIT/ROLLBACK
🟡 押さえると安定:DCLの重要性
①DCLは、だれが使えるかの権限を制御する
②セキュリティ上、重要な役割
よくある間違い
①「SQLといえば、SELECTだけのことだ」→ ✗ SQLには、DDL・DML・DCL・TCLの4分類がある。SELECT(DML)はその一部。
②「DCL(権限の制御)は、要らない分類だ」→ ✗ DCLは、だれがデータを使えるかを決める、セキュリティ上重要な役割。
③「SQLは、関係データベース以外を操作する言語だ」→ ✗ SQLは、関係データベース(RDB)を操作するための標準言語。
試験での出題パターン
実際の問題でたしかめてみよう。
オリジナル問題1(SQLの正体)
SQLに関する次の記述のうち、最も適切なものはどれか。
- 社員の出退勤を記録して、毎月の給与を計算するためのしくみだ
- 取引先へ毎月の請求書を郵送する、決まった事務作業のことを指す
- 完成したシステムを宣伝して、より多く売るための広告活動である
- 関係データベースを操作するための、標準的な言語のことである
解答は 4 です。
SQLは、関係データベースを操作するための、標準言語なのです。データベースへの指示の言葉なります。
選択肢1は給与計算、選択肢2は請求書の事務、選択肢3は広告で、どれも違うのです。
| 選択肢 | 判定 | 理由 |
|---|---|---|
| 1 | ✗ | 給与計算のしくみではない |
| 2 | ✗ | 請求書の事務の話 |
| 3 | ✗ | 広告活動ではない |
| 4 | ✓ | 関係データベースを操作する標準言語で正しい |
オリジナル問題2(4分類)
SQLの分類に関する次の記述のうち、最も適切なものはどれか。
- DDL・DML・DCL・TCLという4つの種類に分かれている
- 社員の給与を計算するときだけ、分かれるとされているものである
- 取引先への請求書の枚数しだいで、分かれるとされているものだ
- SQLは、SELECTという1つの命令だけだとされているのである
解答は 1 です。
SQLは、DDL・DML・DCL・TCLの4つに分かれ、SELECTだけではないのです。役割ごとに命令が分かれているなります。
選択肢2の給与、選択肢3の請求書、選択肢4の「SELECTだけ」は、いずれも違うのです。
| 選択肢 | 判定 | 理由 |
|---|---|---|
| 1 | ✓ | 4分類ありSELECTだけではないで正しい |
| 2 | ✗ | 給与計算で分かれるのではない |
| 3 | ✗ | 請求書の枚数で分かれるのではない |
| 4 | ✗ | SELECTだけではなく4分類ある |
オリジナル問題3(各分類の役割)
SQLの各分類に関する次の記述のうち、最も適切なものはどれか。
- 社員の給与を計算するときだけ、役割が決まるとされているものだ
- 取引先への請求書の枚数しだいで、役割が決まるとされているのだ
- DDLは構造、DMLはデータ、DCLは権限、TCLは取引制御
- すべての分類が、データの取り出しだけを担うとされているのだ
解答は 3 です。
SQLは、DDLは構造、DMLはデータ、DCLは権限、TCLはトランザクションを担うのです。役割ごとに命令が分かれているなります。
選択肢1の給与、選択肢2の請求書、選択肢4の「取り出しだけ」は、いずれも違うのです。
| 選択肢 | 判定 | 理由 |
|---|---|---|
| 1 | ✗ | 給与計算で役割が決まるのではない |
| 2 | ✗ | 請求書の枚数で決まるのではない |
| 3 | ✓ | DDL=構造・DML=データ等で正しい |
| 4 | ✗ | 分類ごとに役割が違う |
まとめ
押さえどころ
- 🔴 SQL = 関係データベース(RDB)を操作するための標準言語。データベースへの指示の言葉。
- 🔴 4分類 = DDL(構造を定義)・DML(データを操作)・DCL(権限を制御)・TCL(トランザクションを制御)。SQL=SELECTだけではない。
- 🟡 代表命令/DCL = DDL=CREATE等、DML=SELECT等、DCL=GRANT/REVOKE(権限・セキュリティ上重要)、TCL=COMMIT/ROLLBACK。
次に学ぶ
- 関係モデル(主キー・外部キー) ── データを表の形で表すモデル。SQLは、その表を操作する言語。
- データベース ── データを整理してためるしくみ。SQLで、そのデータを操作する。
執筆: SikakuQuest編集部