平成31年度 春期 ITパスポート試験 問92 解説 データの正規化の目的
関係データベースを構築する際にデータの正規化を行う目的として,適切なものはどれか。
- ア データに冗長性をもたせて,データ誤りを検出する。
- イ データの矛盾や重複を排除して,データの維持管理を容易にする。 ✓ 正答
- ウ データの文字コードを統一して,データの信頼性と格納効率を向上させる。
- エ データを可逆圧縮して,アクセス効率を向上させる。
解説
データの正規化に関する問題では、その目的がデータの「整理整頓」にあると理解することが正解への近道です。選択肢の中から「矛盾をなくす」「無駄を省く」といった、管理の効率化を意味する記述を探しましょう。
正規化とは、データベース内のテーブルを、データの重複を排除した論理的な構造に分解する作業のことです。例えば、社員名と部署名を一つのテーブルにまとめると、部署が移動するたびに社員全員の情報を修正しなければならず、修正漏れが発生して「Aさんの部署は営業部なのに、システム上は開発部のまま」といったデータの矛盾が起こります。このような事態を防ぐため、情報を小さな単位に分割して整理し、どこか一箇所を修正すれば全体に反映されるような構造にします。
実務においては、正規化を怠ると「更新異常」「挿入異常」「削除異常」といった問題が発生します。更新異常は前述の修正漏れによる不整合のことです。挿入異常とは、まだ誰も配属されていない新しい部署を登録したくても、社員がいないためテーブルに追加できないという事態です。削除異常は、ある社員を退職させてデータを消したら、その社員しか所属していなかった部署の情報まで消えてしまうという事態を指します。正規化はこれらの不都合を回避し、データベースの信頼性を保つために不可欠な工程です。
試験では「正規化の目的」を問う問題のほか、第一正規形から第三正規形までの手順を理解しているか問われることもあります。特に、非キー属性が主キーに完全関数従属しているか、推移的関数従属がないかといった概念は頻出です。実務的かつ論理的な整合性を保つための設計手法として整理しておくと、応用問題にも対応しやすくなります。
- データベーススペシャリスト試験対策:正規化の基本手順