IT PASSPORT
ITパスポートの問題解説
問題
関係データベースの正規化を行う主な目的として、最も適切なものはどれか。
- ア 検索速度を最優先にするため、関連するデータをすべて1つの表にまとめるため
- イ データを暗号化して、外部からの不正アクセスを防ぐため
- ウ 表に格納できる行数の上限を増やし、より多くのデータを保存できるようにするため
- エ データの重複をなくし、更新時の矛盾(更新不整合)が起きにくいようにするため
出典:オリジナル問題|参考範囲:IPA ITパスポート試験シラバス(最新版)、情報処理技術者試験の基礎知識
正解と解説
正解:データの重複をなくし、更新時の矛盾(更新不整合)が起きにくいようにするため
解説:同じデータが複数の場所に重複して保存されていると、一方だけ更新して他方を直し忘れる「更新不整合」が起こります。例えば注文表に顧客の住所を毎回書いていると、住所変更時にすべての行を直さなければならず、直し漏れがあると同じ顧客に違う住所が並んでしまいます。正規化では表を「商品表」「顧客表」「注文表」のように役割ごとに分割し、データを原則1か所だけに持たせることで、更新は1か所直せば済むようになり、矛盾を防いで整合性を保ちやすくします。なお、検索速度を上げる目的で関連データをあえて1つの表にまとめるのは非正規化、暗号化はセキュリティ対策、行数の上限を増やすのは正規化とは別の話で、いずれも目的が異なる点に注意しましょう。
覚え方:正規化は『重複を減らして整合性アップ』。速度を上げたいときにあえて表をまとめる『非正規化』とは逆向きの操作だと対で覚えましょう。
他の選択肢はなぜ違う?
- ア関連データを1つの表にまとめるのは「非正規化」の発想で、正規化はむしろ表を適切に分割して重複を減らす操作です。検索速度向上が目的ではありません。
- イ暗号化はセキュリティ対策であり、データの構造を整理する正規化とは別の概念です。
- ウ正規化は格納できる行数の上限を増やす技術ではなく、データの冗長性を排除して整合性を保つための設計手法です。
この問題について
IPAのITパスポート試験シラバスとIT基礎知識を参考に、Sikaku Master向けに独自作成した問題です。公式試験問題・過去問題の転載ではありません。
IPAの過去問題の転載ではなく、シラバス・公開情報に基づく独自問題として作成しています。