■問7■ |
販売管理データベースに関する記述を読んで、設問1〜4に答えよ。
X社の営業会議において、取扱い商品の見直しや単価改定などを行うことが決まり、上司の指示に基づき、Y君は、次回開催される営業会議で必要な資料を、販売管理データベースを活用して作成することになった。
X社の販売管理システムに収容されているデータは、販売管理データベースとしてデータベース化(図
1 にデータ構造を示す)されている。
商品在庫表の販売終了日には、その商品の販売をやめた日付けが設定されているが、販売中の商品については、NULL
値が設定されている。
また、商品分類には、類似している商品をひとくくりに把握するためのコードが設定されている。
Y君は、次の作業を行うよう、上司から指示を受けた。 |
作業 1 : |
1999年4月以降販売を開始し、継続して販売している商品については、商品ごとに販売金額、販売数量、利益率を求める。
利益率を求める計算式は、“利益率=利益金額/販売金額”
とする。 |
作業 2 : |
1998年10月以前に販売を開始し、継続して販売している商品については、1998年10月〜1999年9月の 1
年間の商品ごとの販売金額合計を基に、商品ごとにランク付けを行う。
ランク付けは、販売金額の合計が多い商品から少ない順に並べ、販売金額合計の累計構成比が、70
%未満の商品はランクA、70 %以上 90
%未満の商品はランクB、90
%以上の商品はランクCとする。 |
作業 3 : |
1997年10月以前に販売を開始し、継続して販売している商品については、商品分類ごとにランク付けを行い、その推移状況を求める。
手順は次のとおりである。
@ |
1997年10月〜1998年9月と1998年10月〜1999年9月に分けて、それぞれ商品分類ごとの販売金額合計を基に、商品分類ごとにランク付けを行う。ランク付けは、作業
2 と同様にする。 |
A |
1997年10月〜1998年9月のランク付けした結果と1998年10月〜1999年9月のランク付けした結果を基に、図
2 で示すランク推移表を作る。 |
B |
ランク推移表を基に、検討資料を作成するためのデータを抽出する。
|
なお、ランク推移表の販売金額合計 1
とランク 1
には、1997年10月〜1998年9月の販売金額合計とランクを設定し、販売金額合計
2 とランク 2
には、1998年10月〜1999年9月の販売金額合計とランクを設定する。
また、ランク推移状況には、状況ステータスとして、ランクが上がったものに
’↑’、ランクが変わらないものに
’→’、ランクが下がったものに
’↓’を設定する。
|
|
■設問1■
|
次に示す SQL 文は、作業 1
の商品ごとの販売金額、販売数量、利益率を求めるものである。
SQL 文の 【 】
に入れる適切な字句を、解答群の中から選べ。
SELECT 商品在庫表.商品コード,商品在庫表.商品名,
【 a 】,【 b 】,(【 a 】−【 b 】*【 c 】)/【 a 】
FROM 販売表,販売明細表,商品在庫表
WHERE 販売表.販売番号 = 販売明細表.販売番号
AND 商品在庫表.販売開始日 >= ’1999-04-01’
AND 商品在庫表.販売終了日 IS NULL
AND 販売明細表.商品コード = 商品在庫表.商品コード
GROUP BY 商品在庫表.商品コード,商品在庫表.商品名,商品在庫表.仕入単価
ア SUM(仕入単価) |
イ SUM(在庫数量) |
ウ SUM(販売金額) |
エ SUM(販売数量) |
オ SUM(販売単価) |
カ 仕入単価 |
キ 在庫数量 |
ク 販売金額 |
ケ 販売数量 |
コ 販売単価 |
|
|
|
■設問2■
|
作業 2
を行う上で全商品をランク付けの対象にするためには、販売実績がない商品があった場合のことを考慮しておく必要がある。Y君は、あらかじめ、販売実績がない商品を抽出する
SQL 文を考えておくことにした。
次に示す SQL
文は、販売実績がない商品を抽出するためのものである。
SQL 文の 【 】
に入れる適切な字句を、解答群の中から選べ。
SELECT 商品コード,商品名,0 AS 販売金額 FROM 商品在庫表
WHERE 【 d 】 AND 販売終了日 IS NULL
AND 商品コード 【 e 】
(SELECT DISTINCT 商品コード
FROM 販売表,販売明細表
WHERE 販売表.販売番号 = 販売明細表.販売番号 AND 【 f 】)
ア |
販売開始日 BETWEEN ’1998-10-01’ AND ’1999-09-30’ |
イ |
販売開始日 < ’1998-10-01’ |
ウ |
販売開始日 < ’1999-09-30’ |
エ |
販売開始日 > ’1998-10-01’ |
オ |
販売開始日 > ’1999-09-30’ |
カ |
販売日 BETWEEN ’1998-10-01’ AND ’1999-09-30’ |
キ |
販売日 < ’1998-10-01’ |
ク |
販売日 < ’1999-09-30’ |
ケ |
販売日 > ’1998-10-01’ |
コ |
販売日 > ’1999-09-30’ |
|
■設問3■
|
作業 3−A
のランク推移表を作成する作業として、ランク推移状況に状況ステータスを設定する。
次に示す SQL
文は、ランク推移表のランク推移状況に状況ステータスを設定するためのものである。表は、SQL
文中の下線の状況ステータスと条件式の一覧である。
表中の 【 】
に入れる適切な字句を、解答群の中から選べ。
UPDATE ランク推移表 SET ランク推移状況 = 状況ステータス WHERE 条件式
ア |
ランク 1 = ’C’ AND ランク
2 = ’A’ |
イ |
ランク 1 = ’C’ AND ランク
2 = ’B’ |
ウ |
ランク 1 = ’C’ AND ランク
2 = ’C’ |
エ |
ランク 1 = ’C’ AND ランク
2 <> ’A’ |
オ |
ランク 1 = ’C’ AND ランク
2 <> ’B’ |
カ |
ランク 1 = ’C’ AND ランク
2 <> ’C’ |
ア |
ランク 1 = ’B’ AND ランク
2 = ’A’ |
イ |
ランク 1 = ’B’ AND ランク
2 = ’B’ |
ウ |
ランク 1 = ’B’ AND ランク
2 = ’C’ |
エ |
ランク 1 = ’B’ AND ランク
2 <> ’A’ |
オ |
ランク 1 = ’B’ AND ランク
2 <> ’B’ |
カ |
ランク 1 = ’B’ AND ランク
2 <> ’C’ |
ア |
ランク 1 = ’A’ AND ランク
2 = ’A’ |
イ |
ランク 1 = ’A’ AND ランク
2 = ’B’ |
ウ |
ランク 1 = ’A’ AND ランク
2 = ’C’ |
エ |
ランク 1 = ’A’ AND ランク
2 <> ’A’ |
オ |
ランク 1 = ’A’ AND ランク
2 <> ’B’ |
カ |
ランク 1 = ’A’ AND ランク
2 <> ’C’ |
|
■設問4■
|
次に示す SQL 文は、作業
3−Bの作業として、ランク別商品分類一覧表を作成するためのデータを抽出するものである。
SQL 文を読んで、抽出結果の順序に関する記述の
【 】
に入れる適切な字句を、解答群の中から選べ。解答は重複して選んでもよい。
なお、ランク推移状況に入力した状況ステータスを昇順に整列させると、’↑’、’→’、’↓’、の順となる。
SELECT ランク 2,商品分類,ランク推移状況,ランク 1
,販売金額合計 2
FROM ランク推移表
ORDER BY ランク 2 ASC,ランク推移状況 ASC,ランク
1 DESC
@ |
抽出結果の順序は、1998年10月〜1999年9月のランクが
【 k 】 〜 【 ℓ 】
の順となっている。 |
A |
同一ランクの場合は、ランクが
【 m 】
商品を先に抽出し、次にランクが変わらない商品、そしてランクが
【 n 】 商品の順に抽出している。 |
B |
さらに、ランクが上がった商品について、【 o 】
からランクA に上がった商品は、【 p 】
からランクA に上がった商品より先に抽出している。 |
|
■答え■
|
設問1 : |
a−ウ,b−エ,c−カ |
設問2 : |
d−イ,e−イ,f−カ |
設問3 : |
g−カ,h−ア,i−ウ,j−エ |
設問4 : |
k−ア,ℓ−ウ,m−ア,n−ウ,o−ウ,p−イ |
|
|
|