ITパスポート 2010年 秋期 問63
問題文
関係データベースを構築するに当たり、データの正規化を行う目的はどれか。
選択肢
ア:データにチェックサムを付与してデータベースの異常を検出する。
イ:データの冗長性を排除して保守性を高める。(正解)
ウ:データの文字コードを統一してほかのデータベースと連携しやすくする。
エ:データを暗号化してセキュリティを確保する。
🔒 解説は解答すると表示されます
関係データベースを構築するに当たり、データの正規化を行う目的はどれか。【ITパスポート 解説】
正解の理由
正規化(せいきか)とは、関係データベース(リレーショナルデータベース:データを表(テーブル)で扱う方式)で、データの重複や不整合を減らすためにテーブルの構造を整理する作業です。目的は「データの冗長性(重複や無駄なデータ)を排除して保守性を高める」ことです。したがって選択肢イが正解です。
- 冗長性を減らすと、同じ情報を複数の場所で更新する必要がなくなり、ミスや矛盾が起きにくくなります(保守性が向上します)。
解法ステップ
- 問題文のキーワードを確認する:「関係データベース」「正規化」「目的」。
- 「正規化」が何をするかを思い出す。正規化 = テーブルを分けて重複を減らす設計作業。
- 各選択肢が正規化と合致するかを検討する。
- ア(チェックサム…) = データ検査の技術、正規化とは別物。
- イ(冗長性排除) = 正規化そのもの。
- ウ(文字コード統一) = 文字の表現統一であり別作業。
- エ(暗号化) = 情報の保護であり別作業。
- イを正解と判断。
選択肢別の誤答解説
-
ア: 「チェックサムを付与してデータベースの異常を検出する。」
- チェックサム(データの誤り検出に使う短い数値)は、データの破損や伝送エラーを見つけるための仕組みです。正規化は構造の整理であり、誤り検出とは目的が違います。
-
イ: 「データの冗長性を排除して保守性を高める。」
- 正解。正規化の代表的な目的です。例:住所や顧客情報を注文データと別テーブルに分けることで、顧客情報変更時に1か所だけ更新すれば済みます。
-
ウ: 「データの文字コードを統一してほかのデータベースと連携しやすくする。」
- 文字コード(文字の内部表現、例:UTF-8)はデータ交換や表示の互換性に関する設定です。正規化はテーブル設計のルールなので目的が異なります。
-
エ: 「データを暗号化してセキュリティを確保する。」
- 暗号化(データを読めない形に変えること)は情報漏洩対策です。正規化は保守性や整合性の向上が主目的で、直接のセキュリティ対策ではありません。
具体例(簡単なイメージ)
- 正規化前(冗長)
- 注文テーブルに顧客名・住所が毎回繰り返し保存される → 顧客住所変更のとき複数箇所を更新する必要がある
- 正規化後
- 顧客テーブル(顧客ID、顧客名、住所)と注文テーブル(注文ID、顧客ID、商品)に分ける → 顧客住所は顧客テーブルだけを更新すれば良い
よくある誤解
-
「正規化すると処理が遅くなるから悪い」
- 一般的に正規化はテーブルを分けるため、結合(JOIN)が増えて処理が増える場合があります。ただし設計が適切なら整合性が上がり、保守や誤り修正によるコスト削減の方が重要です。性能問題がある場合は部分的に正規化を緩める(非正規化)こともあります。
-
「正規化はデータを暗号化したり安全にする作業だ」
- 正規化は構造(設計)の整理であり、セキュリティや暗号化とは別の対策です。どちらも重要ですが目的が違います。
-
「正規化は必ず最高レベル(第3正規形以上)までやれば良い」
- 理想は高い正規形(正規化の段階)ですが、業務要件や性能、実装コストを考慮して現実的な設計を選びます。
補足コラム
正規化には段階があります。代表的なものを簡単に示します(専門用語の英語も併記)。
- 第1正規形(1NF: First Normal Form)
- 各列が単一値を持ち、繰り返しグループを持たない。
- 第2正規形(2NF: Second Normal Form)
- 1NFを満たし、部分的な依存(複合キーの一部にのみ依存する)がない。
- 第3正規形(3NF: Third Normal Form)
- 2NFを満たし、非キー属性が他の非キー属性に依存しない。
実務では「整合性(データが矛盾しない)を担保するために十分な正規化」を行い、必要ならインデックスやキャッシュ、データベースの設定で性能を補うことが多いです。
用語メモ
- 関係データベース(Relational Database): 表(テーブル)でデータを管理する方式。行と列で表現する。
- 冗長性: 同じ情報が複数個所に存在すること。ミスや矛盾の原因になる。
- 保守性: 修正や変更を行いやすい設計になっていること。
FAQ
Q1: 正規化をどこまでやればいいですか?
A1: 基本は第3正規形を目安にしますが、性能や運用コストを考え、必要に応じて一部非正規化(敢えて重複を許す)することもあります。
A1: 基本は第3正規形を目安にしますが、性能や運用コストを考え、必要に応じて一部非正規化(敢えて重複を許す)することもあります。
Q2: 正規化するとデータベース設計が難しくなりますか?
A2: 最初はルールが増えるため難しく感じることがあります。しかし一度慣れると、変更に強い構造を作れるため長期的には楽になります。
A2: 最初はルールが増えるため難しく感じることがあります。しかし一度慣れると、変更に強い構造を作れるため長期的には楽になります。
Q3: 正規化はセキュリティ対策になりますか?
A3: 直接的なセキュリティ対策ではありません。データの整合性や保守性は上がりますが、暗号化やアクセス制御など別の対策が必要です。
A3: 直接的なセキュリティ対策ではありません。データの整合性や保守性は上がりますが、暗号化やアクセス制御など別の対策が必要です。
関連キーワード: 正規化、冗長性排除、関係データベース設計、第1正規形、第2正規形、第3正規形、データ整合性、スキーマ設計、非正規化、データモデリング、保守性、RDBMS、データベース最適化

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

