データベース|平成31年度 春期 ITパスポート試験(特別措置試験) 問92
関係データベースを構築する際にデータの正規化を行う目的として,適切なものはどれか。
- データに冗長性をもたせて,データ誤りを検出する。
- ✓ これが正解データの矛盾や重複を排除して,データの維持管理を容易にする。
- データの文字コードを統一して,データの信頼性と格納効率を向上させる。
- データを可逆圧縮して,アクセス効率を向上させる。
解説
同じことを何度も書かない形に整えて、食い違いを防ぎます。
正規化は、表の作りを整えて、同じことが何度も書かれない形に直す作業です。たとえば注文の表に取引先の住所まで書いてしまうと、注文が増えるたびに同じ住所が複製されます。住所が変わったとき、どれか一行でも直し忘れれば、どちらが本当か分からなくなります。そこで取引先を別の表に切り出し、注文の表からは番号で指すだけにします。こうすれば住所は一箇所にしか無いので、直すのも一度で済みます。食い違いも重複も起きません。正規化の狙いは、まさにこの維持管理を楽にすることにあります。領域が節約できるのは結果であって、目的ではありません。整える段階には決まった順があり、第一から第三まで進めるのがふつうです。進めるほど表の数は増えますが、一つひとつは小さくなります。関係データベースを設計するときの基本の作業になります。
ほかの選択肢はなぜ違うのか
- わざと冗長性を持たせて誤りを見つけるのは、通信や記録の分野で使われる別の考え方です。余分を足して食い違いを検出します。正規化はその余分を減らす向きなので、目指す先が正反対になります。四つのうち最も強い罠です。
- 文字の表し方をそろえるのは、文字化けを防いだり、並べ替えを正しく働かせたりするための手当てです。大事なことではありますが、表の作りを整える話とは別の層になります。表す方式が違えば読めなくなります。正規化が扱うのは構えのほうです。
- 元へ戻せる形で縮めて読み書きを速くするのは、圧縮の話です。置き場を節約する手立てとしては有効です。読み書きのたびに戻す手間もかかります。しかし正規化は縮める作業ではありませんし、速さを上げるために行うものでもありません。
この問題に関係する言葉
- 正規化
- 関係データベースデータを表の形で持ち、表どうしを結びつけて扱う、最も広く使われているデータベース。設計に使うE-R図は、この形での実装を前提にしません。
- 冗長性
出典:平成31年度 春期 ITパスポート試験(特別措置試験) 問92
同じ単元をまとめて解くならデータベースへ。
この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)