ITパスポート試験 / 平成26年度 秋期 ITパスポート試験 公開問題 / 問68
certification-simodake-work

平成26年度 秋期 ITパスポート試験 公開問題 問68 解説 データベースの正規化

関係データベースの表を正規化することによって得られる効果として, 適切なものはどれか。

  1. ア 使用頻度の高いデータを同じ表にまとめ, 更新時のディスクアクセス回数を減らすことができる。
  2. イ データの重複を排除して, 更新時におけるデータの不整合の発生を防止することができる。 ✓ 正答
  3. ウ 表の大きさを均等にすることで, 主記憶の使用効率を向上させることができる。
  4. エ 表の数を減らすことで, 問合せへの応答時間を短縮することができる。

解説

この問題の判断根拠は、正規化が「データの重複を排除し、不整合を防ぐための手続きである」という定義を理解しているかどうかにあります。正規化とは、一つの表にすべての情報を詰め込むのではなく、関連する項目ごとに表を分割して整理し、データの管理を効率的かつ正確にする作業です。

なぜ正規化を行うのか

データベースにおけるデータの不整合とは、たとえば「住所」の情報が複数の行に重複して保存されている状態で、そのうちの一行だけを修正し、他の行を修正し忘れるといった状況で発生します。こうなると、どちらの情報が正しいのか分からなくなり、データベースの信頼性が損なわれます。

正規化を行うことで、ある事柄に関するデータは一つの場所にのみ存在するようになります。情報の変更が必要なときは、その一箇所を直すだけで済むため、更新漏れによる不整合を防ぐことができます。これが正規化の最大のメリットです。

他の選択肢が誤りである理由

選択肢にある他の内容は、正規化の本来の目的とは異なります。

アの「更新時のディスクアクセス回数を減らす」ことは、多くの場合、正規化とは逆の非正規化(テーブルの結合を避ける手法)の目的になります。正規化は表を細かく分けるため、検索時に複数の表を結合する処理が必要になることがあり、必ずしもディスクアクセス回数が減るわけではありません。

ウの「主記憶の使用効率」や、エの「表の数を減らして問合せ時間を短縮する」ことも正規化の目的ではありません。むしろ正規化によって表の数は増えるのが一般的であり、特定の条件下ではアクセス速度を優先してあえて正規化を崩す判断(非正規化)をすることさえあります。

実務における正規化の重要性

ITパスポート試験においてこの知識が問われるのは、データベースの設計がシステムの品質に直結するからです。例えば、顧客管理システムにおいて、顧客名と注文履歴を一つの表に入れて管理していると、顧客が転居した際に過去の注文履歴をすべて検索して住所を書き換えるという非効率で危険な作業が発生します。

実務の現場では、正規化の考え方を適用することで、システムを長く使ってもデータが矛盾なく管理できる「堅牢なデータベース」を構築できます。試験対策としては、正規化=「重複の排除」と「整合性の維持」というキーワードをセットで覚えておきましょう。

参考リンク

学習の記録にははてなブックマーク!

気づいたこと・覚えたことをコメントにメモしよう