ITパスポート 2009年 秋期 問63
問題文
関係データベースを利用する際に、データの正規化を行う目的として、適切なものはどれか。
選択肢
ア:異機種のコンピュータ間の、データの互換性を保証する。
イ:データが重複したり、データ更新の際に矛盾が生じたりしないようにする。(正解)
ウ:データベースをネットワークで利用する際に、伝送上許されない文字を除去する。
エ:複数の媒体にまたがるデータの格納領域を、一つの連続した格納領域に見せかける。
🔒 解説は解答すると表示されます
関係データベースを利用する際に、データの正規化を行う目的として、適切なものはどれか。【ITパスポート 解説】
正解の理由
関係データベース(表形式でデータを整理するデータベース)でいう「正規化(せいきか)」(データの正規化:冗長性を減らし整合性を高めるために、データを分割・整理する手法)は、データの重複を減らし、更新時に矛盾が生じないようにすることを主目的とします。
重複があると、同じ情報を複数箇所で更新しなければならず、更新忘れや不一致(更新の矛盾=更新異常)が発生します。正規化はこれを防ぎます。
重複があると、同じ情報を複数箇所で更新しなければならず、更新忘れや不一致(更新の矛盾=更新異常)が発生します。正規化はこれを防ぎます。
解法ステップ
- 問題文で問われている中心語を見つける:今回は「正規化(データの正規化)」。
- 正規化の定義を思い出す:冗長性(重複)を減らし、データの整合性(矛盾がないこと)を保つために表を分割・整理する手法。
- 各選択肢を定義と照らし合わせる:正規化の目的と一致するものを選ぶ。
- 最も合致する選択肢が イ であると判断する。
選択肢別の誤答解説
-
ア: 異機種のコンピュータ間の、データの互換性を保証する。
- 誤り。これは「互換性」や「相互運用性(インタオペラビリティ)」に関する話です。データ形式や文字コード(例:UTF-8)を揃えることが関係しますが、正規化の目的ではありません。
-
イ: データが重複したり、データ更新の際に矛盾が生じたりしないようにする。
- 正解。正規化はテーブルの分割やキーの設定などで冗長性を減らし、更新・挿入・削除時の矛盾(更新異常、挿入異常、削除異常)を防ぎます。
-
ウ: データベースをネットワークで利用する際に、伝送上許されない文字を除去する。
- 誤り。これは文字コード変換や入力のサニタイズ(不正な文字を取り除く処理)に関する話です。正規化の目的ではありません。
-
エ: 複数の媒体にまたがるデータの格納領域を、一つの連続した格納領域に見せかける。
- 誤り。これは論理的に複数の記憶装置をまとめて扱う「論理ボリューム管理」や「RAID」など、物理レベルやファイルシステムの話です。正規化とは別領域です。
よくある誤解
-
正規化=単にデータ量を減らすことだと思う。
- 補足:確かに冗長性が減れば保存容量が減る場合がありますが、目的は「整合性を保つこと(矛盾を防ぐこと)」です。容量削減は副次効果にすぎません。
-
正規化すると必ず処理が遅くなる。
- 補足:正規化でテーブルを分割すると結合(JOIN)処理が増え、検索が遅くなる場合があります。しかし、冗長性が減ることで更新処理は簡潔になり効率的になることもあります。実務では用途に応じて「正規化」と「非正規化(denormalization)」を使い分けます。
-
正規化は細かくすればするほど良い。
- 補足:高い正規形(正規化の段階)にするほど理論的に矛盾は減りますが、実装や運用の手間、パフォーマンスとのバランスも考慮する必要があります。
補足コラム
正規化の基本的な考え方と短い例:
-
問題になる例(正規化前)
- 問題点:顧客名が複数行に重複している。顧客名が変更になったときに複数箇所を更新する必要がある(更新異常)。
-
正規化後の分割例(正規化後)
-
顧客テーブル
-
注文テーブル
-
効果:顧客名は1箇所だけ。顧客名を変えるときは顧客テーブルの1行だけ更新すればよい。
-
正規化の代表的な「正規形(せいきけい)」:
- 第1正規形(1NF):各列が単一の値を持つこと(表の基本ルール)。
- 第2正規形(2NF)、第3正規形(3NF):部分的従属性や推移的従属性を取り除くことで、冗長性や異常を防ぐ段階。
(詳しくは学習が進んだら順に理解するとよいです)
FAQ
Q1: 正規化はどこまでやればよいですか?
A1: 基本的には第3正規形(3NF)を目安にすることが多いです。ただし、検索性能や運用コストを考え、必要に応じて非正規化を検討します。
A1: 基本的には第3正規形(3NF)を目安にすることが多いです。ただし、検索性能や運用コストを考え、必要に応じて非正規化を検討します。
Q2: 正規化とインデックスは関係ありますか?
A2: 間接的に関係します。正規化でテーブル分割が進むと、結合(JOIN)による検索が増えます。インデックス(検索を速くする仕組み)を適切に設定して、パフォーマンスを調整します。
A2: 間接的に関係します。正規化でテーブル分割が進むと、結合(JOIN)による検索が増えます。インデックス(検索を速くする仕組み)を適切に設定して、パフォーマンスを調整します。
Q3: 正規化はExcelでも必要ですか?
A3: はい。ExcelやCSVでも、同じ考え方(データの重複を減らし、1つの情報は1か所で管理する)が役に立ちます。大規模データならデータベースで正規化を検討します。
A3: はい。ExcelやCSVでも、同じ考え方(データの重複を減らし、1つの情報は1か所で管理する)が役に立ちます。大規模データならデータベースで正規化を検討します。
関連キーワード: 正規化、冗長性、更新異常、挿入異常、削除異常、正規形、テーブル分割、整合性、非正規化、データ設計

\ せっかくなら /
ITパスポートを
クイズ形式で学習しませんか?
クイズ画面へ遷移する→
すぐに利用可能!

