Uデータベースの正規化って、最初は「なぜこんなに分割するの?」と疑問でした。でも更新時の矛盾を防ぐためだと理解したとき、納得感がありました。試験でも第1〜第3正規形の違いが繰り返し問われています。
この記事でわかること
- リレーショナルDB:テーブル(行×列)・主キー(一意識別)・外部キー(テーブル間結合)
- 正規化:1NF(繰返除去)→2NF(部分従属除去)→3NF(推移従属除去)
- SQL4命令:SELECT(検索)・INSERT(挿入)・UPDATE(更新)・DELETE(削除)
- ACID:原子性・一貫性・分離性・耐久性 → トランザクションの4つの保証
- JOIN(結合):INNER JOIN(内部結合)・LEFT JOIN(左外部結合)も頻出
目次
リレーショナルデータベースの基本概念
| 用語 | 説明 | 例 |
|---|---|---|
| テーブル(表) | 行(レコード)と列(フィールド)で構成されるデータの集合 | 顧客テーブル・商品テーブル |
| 主キー(PK) | レコードを一意に識別する列。NULLと重複は不可 | 顧客ID・商品コード |
| 外部キー(FK) | 別テーブルの主キーを参照する列。テーブル間の結合に使う | 注文テーブルの顧客ID |
| インデックス | 検索速度向上のためにテーブルに追加する索引 | 顧客名インデックス |
正規化——データの冗長性と矛盾を排除する設計
第1正規形(1NF):繰り返し項目をなくし、各セルに1つの値のみ保持
第2正規形(2NF):1NFを満たし、部分関数従属を解消(複合主キーの一部にのみ依存する列を別テーブルへ)
第3正規形(3NF):2NFを満たし、推移的関数従属を解消(主キー以外の列への依存をなくす)
第2正規形(2NF):1NFを満たし、部分関数従属を解消(複合主キーの一部にのみ依存する列を別テーブルへ)
第3正規形(3NF):2NFを満たし、推移的関数従属を解消(主キー以外の列への依存をなくす)
SQL——データ操作の4命令
| 命令 | 操作 | 構文例 |
|---|---|---|
| SELECT | データの検索・取得 | SELECT 列名 FROM テーブル WHERE 条件 |
| INSERT | データの挿入 | INSERT INTO テーブル(列) VALUES(値) |
| UPDATE | データの更新 | UPDATE テーブル SET 列=値 WHERE 条件 |
| DELETE | データの削除 | DELETE FROM テーブル WHERE 条件 |
トランザクションとACID特性
トランザクション:複数のSQL操作をひとまとまりの処理単位として扱う仕組み。ACID特性:①原子性(Atomicity)—全か無か、②一貫性(Consistency)—整合性維持、③分離性(Isolation)—同時実行の独立、④耐久性(Durability)—確定後の永続保証
Uのメモ
学習メモ
- リレーショナルDB:テーブル(行×列)・主キー(一意識別)・外部キー(テーブル間結合)
- 正規化:1NF(繰返除去)→2NF(部分従属除去)→3NF(推移従属除去)
- SQL4命令:SELECT(検索)・INSERT(挿入)・UPDATE(更新)・DELETE(削除)
- ACID:原子性・一貫性・分離性・耐久性 → トランザクションの4つの保証
- JOIN(結合):INNER JOIN(内部結合)・LEFT JOIN(左外部結合)も頻出









