ITパスポート 2017年 秋期 問62
問題文
関係データベースのデータを正規化することによって得られる効果として、適切なものはどれか。
選択肢
ア:異機種のコンピュータ間でのデータの互換性の確保
イ:データ圧縮処理による格納効率の向上
ウ:データの重複や矛盾の排除(正解)
エ:データを格納した装置の障害に備えたバックアップの省略
🔒 解説は解答すると表示されます
関係データベースの正規化で得られる効果【ITパスポート 解説】
正解の理由
「関係データベース」とは、表(テーブル)でデータを管理する方式のデータベースです。
「正規化」とは、データを表の形に整理して、重複や矛盾を減らす設計手法です。
「正規化」とは、データを表の形に整理して、重複や矛盾を減らす設計手法です。
正規化の目的は、データの重複(冗長性)を減らし、データ間の矛盾を防ぐことです。具体的には、同じ情報が複数の場所に存在すると、更新のときに一部だけ変更されて矛盾が生じます。正規化はこれを防ぎ、データの整合性(正しさ)を保ちます。したがって選択肢の中では、ウ「データの重複や矛盾の排除」が正しい効果です。
解法ステップ
- 問題文でキーワード「正規化」を見つける。
- 「正規化」が意味するもの(冗長性の排除、整合性の確保)を思い出す。
- 各選択肢と照らし合わせて、正規化の目的に合うものを選ぶ。
- 正規化は「構造を整理する設計作業」であり、圧縮やバックアップ、異機種間互換性の確保とは目的が異なる。
- 該当する選択肢があればそれが正解(この問題では ウ)。
選択肢別の誤答解説
-
ア: 異機種のコンピュータ間でのデータの互換性の確保
→ これはデータフォーマットやインターフェース(例:CSV, JSON, API)やミドルウェアによる問題です。正規化はテーブル設計の手法で、異機種間の互換性を直接扱いません。 -
イ: データ圧縮処理による格納効率の向上
→ データ圧縮はファイルやストレージの容量を減らす技術(例:ZIP、圧縮アルゴリズム)です。正規化は冗長データを減らすことで間接的に容量に影響することはありますが、ここで示す「圧縮処理」とは別物で、主目的も異なります。 -
ウ: データの重複や矛盾の排除
→ 正規化の主目的そのものです。冗長性を減らし、更新・挿入・削除による不整合(更新異常・挿入異常・削除異常)を防ぎます。よって正解です。 -
エ: データを格納した装置の障害に備えたバックアップの省略
→ バックアップはデータのコピーを別の場所に保管して障害に備えることです。正規化は論理設計の手法であり、バックアップの代替にはなりません。むしろバックアップは常に必要です。
よくある誤解
-
正規化をすれば必ずデータ容量が小さくなる
- 一部の冗長が減るので容量が下がる場合はありますが、正規化の結果、参照関係(外部キー)や索引が増えて逆に容量が増えることもあります。目的は「整合性確保」であって、容量削減が主目的ではありません。
-
正規化は常にパフォーマンスを良くする
- 正規化はデータの整合性を高めますが、分割(テーブル分解)により結合(JOIN)が増え、読み取り性能が悪化する場合があります。実運用では、性能面で意図的に正規化を緩める(非正規化)こともあります。
-
正規化はバックアップや障害対策の代わりになる
- どれだけ設計が優れていても、物理的な障害や誤削除に対する備えとしてのバックアップは必要です。正規化は論理的一貫性のための手法です。
補足コラム
正規化の代表的な段階(正規形)
- 第1正規形(1NF): 各列が原子値(それ以上分割できない値)であること。たとえば、1つのセルに複数の商品が入らないようにすること。
- 第2正規形(2NF): 1NFを満たし、主キーの一部にのみ依存する列がないこと(主に複合主キーの場合)。
- 第3正規形(3NF): 2NFを満たし、主キー以外の列同士で依存関係がないこと(冗長な派生データを排除)。
簡単な例(イメージ)
- 正規化前(顧客テーブルに注文情報をそのまま繰り返し記録)
- 顧客A: 注文1, 注文2(同じ顧客情報が複数行に繰り返される)
- 正規化後
- 顧客テーブル(顧客ID、名前等)
- 注文テーブル(注文ID、顧客ID、注文日、金額)
こうすることで顧客情報は一箇所、注文は別テーブルで管理され、顧客情報の更新時に矛盾が起きにくくなります。
用語メモ
- 主キー(primary key): 各行を一意に識別する列
- 外部キー(foreign key): 別テーブルの主キーを参照する列。関係(リレーション)を作るために使います
FAQ
Q1: 正規化すればデータベースの設計は完璧ですか?
A1: 完璧ではありません。正規化は整合性を高めますが、性能要件や運用を考えて非正規化を採ることもあります。トレードオフを考える必要があります。
A1: 完璧ではありません。正規化は整合性を高めますが、性能要件や運用を考えて非正規化を採ることもあります。トレードオフを考える必要があります。
Q2: 正規化とデータベースのバックアップはどちらが重要ですか?
A2: 両方重要です。正規化は論理的整合性、バックアップは障害・誤操作対策です。目的が違うのでどちらも必要です。
A2: 両方重要です。正規化は論理的整合性、バックアップは障害・誤操作対策です。目的が違うのでどちらも必要です。
Q3: 正規化はどのタイミングで行えばよいですか?
A3: 要件定義や基本設計の段階で行うのが一般的です。ただし、運用で性能問題が出れば後から見直すこともあります。
A3: 要件定義や基本設計の段階で行うのが一般的です。ただし、運用で性能問題が出れば後から見直すこともあります。
関連キーワード: 関係データベース、正規化、冗長性、整合性、正規形、主キー、外部キー、更新異常、バックアップ、データ圧縮

\ せっかくなら /
ITパスポートを
クイズ形式で学習しませんか?
クイズ画面へ遷移する→
すぐに利用可能!

