平成29年度 春期 午前 問27
データベース
正規化に関する問題
“受注明細”表は,どのレベルまでの正規形の条件を満足しているか。ここで,実線の下線は主キーを表す。
〔表:受注明細〕(主キー=受注番号,明細番号。原典では実線の下線)
| 受注番号 | 明細番号 | 商品コード | 商品名 | 数量 |
|---|---|---|---|---|
| 015867 | 1 | TV20006 | 20型テレビ | 20 |
| 015867 | 2 | TV24005 | 24型テレビ | 10 |
| 015867 | 3 | TV28007 | 28型テレビ | 5 |
| 015868 | 1 | TV24005 | 24型テレビ | 8 |
- ア第 1 正規形
- イ第 2 正規形
- ウ第 3 正規形
- エ第 4 正規形
答えと解説を見る
✓ これが正解イ第 2 正規形
解説
部分的な従属は無いが推移的な従属が残る段です。
設問は、受注明細という表がどのレベルまでの正規形の条件を満たしているかを選ばせています。当てはめる前に、各段の条件を書き出しておきます。最初の段は繰返し項目が無いこと、次の段は主キーの一部だけで決まる列が無いこと、その次の段はキーでない列がキーでない別の列を決めていないことです。この表はどのセルにも値が一つだけ入っているので、最初の段は満たします。主キーは受注番号と明細番号の二列です。商品コードは受注番号だけでも明細番号だけでも定まらず、両方そろって初めて定まります。商品名と数量も同じですから、主キーの一部だけで決まる列はありません。よって次の段も満たします。ところが商品コードが商品名を決めており、しかも商品コードはキーではありません。キーから商品コードへ、そこから商品名へという関数従属の連なりが残るため、その次の段の条件は崩れます。正規化の段は下から順に積み上がるので、途中で落ちたらその上は調べるまでもなく、満たした最後の段が答えになります。
ほかの選択肢はなぜ違うのか
- ア第 1 正規形:満たしている段のうち、いちばん低いところで判断を止めた答えです。ますの中に値が一つずつ入っていることに加えて、主キーの一部で決まる列が無いことまで確かめられます。
- ウ第 3 正規形:キーでない列どうしの決まり方を見落とした答えです。同じ商品コードには必ず同じ商品名が並んでいるので、キーを経由しない決まり方がこの表には残っています。
- エ第 4 正規形:多値従属性を扱う、さらに上の段を指した答えです。下の段の条件が崩れている表がここまで上がってくることはないので、この表の到達点にはなりません。
出典:平成29年度 春期 応用情報技術者試験 午前 問27
この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)