過去問解きまくり研究所 ホーム

平成29年度 春期 午前 問27

データベース

正規化に関する問題

“受注明細”表は,どのレベルまでの正規形の条件を満足しているか。ここで,実線の下線は主キーを表す。

〔表:受注明細〕(主キー=受注番号,明細番号。原典では実線の下線)

受注番号明細番号商品コード商品名数量
0158671TV2000620型テレビ20
0158672TV2400524型テレビ10
0158673TV2800728型テレビ5
0158681TV2400524型テレビ8
答えと解説を見る

✓ これが正解イ第 2 正規形

解説

部分的な従属は無いが推移的な従属が残る段です。

設問は、受注明細という表がどのレベルまでの正規形の条件を満たしているかを選ばせています。当てはめる前に、各段の条件を書き出しておきます。最初の段は繰返し項目が無いこと、次の段は主キーの一部だけで決まる列が無いこと、その次の段はキーでない列がキーでない別の列を決めていないことです。この表はどのセルにも値が一つだけ入っているので、最初の段は満たします。主キーは受注番号と明細番号の二列です。商品コードは受注番号だけでも明細番号だけでも定まらず、両方そろって初めて定まります。商品名と数量も同じですから、主キーの一部だけで決まる列はありません。よって次の段も満たします。ところが商品コードが商品名を決めており、しかも商品コードはキーではありません。キーから商品コードへ、そこから商品名へという関数従属の連なりが残るため、その次の段の条件は崩れます。正規化の段は下から順に積み上がるので、途中で落ちたらその上は調べるまでもなく、満たした最後の段が答えになります。

ほかの選択肢はなぜ違うのか

出典:平成29年度 春期 応用情報技術者試験 午前 問27

この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)