平成22年度 春期 午前 問31
データベース
データの正規化に関する記述
データの正規化に関する記述のうち,適切なものはどれか。
- ア正規化は,データベースへのアクセス効率を向上させるために行う。
- イ正規化を行うと,複数の項目で構成される属性は,単一の項目をもつ属性に分解される。
- ウ正規化を完全に行うと,同一の属性を複数の表で重複してもつことはなくなる。
- エ非正規形の表に対しては,選択,射影などの関係演算は実行不可能である。
答えと解説を見る
✓ これが正解イ正規化を行うと,複数の項目で構成される属性は,単一の項目をもつ属性に分解される。
解説
複数の項目をもつ属性を単一の項目へ分解します。
正規化について問われたら、まず目的を思い出してください。狙いはデータの重複を取り除き、書き換えのときに矛盾が生じるのを防ぐことです。一部だけ直して食い違う、参照先がないと登録できない、別の行を消すと関係のない事実まで消えるといった困りごとを、あらかじめ設計で断つ作業です。手順は決まっていて、まず繰返しや複合の項目をなくして平らにし、次に主キーの一部だけで決まる項目を追い出し、さらに主キーでない項目から決まる項目を別の表へ移します。正解の記述は、この一段目にあたる作業そのものです。一つのマスに複数の値が入っている属性を、値が一つずつ入る形に割っていくのが最初の正規形の条件で、ここを踏まないと後の段には進めません。手順を三段まとめて覚えるより、段ごとに何を追い出すのかを一行ずつ言えるようにしておくのが確実です。
ほかの選択肢はなぜ違うのか
- ア正規化は,データベースへのアクセス効率を…:狙いは速さではなく、書き換えのときの矛盾を防ぐことです。むしろ表が分かれるぶん結合の手間が増えて遅くなることもあり、速さのためにあえて重複を残す設計を選ぶ場面すらあります。
- ウ正規化を完全に行うと,同一の属性を複数の…:表どうしを結ぶための列は、参照する側にも残さなければなりません。消えるのは同じ事実が二重に記録されている状態であって、同じ名前の列が複数の表に現れること自体は設計の結果です。
- エ非正規形の表に対しては,選択,射影などの…:非正規形の表であっても、条件で行を絞る操作や必要な列だけを取り出す操作は問題なく実行できます。どの形まで整えてあるかということと、演算ができるかどうかは別の話です。
この問題の用語
- データベースたくさんのデータを決まった形で貯め、探したり書き換えたりできるようにした仕組み。多くの人が同時に使うことを前提にしています。
出典:平成22年度 春期 応用情報技術者試験 午前 問31
この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)