ITパスポート 学習ページ|テクノロジ系・技術要素
データベース設計
データベース設計では、必要なデータを洗い出し、データ同士の関係を整理します。E-R図、主キー・外部キー、正規化の基本を図や表から読み取れるようにします。
データを洗い出す
データベースを設計する前に、業務で扱うデータを洗い出し、内容や関係を整理します。似た表記のデータを同一人物や同一商品として扱えるように整えることも重要です。
データクレンジングは、表記揺れや不適切な値などを修正し、データの品質を高める作業です。データ分析では、必要なデータ項目とデータ同士の関係を整理することが出発点になります。
まず必要なデータと、その関係を洗い出す。
表を構成する要素
関係データベースでは、データをテーブルとして管理します。テーブルの一行がレコード、一つ一つの列がフィールドに当たります。
主キーは、各レコードを一意に識別するための項目です。主キーの値は、同じ表の中で重複せず、対象レコードを特定できる必要があります。
別の表の主キーを参照して表同士を関連付ける項目を外部キーといいます。外部キーは、その表自身のレコードを一意に識別するためだけの項目とは限りません。
主キーで行を識別し、外部キーで表を関連付ける。
E-R図で関係を読む
E-R図は、管理対象となるものと、それらの関係を表す図です。顧客と受注のように、一つのデータに対して複数のデータが対応する関係を表せます。
例えば、一人の顧客が複数の受注を行い、一つの受注が一人の顧客に属するなら、顧客側が1、受注側が多の関係です。図では、どちら側が1でどちら側が多かを条件から読み取ります。
一対多の関係では、多側の表に一側を参照する外部キーを置く形が基本です。関係の向きを逆に読まないようにします。
一対多では、多側から一側を外部キーで参照する。
正規化のねらい
一つの表に様々な情報を詰め込むと、同じ商品名や担当者名が何度も記録されることがあります。こうした重複が多いと、一か所だけ更新して他を直し忘れるなどの不整合が起こりやすくなります。
正規化は、データの重複を減らし、更新時の不整合を起こしにくくするために表を適切に分ける考え方です。同じ事実を複数箇所に繰り返し持たせない形を目指します。
表を細かく分割すること自体が目的ではありません。関連するデータを主キーと外部キーで結び付けながら、重複を抑えます。
正規化は重複を減らし、更新時の不整合を防ぐ。
本番の形で解いてみる
図を読む問題(このページのために作った問題・本番と同じ四肢択一)
次のE-R図について、店舗と注文の関係として最も適切な説明はどれか。
- 一つの店舗には複数の注文が対応し、一つの注文にも複数の店舗が対応する。
- 一つの店舗には一つの注文が対応し、一つの注文にも一つの店舗が対応する。
- 一つの店舗には複数の注文が対応し、一つの注文は一つの店舗に対応する。
- 一つの店舗には一つの注文が対応し、一つの注文は複数の店舗に対応する。
答えと解説を見る
正解: 一つの店舗には複数の注文が対応し、一つの注文は一つの店舗に対応する。
店舗側が1、注文側が*なので、一つの店舗に複数の注文が対応し、一つの注文に対応する店舗は一つです。1対多の向きを逆にしないことがポイントです。
まちがえやすい点: 1と*の位置から、どちら側が一件でどちら側が複数かを読む。
表を読む問題(このページのために作った問題・本番と同じ四肢択一)
次の受注明細表を正規化するとき、商品表として分離する内容として最も適切なものはどれか。
| 受注番号 | 顧客番号 | 商品番号 | 商品名 | 単価 | 数量 |
|---|---|---|---|---|---|
| R101 | C12 | P01 | ノート | 180 | 3 |
| R102 | C08 | P02 | ペン | 120 | 5 |
| R103 | C12 | P01 | ノート | 180 | 2 |
- 商品番号、商品名、単価
- 商品番号、商品名、数量
- 商品番号、単価、数量
- 商品名、単価、数量
答えと解説を見る
正解: 商品番号、商品名、単価
商品番号に対して商品名と単価が決まるため、これらを商品表として分離できます。数量は商品固有ではなく、各受注明細に依存する値です。
まちがえやすい点: 商品そのものの属性と、受注ごとに変わる数量を分けて考える。
基本の問題(このページのために作った問題・本番と同じ四肢択一)
関係データベースの主キーに関する説明として、最も適切なものはどれか。
- 複数のレコードに同じ値があってもよいが、NULLは許されない。
- 各レコードを一意に識別できるように設定する。
- 他の表の主キーを参照する列として設定する。
- 検索処理を高速化する目的で設定し、一意性は必要ない。
答えと解説を見る
正解: 各レコードを一意に識別できるように設定する。
主キーは表の各レコードを一意に識別するために設定します。他の表の主キーを参照する役割は外部キーです。
まちがえやすい点: 主キー、外部キー、インデックスの目的を取り違えない。
この内容を問題で確かめる
読んだところを、本番と同じ四肢択一の10問セットで思い出してみましょう。
ITパスポートの問題を解く →このページの内容は、IPA「ITパスポート試験 シラバス Ver.6.5」(2026年1月公表)の範囲にもとづきます(2026年10月確認)。