問題
問92
関係データベースを構築する際にデータの正規化を行う目的として、適切なものはどれか。
- データに冗長性をもたせて、データ誤りを検出する。
- データの矛盾や重複を排除して、データの維持管理を容易にする。
- データの文字コードを統一して、データの信頼性と格納効率を向上させる。
- データを可逆圧縮して、アクセス効率を向上させる。
[出典:ITパスポート試験 平成31年度春期 問92]
正解
正解は「イ」です。
解説
関係データベースにおける正規化は、データの冗長性(重複)を排除し、データの整合性(矛盾がないこと)を保つことを目的とした設計手法です。例えば、顧客情報と注文情報を一つの大きな表にまとめてしまうと、同じ顧客の名前や住所が複数の注文記録に何度も重複して現れることがあります。この状態では、もし顧客の住所が変わった場合、すべての注文記録を修正しなければならず、修正漏れや入力ミスによるデータ矛盾が発生しやすくなります。
正規化を行うことで、顧客情報は顧客情報だけの表に、注文情報は注文情報だけの表に分割し、それぞれの表をIDなどのキーで関連付けます。これにより、データは一箇所にまとまって管理されるため、データの重複が大幅に削減され、更新時の矛盾発生を防ぎ、データベースの維持管理が格段に容易になります。また、ディスク容量の節約にもつながります。
ア(データに冗長性をもたせて、データ誤りを検出する。):
冗長性を持たせることは、データの重複を増やすことであり、データ誤りの原因となるため、正規化の目的とは逆です。正規化は冗長性を排除します。
ウ(データの文字コードを統一して、データの信頼性と格納効率を向上させる。):
データの文字コード統一はデータベース管理において重要ですが、正規化の主要な目的ではありません。正規化はデータの構造に着目します。
エ(データを可逆圧縮して、アクセス効率を向上させる。):
データ圧縮はデータベースのパフォーマンスや容量に関わる技術ですが、正規化とは異なる概念です。正規化はデータの論理的な構造を改善します。
難易度
この問題は、関係データベースの基本的な概念である「正規化」の目的を問うものです。ITパスポート試験のデータベース分野では頻出のテーマであり、基本を理解していれば比較的容易に解答できます。選択肢の内容も、正規化の目的とそうでないものとが明確に分かれているため、混乱しにくいでしょう。
用語補足
関係データベース:
複数の表(テーブル)を組み合わせてデータを管理するデータベースの形式です。例えば、顧客リストの表と商品リストの表を別々に持ち、それぞれの表を顧客IDや商品IDで関連付けて管理することで、効率的にデータを扱えます。
正規化:
データベースの設計において、データの重複や矛盾をなくし、データベースの構造を整理する作業のことです。例えば、一つの表に顧客名、住所、電話番号、注文商品、注文日など全てを詰め込むのではなく、顧客情報と注文情報を別々の表に分けて管理するようにすることです。
冗長性:
同じデータがデータベース内に複数箇所で重複して存在することです。例えば、顧客の住所が、その顧客の複数の注文記録それぞれに毎回記載されているような状態を指します。冗長性があると、データの更新が大変になったり、矛盾が生じやすくなります。
データ維持管理:
データベースに保存されているデータを、いつでも正しく、効率的に利用できるように保つための作業全般のことです。データの入力、更新、削除、バックアップ、復元などが含まれます。
対策
関係データベースの「正規化」は、ITパスポート試験で頻出の重要テーマです。正規化の目的(冗長性の排除、データ整合性の維持、更新異常の防止など)と、その具体的な手法(第1正規形、第2正規形、第3正規形)を理解することがポイントです。各正規形の定義と、それによって解決される問題点を具体例とともに学ぶと良いでしょう。過去問題を繰り返し解き、正規化のメリットとデメリットをしっかり把握してください。

