ソフトⅡコース担当 ブログのおにーさまこと高橋です。
先週情報処理技術者試験の受験料について書きましたが、近く受験申し込みが始まります。ということで、過去問題の解説を再開したいと思います。
今日は、平成27年度秋期基本情報技術者試験午後問3の解説です。この問題は、SQLを中心としたデータベースの問題です。条件部分が空欄になっている設問が多いので、条件に関わるところをしっかりと読みましょう。
設問1
リコール対象となる電子部品の出荷先を抽出する問題です。空欄aはWHERE条件の一部なので、条件を確認します。リコール対象の電子部品は
- 部品番号が007551である
- 出荷日が2015年1月10日から2015年1月20日までである
最初の「出荷表.顧客番号=顧客表.顧客番号」は、顧客表と出荷表を結合するための結合条件です。2つ目の「出荷表.部品番号=’007551’」は、上記1つ目の部品番号に関する条件です。従って空欄aには、上記2つ目の出荷日に関する条件が入ります。この条件は日付の範囲なので、BETWEENが使えます。「出荷表.出荷日 BETWEEN ‘20150110’ AND ‘20150120’」で、ウが正解です。解答群の他の解答では、範囲でなく、いずれかの日付になります。
設問2
空欄bの部分は、設問1のSQL文では部品番号の条件です。設問2では、設問1の条件だけでなく、パッケージに含まれている場合も抽出する必要があります。出荷表の部品番号が’007551’であるか、同梱部品に’007551’を含むパッケージの部品番号であるかのいずれかです。従って2つの条件はOR条件です。同梱部品のなかのいずれかが’007551’であればよいので、「= ANY」を用いた副問合せで、その副問合せは「SELECT パッケージ表.部品番号 FROM パッケージ表 WHERE パッケージ表.同梱部品=’007551’」です。空欄cの正解はエです。
設問3
この設問は考えるまでもなく、出荷金額の合計なので、空欄cには「SUM(出荷表.出荷金額)」が入ります。正解はエです。
設問4
リコールは対象部品を含む出荷に対して行うことになるので、回収情報は出荷表に加える必要があります。空欄dの正解はイです。
この方法では、回収の発生しなかった出荷にも追加した項目の領域が必要となります。これらにはNULLが設定されることになりますが、リコールの頻度が低いとほとんどがNULLとなり、無駄が大きくなります。そこで、別途回収表を作成し、回収対象の出荷番号を記録します。
図をクリックで拡大
回収対象の出荷を除いた出荷金額を求める場合、上の図のように出荷表から回収表に記録された出荷を除いて合計を求めます。必要な表は、出荷表と回収表だけです。空欄eの正解はアです。
どうでしょうか。設問3までは、時間をかけずに解きたいところです。
2015年(平成27年度)秋期の解説
- 平成27年度 秋 基本情報技術者試験 【問1】
- 平成27年度 秋 基本情報技術者試験 【問8】
- 平成27年度 秋 基本情報技術者試験 【問7】
- 平成27年度 秋 基本情報技術者試験 【問6】(その2)
- 平成27年度 秋 基本情報技術者試験 【問6】(その1)
- 平成27年度 秋 基本情報技術者試験 【問5】
- 平成27年度 秋 基本情報技術者試験 【問3】
- 平成27年度 秋 基本情報技術者試験 【問4】(その2)
- 平成27年度 秋 基本情報技術者試験 【問4】(その1)
- 平成27年度 秋 基本情報技術者試験 【問12】
- 平成27年度 秋 基本情報技術者試験 【問2】
- Date:
- この記事を
友だちに教える - LINE
- - HatenaBookmark
- GooglePlus