平成24年秋 午後問3 データベース

午前試験免除制度対応!基本情報技術者試験のeラーニング【独習ゼミ】
GALAXYさん  
(No.1)


設問1のC
(1)で統合対象の表のデータを見比べて,表現は異なっていても同じ情報を表しているデータかどうかを識別するのに最も適した項目を特定する
とありますが、突合せを行う項目が電話番号になるのはなぜでしょうか?
解答は、エの取引先コードにしました。

設問2
商品名"エコ鉛筆黒"について,取引先コードと平均購入単価を,金額が安い順に表示するという文言で、全くわからなくなりました。
解答はエにしました。

設問3のg
取引先コードごとに集計したり,"以前は高かったが,最近は安くなった"といった傾向を把握したりしたい場合という条件で発注表の解答になるのがわからないです
発注表では、高くなったとか、安くなったとかはわからないと思うのですが
解答はアの商品表にしました。

設問4
HAVING COUNT(DISTINCT 発注表.発注コード) >= 10
になるのかがわからないです。
HAVING COUNT(DISTINCT 発注表.発注コード) >= 10の条件で、10回以上の発注実績がある取引先を対象に,購入金額が多い順に取引先コードと金額を表示する事ができるのでしょうか?
解答はオかキかなと思ったんですが、キは合計求めてるから、有り得ないと思ったので選んでません。
2018.09.21 07:48
阿南市長さん 
(No.2)
この投稿は投稿者により削除されました。(2018.09.21 10:55)
2018.09.21 10:55
阿南市長さん 
(No.3)
この投稿は投稿者により削除されました。(2018.09.21 10:56)
2018.09.21 10:56
阿南市長さん 
(No.4)
設問1のC
X事業部・Y事業部の取引先表を見ると、情報商事という会社が両方にあり、電話番号以外がそれぞれ違う表記で登録されているのが見つかります。これらを推測すると、電話番号にはパターンマッチングが使われている可能性がある=決まった書式で書かないとエラーを返すことができるという考えに至れれば、電話番号の突き合わせで同じ情報データの抽出は可能だと導きやすいかと。

設問2
「取引先コードと平均購入単価を,金額が安い順に表示する」という部分は、記載されているSQL文のSELECT句にすでに用意されています。残りは、関連する項目を結合した上で商品名が「エコ鉛筆黒」のモノを指定すれば求められます。
それらを最低限行っているのはアだけなので、正解はアになります。
他の選択肢は結合が不完全かつ不必要な関数計算を行っているため不適切になります。

設問3のG
発注表には発注日・納入日が記載されているため、それぞれの日時・期間をWHEREで指定することで、その期間における平均購入単価を算出でき、それらを違う期間ごとに比較することで単価の変動推移を図ることができます。
選択肢アに関しては、その前の平均割引率を算出するための選択肢として使うことになるので、EもしくはFの選択肢に入るのが妥当 = Gの選択肢には入らないということになります。

設問4
購入回数を計算する関数はCOUNT関数を用いますので、この時点で正解の選択肢をア,イ,ウに絞ることができます。
また、図1の明細表を注意深く見ると、同じ発注コードで、違う商品コードが登録されていることがわかります。この事実から、同じ発注コードが複数回取り出される可能性があるので、重複されたものを除外する必要があります。
そのための命令がDISTINCTになるので、正解はイ、ということになります。


長々と書いてしまいましたが、大体こんな感じです。(誤字訂正のため削除・再投稿しました)
2018.09.21 10:55
阿南市長さん 
(No.5)
設問3について補足
平均割引率を求めるには、購入金額・数量が記載されている「明細表」と、
商品の低下が記載されている「商品表」が必要になります。これらを結合したうえでしかるべき計算をすることで今までの(全体としての)平均割引率を求めることができます。
したがって、「ア・商品表」と「カ・明細表」はE・Fの選択肢に入るのが妥当という形になります。

Gは「"以前は高かったが,最近は安くなった"といった傾向を把握したりしたい場合は,更に」とあり、別の表を追加で結合するので、Gにアを入れるのは違うという形になります。
これらを知るためには、特定の期間を求めるための情報が必要になるので、それらの情報が記載されている「ウ・発注表」を結合し、期間をWHERE句で指定することで、特定の期間ごとの平均割引率が求められます。
(順番を整えるため削除・再投稿)
2018.09.21 10:56

返信投稿用フォーム

スパム防止のためにスレッド作成日から30日経過したスレッドへの投稿はできません。

その他のスレッド


Pagetop