基本情報技術者試験 データベース分野の頻出ポイント完全解説
データベースは、基本情報技術者試験で安定して出題される得点源の分野です。 特に「正規化」「SQL」「トランザクション(ACID)」は頻出で、仕組みを理解すれば確実に得点できます。 このページでは関係データベース(RDB)を中心に、試験で問われるポイントを整理します。
1. 関係データベースとキーの概念
関係データベース(RDB)は、データを「表(テーブル)」の形で管理します。 行をレコード(行・タプル)、列を属性(フィールド)と呼びます。
- 主キー(プライマリキー):レコードを一意に識別する列。重複・NULLは不可
- 外部キー(フォーリンキー):他の表の主キーを参照する列。表同士を関連づける
- 候補キー:主キーになり得る列の候補
主キーは「クラスの出席番号」、外部キーは「別の名簿への参照」とイメージすると分かりやすいです。
2. 正規化(第1〜第3正規形)
正規化とは、データの重複や矛盾をなくすために表を整理する手法です。段階的に進めます。
- 第1正規形:繰り返し項目(1セルに複数の値)を排除し、1つのセルに1つの値にする
- 第2正規形:第1正規形+部分関数従属を排除(複合キーの一部だけで決まる項目を別表に)
- 第3正規形:第2正規形+推移的関数従属を排除(主キー以外の項目に依存する項目を別表に)
正規化により、データ更新時の矛盾(更新不整合)を防げます。 試験では「どの正規形まで満たしているか」「正規化の目的」が問われます。
3. SQLの基本
SQLは、データベースを操作する言語です。基本構文を押さえましょう。
| 命令 | 用途 |
|---|---|
| SELECT | データの取得 |
| INSERT | データの追加 |
| UPDATE | データの更新 |
| DELETE | データの削除 |
データ取得ではWHERE(条件絞り込み)、ORDER BY(並べ替え)、 GROUP BY(グループ集計)、JOIN(表の結合)が頻出です。 特に内部結合(INNER JOIN)と外部結合(LEFT JOIN等)の違いはよく問われます。
4. トランザクションとACID特性
トランザクションとは、関連する複数の処理を1つのまとまりとして扱う単位です。 「銀行のA口座から引いてB口座に足す」処理は、両方成功するか両方失敗するかのどちらかでなければなりません。 この信頼性を保証するのがACID特性です。
- 原子性(Atomicity):すべて実行されるか、まったく実行されないか
- 一貫性(Consistency):処理前後でデータの整合性が保たれる
- 独立性(Isolation):複数処理が互いに干渉しない
- 永続性(Durability):完了した結果は障害が起きても失われない
処理を確定することをコミット、取り消して元に戻すことをロールバックと呼びます。
5. 例題で確認
よくある質問(FAQ)
Q. 正規化の3段階が覚えられません。
A. 「第1=繰り返し排除」「第2=部分従属排除」「第3=推移従属排除」とキーワードで覚え、具体例で確認すると定着します。
Q. ACIDが暗記できません。
A. 「原子性・一貫性・独立性・永続性」を、銀行送金の例(両方成功か両方失敗か)でイメージすると忘れにくいです。
Q. SQLは書けるようにならないとダメ?
A. 基本情報レベルでは、SELECT・JOIN・GROUP BYの読み取りができれば十分対応できます。本サイトの「データ遺跡」で繰り返し演習しましょう。