1. 関係データベース(RDB)の基本構造と用語
現代の主流である「関係データベース(Relational Database: RDB)」は、データをエクセルのような「2次元の表(テーブル)」の形式で管理します。
| 一般的な呼び方 | RDBの専門用語 | 意味と特徴 |
|---|---|---|
| 表 | テーブル(関係) | データを行と列でまとめた箱。「社員テーブル」「商品テーブル」など。 |
| 行(よこ) | レコード(組:タプル) | 1件分のデータ(例:田中さんの社員番号・氏名・部署のセット)。 |
| 列(たて) | フィールド(属性:カラム) | 項目名(例:「社員番号」「氏名」「年齢」などデータの属性)。 |
2. 主キーと外部キーの決定的な違い
テーブル同士を関連づけたり、データを一意に特定するために設定されるのが「キー」です。
| キーの種類 | 役割と要件 | 具体例 |
|---|---|---|
| 主キー(Primary Key) | テーブル内のレコードをただ1つに特定できる列。 「重複不可(一意性)」かつ「空欄不可(NOT NULL)」が絶対条件。 |
社員番号、マイナンバー、商品コード(同姓同名があるため「氏名」は主キーにできない!)。 |
| 外部キー(Foreign Key) | 他のテーブルの主キーを参照している列。存在しないデータを登録できないようにする(参照整合性制約)。 | 社員テーブル内の「所属部署コード」(部署テーブルの主キーを参照)。 |
3. データベースの正規化(第1〜第3正規化)
正規化とは、データの重複や無駄をなくし、追加・更新・削除の際の不整合(エラー)を防ぐためにテーブルを分割・整理する作業です。
正規化の3ステップ
- 第1正規化(繰り返しの排除):1つのセルの中に複数の値(繰り返し項目)が入っている状態を解消し、すべての値を単一(原子値)にする。
- 第2正規化(部分関数従属の排除):主キーの一部によって決まる項目(部分関数従属)を別テーブルに分離する(複合主キーの場合に発生)。
- 第3正規化(推移的関数従属の排除):主キー以外の項目によって決まる項目(主キー → A → B のように間接的に決まる関係)を別テーブルに分離する。
4. 関係演算の3大操作(選択・射影・結合)
- 選択(Selection):条件に合致する特定の「行(レコード)」を取り出す操作(例:年齢が20歳以上の行を抽出)。
- 射影(Projection):特定の「列(フィールド)」だけを取り出す操作(例:氏名と電話番号の列だけを抽出)。
- 結合(Join):2つ以上のテーブルを共通のキーでつなぎ合わせて、1つの新しいテーブルを作る操作。
5. SQL基本構文:SELECT文の読み解き方
SQL(Structured Query Language)は、データベースに命令を出すための言語です。ITパスポートでは以下の基本骨格の意味が問われます。
SELECT 社員番号, 氏名
FROM 社員テーブル
WHERE 年齢 >= 30
ORDER BY 年齢 DESC;
FROM 社員テーブル
WHERE 年齢 >= 30
ORDER BY 年齢 DESC;
- SELECT:取り出したい「列」を指定(射影)。
- FROM:対象とする「テーブル」を指定。
- WHERE:取り出す「条件」を指定(選択)。
- ORDER BY:並び順を指定(ASC=昇順(小さい順)、DESC=降順(大きい順))。
- GROUP BY:指定した列の値ごとにグループ分けして集計(AVG, SUM, COUNT等)。