ITパスポート 2016年 秋期 問88
問題文
関係データベースにおいて、正規化を行う目的はどれか。
選択肢
ア:関連するデータをポインタで結び、アクセス効率を高める。
イ:データにエラーを訂正する符号を付加して、信頼性を高める。
ウ:データを暗号化して、セキュリティを確保する。
エ:データを重複してもたないことなどによって、保守性を高める。(正解)
🔒 解説は解答すると表示されます
関係データベースにおいて、正規化を行う目的はどれか。【ITパスポート 解説】
正解の理由
正解は、データの重複を減らして保守性を高めるという選択肢です。文章中では エ が該当します。
ここでの「関係データベース(relational database:表(テーブル)形式でデータを保存する仕組み)」における「正規化(normalization:データの重複を減らし、矛盾が起きにくくする整理作業)」は、同じ情報が何度も繰り返し保存されること(冗長性:同じデータが重複して存在すること)を減らし、データの更新や削除・追加のときに矛盾(更新異常)が起きないようにすることを目的とします。したがって「データを重複してもたないことなどによって、保守性を高める」を述べた エ が正しい理由です。
解法ステップ
- 問題文のキーワードを探す:「関係データベース」と「正規化」。
- それぞれの意味を思い出す/確認する。
- 関係データベース:表形式で情報を管理する仕組み。
- 正規化:テーブルの設計を見直し、重複を減らす作業。
- 選択肢と突き合わせる:正規化の目的は「重複を減らし整合性を保つ」ことなので、該当する選択肢を選ぶ。
- 他の選択肢が正規化の目的と無関係であることを確認して除外する。
この順で考えれば短時間で正答にたどり着けます。
選択肢別の誤答解説
-
ア: 関連するデータをポインタで結び、アクセス効率を高める。
→ これは「インデックス」や内部構造(参照の仕組み)に近い話です。正規化はテーブルの設計(構造)を整理することで、必ずしもポインタや参照方法を直接扱うものではありません。よって不適切です。 -
イ: データにエラーを訂正する符号を付加して、信頼性を高める。
→ 「符号」は通信やストレージでのエラー訂正コード(error-correcting code)に関する話です。これも正規化とは無関係です。 -
ウ: データを暗号化して、セキュリティを確保する。
→ 暗号化は「データを外部の第三者に読まれないようにする技術(encryption)」で、セキュリティ対策です。正規化はデータの設計・整合性に関する技術であり、暗号化とは目的が異なります。 -
エ: データを重複してもたないことなどによって、保守性を高める。
→ 正規化の目的そのものを述べています。したがって正解です。
よくある誤解
-
「正規化すれば検索が必ず速くなる」
→ 正規化は冗長性を減らすが、テーブル分割が増えると複数テーブルを結合(JOIN)する必要が増え、検索が遅くなる場合があります。パフォーマンスは設計のトレードオフです。 -
「正規化=バックアップや暗号化などの安全対策」
→ 正規化はデータの整合性(保守性)向上が目的で、バックアップや暗号化とは目的が異なります。安全性を高める別の手段も必要です。 -
「正規化はどこまでも行えば良い」
→ 過度な正規化は運用コストや処理負荷を生むため、目的やシステム特性に合わせて適切な段階(多くは第3正規形まで)で止める判断が必要です。
補足コラム
簡単な例でイメージを掴みましょう。
元のテーブル(商品注文の例):
上のように「顧客名」「顧客住所」が何度も繰り返されると、住所変更時にすべて更新する必要が生じ、ミスが起きやすくなります(更新異常)。
正規化すると、顧客テーブルと注文テーブルに分けます。
顧客テーブル:
注文テーブル:
こうすると、住所を変更するのは顧客テーブルの1箇所だけで済み、整合性が保ちやすくなります。
実務では通常「第1正規形(1NF)〜第3正規形(3NF)」まで整えることが多いです。用語の意味:
- 正規形(normal form):データ構造の整理レベルのこと。
- 更新異常(update anomaly):データ更新時に矛盾や漏れが発生する問題。
FAQ
Q1: 正規化はどこまで行えばよいですか?
A1: 多くの業務系システムでは第3正規形(3NF)までが標準的です。性能上の理由で一部を意図的にまとめる(非正規化・denormalization)こともあります。
A1: 多くの業務系システムでは第3正規形(3NF)までが標準的です。性能上の理由で一部を意図的にまとめる(非正規化・denormalization)こともあります。
Q2: 正規化すると必ず性能が下がりますか?
A2: 必ず下がるわけではありません。読み取りが多い大規模システムではJOINが増えて遅くなることがありますが、更新頻度の高いシステムでは正規化により更新コストやエラーが減るため、結果的に効率的です。設計時に役割や負荷を考慮します。
A2: 必ず下がるわけではありません。読み取りが多い大規模システムではJOINが増えて遅くなることがありますが、更新頻度の高いシステムでは正規化により更新コストやエラーが減るため、結果的に効率的です。設計時に役割や負荷を考慮します。
Q3: 正規化はセキュリティ対策になりますか?
A3: 直接的なセキュリティ対策(暗号化やアクセス制御)にはなりません。ただし、データの管理が整理されることで誤操作やデータ漏えいのリスクを間接的に下げる助けにはなります。
A3: 直接的なセキュリティ対策(暗号化やアクセス制御)にはなりません。ただし、データの管理が整理されることで誤操作やデータ漏えいのリスクを間接的に下げる助けにはなります。
Q4: 正規化とインデックス(index)はどちらが重要ですか?
A4: 用途が違います。正規化はデータの構造と整合性に関する設計指針、インデックスは検索を速くするための仕組みです。両方を適切に組み合わせることが大切です。
A4: 用途が違います。正規化はデータの構造と整合性に関する設計指針、インデックスは検索を速くするための仕組みです。両方を適切に組み合わせることが大切です。
関連キーワード: 正規化、冗長性、更新異常、正規形、データ整合性、非正規化、インデックス、リレーショナルモデル

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

