問題本文
関係データベースにおいて,正規化を行う目的はどれか。
選択肢
- ア.関連するデータをポインタで結び,アクセス効率を高める。
- イ.データにエラーを訂正する符号を付加して,信頼性を高める。
- ウ.データを暗号化して,セキュリティを確保する。
- エ.データを重複してもたないことなどによって,保守性を高める。
正解
エ. データを重複してもたないことなどによって,保守性を高める。
解説
正規化(Normalization)はリレーショナルデータベース設計の手法で,同じデータを複数の場所に持たない(冗長性を排除する)ことを目的にテーブルを段階的(第1~第5正規形など)に分解する設計作業である. これにより更新時の不整合(更新異常・挿入異常・削除異常)を防ぎ,データの保守性と整合性を高めることが正規化の本来の目的となる. ポインタによる結合は階層型・ネットワーク型データベースの仕組み,誤り訂正符号付加は信頼性向上のECC技術,暗号化はセキュリティ確保の手段で,いずれも正規化の目的とは異なる別概念. 重複排除による更新異常防止と保守性向上が正規化を理解する上での要点である.
選択肢ごとの解説
- ア.誤り. 関連するデータをポインタで結びアクセス効率を高めるのは階層型・ネットワーク型データベースの仕組みの説明で,リレーショナルDBの正規化とは構造そのものの設計概念が大きく異なる別の話である. リレーショナルDBは正規化されたテーブル間を主キーと外部キーで関連付ける方式を採用しており,ポインタ結合は用いない.
- イ.誤り. データにエラー訂正符号を付加して信頼性を高めるのはECC(Error Correcting Code)など誤り訂正符号の説明で,正規化の目的ではない. メモリやストレージのハードウェア信頼性向上の技術であり,リレーショナルDBのテーブル設計を扱う正規化とは概念のレイヤと目的が大きく異なる別の技術である.
- ウ.誤り. データを暗号化してセキュリティを確保するのは暗号化技術の役割の説明であり,正規化の目的ではない. 機密性確保とデータ構造設計は別の領域に属する活動であり,正規化はあくまでデータの冗長性を排除して整合性を保つ設計手法であって,セキュリティ対策とは目的が異なる別の概念である.
- エ.正しい. 正規化はデータを重複して持たないこと(冗長性排除)などによって更新異常を防ぎ,保守性を高める設計手法であり,本問の目的に合致するため. 関係データベース設計の基本となる手法で,第1~第3正規形以上に分解することで一貫性のあるデータ構造を作るリレーショナルDB設計の中核となる手法である.
ITパスポート 2016年 (平成28年 秋期) の過去問一覧へ戻る・問88