平成29年度 秋期 ITパスポート試験 公開問題 問62 解説 データベースの正規化
関係データベースのデータを正規化することによって得られる効果として, 適切 なものはどれか。
- ア 異機種のコンピュータ間でのデータの互換性の確保
- イ データ圧縮処理による格納効率の向上
- ウ データの重複や矛盾の排除 ✓ 正答
- エ データを格納した装置の障害に備えたバックアップの省略
解説
この問題は正規化の目的を理解しているかを問う基本問題です。キーワード「正規化」を見たら「データの重複や矛盾をなくすこと」と即座に連想できれば正解にたどり着けます。
正規化とは、データベースを設計する際に、テーブル内のデータの重複を排除し、論理的な整合性を保つためのルールです。もしデータを正規化せずに、一つのテーブルにすべての情報を詰め込んでしまうと、同じ情報が何度も繰り返し登録されることになります。例えば、社員名と部署名が同じテーブルにある場合、部署の名称が変わるたびに、その部署に所属する全社員のレコードを修正しなければなりません。この作業で一部のレコードの更新を忘れると、データベース内で同じ部署の名称が人によって異なるという「データの矛盾」が発生します。
このような事態を避けるために、第1正規化から第3正規化といった手順を踏んで、データを適切なテーブルに分割します。これにより、変更すべき箇所が特定され、データの更新が一度で済むようになるため、整合性が維持されます。
ITパスポート試験では、この知識はデータベース関連の出題で繰り返し問われます。特に、更新時異常、挿入時異常、削除時異常といった言葉とセットで出題されることが多いです。正規化を行うことは、単に容量を減らすことが目的ではなく、データ操作時の不整合を防ぎ、管理しやすいシステムを作るために行われるという本質を押さえておきましょう。
選択肢にある他の項目についても検討します。異機種間での互換性はデータ形式の標準化(CSVやXMLなど)の問題であり、データ圧縮はストレージ容量の節約を目的とした処理です。また、バックアップは正規化の有無にかかわらず、システムの可用性を保つために必須の作業です。これらは正規化の直接的な目的ではありません。
- データベース設計(IPA 情報処理推進機構)