U「データベース」という言葉は知っていても、「SQLって何?」「正規化って何のために?」と聞かれると、急に難しく感じてしまいませんか。
過去問を解いていて、E-R図やSQL文が出るたびに手が止まっていたので、今回は図解で整理してみました。
「表で管理する」だけじゃない — データベースの種類
| 種類 | 特徴 | 代表例・用途 |
|---|---|---|
| リレーショナルDB(RDB) | 表(テーブル)形式。SQLで操作。試験の主役 | Oracle, MySQL / 販売管理・顧客管理 |
| 階層型DB | ツリー構造(親子関係)。高速だが柔軟性が低い | 銀行の勘定系(古いシステム) |
| ネットワーク型DB | 網の目構造。多対多の関係を表現できる | 製造業の部品管理(レガシー系) |
| NoSQL | 表以外の形式(文書・グラフ・列指向等) | MongoDB / SNS・IoTデータ |



試験で問われるのは、ほぼリレーショナルDB(RDB)の話です。SQLやE-R図・正規化はすべてRDBの文脈で登場します。
E-Rモデルで「関係」を図に描く
E-R図(Entity-Relationship図)は、データの「もの(エンティティ)」と「関係(リレーションシップ)」を視覚化するモデルです。
(1:N)
───→
(M:N)
───→
1人の顧客が複数の注文を持つ(1:N)。1つの注文に複数の商品が含まれ、1つの商品が複数の注文に登録される(M:N)。
正規化 — 「データの重複をなくす」3段階
正規化とは、テーブル設計の整備プロセスです。「第1正規形→第2正規形→第3正規形」と段階的に整理することで、データの重複・矛盾・更新時のトラブルを防ぎます。
SQLの基本4命令 — 読み書き・更新・削除
FROM 顧客テーブル
WHERE 購入金額 >= 10000
ORDER BY 購入金額 DESC;
FROM 注文 INNER JOIN 商品
ON 注文.商品ID = 商品.商品ID;
INSERT INTO 顧客 (顧客名) VALUES (‘山田’);
— 更新
UPDATE 顧客 SET 住所=’東京’ WHERE 顧客ID=1;
FROM 注文
GROUP BY 部門
HAVING COUNT(*) >= 5;



SQLのコードを見ると難しそうですが、「どのテーブルから・どの条件で・どう並べて取り出すか」という会話をデータベースと交わしているイメージです。試験ではSQL文を読んで何を取り出しているかを判断する問題が出ます。
身近な場面で考えてみると — 図書館の貸出管理
図書館の貸出管理システムを想像してみてください。
| テーブル名 | エンティティ | 主なカラム |
|---|---|---|
| 利用者テーブル | 利用者 | 利用者ID, 氏名, 住所 |
| 図書テーブル | 本 | 図書ID, タイトル, 著者, 分類 |
| 貸出テーブル | 貸出記録 | 貸出ID, 利用者ID, 図書ID, 貸出日, 返却日 |
「Aさんが現在借りている本の一覧」を取り出すには、利用者テーブルと貸出テーブルをJOINして、返却日がNULLのレコードをWHEREで絞ります。正規化・E-R図・SQL操作がすべてここに凝縮されています。
トランザクションとACID特性
データベースで「送金処理」のような複数の操作を一塊として扱う仕組みがトランザクションです。ACID特性は試験頻出。
| 特性 | 英語 | 意味・覚え方 |
|---|---|---|
| 原子性 | Atomicity | 「全部成功」か「全部なかったこと」。途中で終わらない |
| 一貫性 | Consistency | 処理前後でデータの整合性が保たれる |
| 独立性 | Isolation | 複数のトランザクションが互いに干渉しない |
| 永続性 | Durability | 確定した処理は障害が起きても消えない |
過去問で確認する
関係データベースの正規化に関する記述として、最も適切なものはどれか。
- ア 第1正規形とは、すべての列が主キーに対して関数従属していることをいう。
- イ 第2正規形とは、主キーの一部に対する部分関数従属を排除したものをいう。
- ウ 第3正規形とは、主キー以外の列間に推移関数従属がない状態をいう。
- エ 正規化を進めると、データの冗長性が増す。
ア:第1正規形は「繰り返しグループの排除(1セル1値)」であり、関数従属の話は第2・第3正規形です。
イ:第2正規形は「部分関数従属の排除」という説明は正しいですが、「主キーの一部に対する」という表現が第2正規形の定義そのもの。ただし「第2正規形=すべての列が主キー全体に従属」と言うべきで、この選択肢の表現は誤り。
ウ:第3正規形は推移関数従属(主キー→A→B)の排除。正しい。
エ:正規化を進めると冗長性は減ります(逆です)。
Uのメモ
- データベースの種類:試験はほぼリレーショナルDB(RDB)が対象
- E-Rモデル:エンティティ間の関係(1:1 / 1:N / M:N)を図で表現
- 正規化:1NF(繰り返し排除)→2NF(部分従属排除)→3NF(推移従属排除)
- SQLの基本:SELECT / WHERE / JOIN / GROUP BY / HAVING
- ACID特性:原子性・一貫性・独立性・永続性(トランザクションの4原則)









