【問161】ITパスポート 練習問題|正規化を行う目的
情報デザイン・データベース・ネットワーク 問11/25難易度B(標準)
問題文
関係データベースの設計において正規化を行う主な目的として、最も適切なものはどれか。
- 1.表の中の文字データを圧縮して、データベース全体が使う記憶容量を小さくすること。
- 2.検索を高速化するために、よく使う列に索引(インデックス)を作成しておくこと。
- 3.データの重複をなくし、更新の際に内容の矛盾が生じないようにすること。
- 4.すべての項目を一つの表にまとめ、表を結合せずに参照できるようにすること。
解説
正解は3。正規化は、一つの表の中に混在している項目を関連ごとに複数の表へ分割し、同じデータが何か所にも重複して現れないように整理する作業である。重複がなくなると、取引先の住所や商品名を変更するときの修正箇所が1か所で済み、一部だけ直し忘れて内容が食い違う更新時異常を防げる。1は誤り。文字データの圧縮は記憶容量を減らすための技術であって、正規化の目的ではない。結果として容量が減ることはあるが、狙いは矛盾の防止にある。2は誤り。索引の作成は検索を速くするための手段であり、正規化とは別の話である。むしろ正規化で表が分かれると結合が増え、検索の処理は重くなる場合がある。4は誤り。すべての項目を一つの表にまとめるのは正規化とは逆の方向で、重複が増えて矛盾が起きやすくなる。目的は容量の削減ではなくデータの整合性の維持だ、という点が繰り返し問われる。