ITパスポート 2012年 春期 問79
問題文
関係データベースのデータを正規化する目的として、適切なものはどれか。
選択肢
ア:データの圧縮率を向上させる。
イ:データの一貫性を保つ。(正解)
ウ:データの漏えいを防止する。
エ:データへの同時アクセスを可能とする。
🔒 解説は解答すると表示されます
関係データベースのデータを正規化する目的は何か【ITパスポート 解説】
正解の理由
関係データベース(リレーショナルデータベース:表形式でデータを管理する方式)で行う正規化(normalization:データの矛盾や重複を減らす設計手法)の主な目的は、データの一貫性を保つことです。つまり、同じ情報が複数の場所に重複しているために生じる矛盾(例:氏名を2か所で更新し忘れる)を防ぎます。よって選択肢の中では イ「データの一貫性を保つ。」が正しいです。
解法ステップ
- 問題文のキーワードを探す:ここでは「正規化」と「関係データベース」。
- 正規化の目的を思い出す:主に「冗長性の削減」「整合性維持」「更新・削除・挿入の異常を防ぐ」。
- 選択肢と照らし合わせる:「一貫性(整合性)」に関する選択肢を選ぶ。性能やセキュリティの話は別の対策(インデックス、暗号化、アクセス制御)で行うことが多い。
- 正しい選択肢が イ であると判断する。
選択肢別の誤答解説
-
ア: データの圧縮率を向上させる。
誤り。正規化はデータの重複を減らしますが、圧縮(データを小さくする技術)は別です。正規化によりテーブルが分割され、結果として保存効率が上がる場合もありますが、「圧縮率を向上させる」ことが主目的ではありません。 -
イ: データの一貫性を保つ。
正しい。重複を排除し、データの「どこが正しいか分からない」という状態を防ぎます。更新・削除・挿入の際の矛盾(更新異常・削除異常・挿入異常)を減らす設計が正規化です。 -
ウ: データの漏えいを防止する。
誤り。漏えい防止はアクセス制御(誰が見られるか)、暗号化、監査ログなどセキュリティ対策の領域です。正規化は構造設計の手法であり、直接的な防御手段ではありません。 -
エ: データへの同時アクセスを可能とする。
誤り。同時アクセス(並行処理)を扱うのはトランザクション制御やロック、同時実行制御の仕組みです。正規化自体は並行アクセスの可否を直接変えません。
よくある誤解
-
正規化 = パフォーマンス低下
- 正規化するとテーブルを分けるため結合(JOIN)が増え、検索性能が落ちる場合があります。しかし設計次第でインデックスやキャッシュを用いて性能を改善できます。目的は整合性維持です。
-
正規化すればセキュリティも万全になる
- 正規化はデータの構造的な整合性を高めますが、漏えいや不正アクセスを防ぐ機能はありません。別途アクセス制御や暗号化が必要です。
-
正規化 = 何でも分割すれば良い
- 過度な分割は管理やパフォーマンスの問題を招きます。実務では実用性と整合性のバランスを取る「適切な正規化度合い」を選びます(場合によっては部分的な非正規化=denormalizationを使う)。
補足コラム
正規化には「第1正規形(1NF)」「第2正規形(2NF)」「第3正規形(3NF)」などの段階(正規形)があり、段階ごとに守るべきルールが増えます。簡単に説明すると:
- 1NF:表の各列が原子値(分割できない値)であること。
- 2NF:1NFかつ、主キーの一部にだけ依存する列を分離すること(部分従属の排除)。
- 3NF:2NFかつ、非キー同士の依存(推移的依存)を排除すること。
例(簡単):
- 非正規化の表:社員ID, 社員名, 部署名, 部署所在地
- 部署名が重複しやすく、部署所在地を変更すると複数箇所を更新する必要がある。
- 正規化後:社員表(社員ID, 社員名, 部署ID)と部署表(部署ID, 部署名, 部署所在地)に分ける。
- 部署所在地は部署表の1箇所だけを更新すればよくなり、一貫性が保たれます。
ただし、業務要件や性能要件に応じて「あえて正規化しない」選択(非正規化)をすることもあります。設計は目的に合わせることが大切です。
FAQ
Q1. 正規化すると検索が遅くなるのですか?
A1. 場合によります。テーブル分割によりJOINが増えるため遅く感じることがありますが、インデックスやキャッシュ、必要な箇所だけ非正規化する等で対策できます。
A1. 場合によります。テーブル分割によりJOINが増えるため遅く感じることがありますが、インデックスやキャッシュ、必要な箇所だけ非正規化する等で対策できます。
Q2. 正規化は必ず3NFまで行うべきですか?
A2. 原則として3NFまで行えば整合性は高まりますが、業務や性能要件に応じて柔軟に判断します。実務ではバランスを見て設計します。
A2. 原則として3NFまで行えば整合性は高まりますが、業務や性能要件に応じて柔軟に判断します。実務ではバランスを見て設計します。
Q3. 正規化はどんな場面で役立ちますか?
A3. データが重複して矛盾が起きやすい業務(顧客情報、商品マスターなど)で特に役立ちます。データ品質を保ちたい場面で有効です。
A3. データが重複して矛盾が起きやすい業務(顧客情報、商品マスターなど)で特に役立ちます。データ品質を保ちたい場面で有効です。
関連キーワード: 正規化, 関係データベース, データ整合性, 冗長性削減, 更新異常, 正規形, 非正規化, データモデリング

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

