平成24年度 春期 午前 問27
データベース
正規化に関する問題
第 1,第 2,第 3 正規形とそれらの特徴 a 〜 c の組合せとして,適切なものはどれか。
a:どの非キー属性も,主キーの真部分集合に対して関数従属しない。 b:どの非キー属性も,主キーに推移的に関数従属しない。 c:繰返し属性が存在しない。
| 第 1 正規形 | 第 2 正規形 | 第 3 正規形 | |
|---|---|---|---|
| ア | a | b | c |
| イ | a | c | b |
| ウ | c | a | b |
| エ | c | b | a |
- アa b c
- イa c b
- ウc a b
- エc b a
答えと解説を見る
✓ これが正解ウc a b
解説
繰返し属性の除去が最初の段で、次が部分従属の除去です。
組合せを問う設問では、最も確かな一つを先に置くと残りが決まります。見分けの軸は、その特徴がキーとの関わりを述べているか、それとも値の形だけを述べているか、という一点です。三つの特徴のうち、繰返し属性が存在しないという記述だけがキーに触れていません。値の形の話しかしていませんので、これが表の枠に収める段、つまり最初の正規形に当たります。残る二つは、どちらもキーとの関わり方で区別します。主キーの真部分集合に対して関数従属しないという記述は、複数の列で作られた主キーの一部だけで決まってしまう列を追い出すことですから、二段目に当たり、部分関数従属の除去と呼ばれます。主キーに推移的に関数従属しないという記述は、主キーから別の列を経て決まる列を追い出すことですから、三段目に当たり、推移関数従属の除去と呼ばれます。したがって順に、繰返し属性、真部分集合、推移的、という並びになります。段は必ず下から積み上げるもので、前の段を満たさないまま次の段を名乗ることはできません。正規化は、どの列が何によって決まってしまっているかを一つずつ言葉にすると身に付きます。
ほかの選択肢はなぜ違うのか
- アa b c:この組合せは、真部分集合に触れた特徴を最も手前の段に置いています。その特徴はキーが複数の列でできている場合の話ですので、値の形を整える段の説明にはなりません。三つとも一段ずつずれた並びです。
- イa c b:この組合せも、最も手前の段にキーの一部という考え方を持ち込んでいます。繰返しをなくす段より先にキーの話を置くことはできませんので、二段目と三段目を見るまでもなく成り立ちません。
- エc b a:この組合せは、最も手前の段は合っていますが、二段目と三段目が入れ替わっています。間に別の列を挟んで決まる場合を二段目に、キーの一部で決まる場合を三段目に置いており、追い出していく順序が逆です。
出典:平成24年度 春期 応用情報技術者試験 午前 問27
この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)