基本情報技術者
テクノロジ系
関係データベースの正規化の目的として適切なものはどれか。
1.
データベースの処理速度を上げること
2.
データの冗長性を排除して更新異常を防ぐこと
✓ 正解
3.
データベースのセキュリティを強化すること
4.
データベースの容量を増やすこと
📝 解説
データベースの正規化はテーブル設計において「データの冗長性(同じ情報の重複保持)を排除し、データの更新・挿入・削除を行う際に発生する矛盾や異常(アノマリ)を防ぐ」ことを目的とした設計技法です。図書館の蔵書管理に例えると、「本ID・本のタイトル・著者名・著者の住所」をすべて1テーブルで管理すると、同じ著者の本が100冊あるとき著者の住所が変わると100件すべてを更新しなければならない(更新異常)。著者テーブルと本テーブルに分離すれば著者テーブルの1件を更新するだけで済みます。正規化には第1正規形(1NF)・第2正規形(2NF)・第3正規形(3NF)・ボイスコッド正規形(BCNF)・第4・第5正規形がありますが、実務では通常3NFまでが行われます。ただし正規化を進めすぎると結合(JOIN)が多くなり検索性能が低下するため、性能要件によって意図的に「非正規化(冗長性の許容)」を行う場合もあります。誤答の「処理速度を上げること」「セキュリティを強化すること」「容量を増やすこと」はいずれも正規化の主目的ではありません。「正規化=冗長性排除・更新異常防止」が目的と覚えましょう!