すー:先生,沖縄楽しかったですね。
ジャン:うーん。楽しいのはすーちゃんと,子供だけですよ。
すー:先生もゲーセンで楽しんでいたじゃないですか。
ジャン:ゲーセンなら岐阜でもあります。
すー:先生,仕事も進んだことだし,よかったですね。
ジャン:私も海に行きたかったですけど。
すー:勤マガを,3つも出すって予約とっちゃったのが,失敗でしたね。
ジャン:でも,勤マガを出すと言って,お金もらうとやらざるをえないですからね。お陰でこの勤マガも出版する話がまとまってます。
すー:先生,ほんとに大丈夫ですか。花火オフのときに,ウォッチャーのミャオスさんが,「ジャンさん知らんよ。勤マガ出せるの」って心配してましたよ。
ジャン:大丈夫でしょう。まだ,生活が,勤マガを出すという体制になってないんですよね。
すー:勤マガは,先生の得意分野だし,なんとかなりそうですね。さっさと仕上げて,8月の終わりは,宮崎のシーガイアにいきましょうよ。長島スパーランドでもいいけど。
ジャン:月末にそんな余裕があれば,いいですけど。
すー:すーちゃんも協力しますから。先生,さっさとやりましょうよ。では,今回から,データベースですね。
ジャン:初級シスアドのかなめは,データベースですからね。日々のパソコンの管理ができる,データベースが操れる,仕事のコンピュータ化するコツが分かっている,これで,初級シスアドのプロですね。
すー:先生,初級シスアドのプロってどんな風なんですか?
ジャン:派遣で,正社員の3倍ぐらいの年収をとる感じです。
すー:じゃ,私も目指そう。そんな人いるんですか?
ジャン:すーちゃんならなれそうですよ。さあ,問題に入りましょう。すーちゃん,どこに線を引きました?
すー:はい。こんな感じです。
参考:アクセス2000フィアル
問1 販売管理及び顧客管理に関する次の記述を読んで,設問 1,2 に答えよ。
音楽 CD を販売している I
店では,顧客サービス向上のために,会員カードを発行して
1 ポイント 1 円の値引きを行っている。店長の E
さんは,パソコンのデータベースソフトを利用して,販売管理及び顧客管理を行うシステムを運用している。
このシステムのためのデータベースの構造は,図に示すとおりである。
売上表
明細表
商品マスタ表
顧客マスタ表
|
このシステムは,売上時に明細表と売上表にデータを書き込み,売上総額は,商品番号と数量から商品マスタ表の単価を参照して計算する。
新規の顧客については,購入時に会員カードの作成を勧め,会員となった顧客のデータを顧客マスタ表に書き込む。会員だけを値引きサービスの対象とする。
非会員が購入した場合,売上表の顧客番号には全けた“9”をセットし,売上集計の対象とする。なお,顧客マスタ表には顧客番号が全けた“9”,氏名に“非会員”とセットされているデータが登録されている。
会員に対してのポイントの積立て及び利用の処理手順を次に示す。
| (1) | 会員カードから顧客番号を読み取る。 |
| (2) | 顧客マスタ表から,積立ポイントを読み込む。 |
| (3) | 会員からポイント利用の要望があれば,積立ポイントの中から利用ポイント数を決めてもらう。ただし,売上総額を超えてのポイント利用はできない。利用ポイント相当額を売上総額から差し引き,新しい売上総額とする。利用したポイント数を積立ポイントから差し引く。 |
| (4) | 売上総額の 5 パーセントをポイントとして積み立てる。 |
設問1
顧客に人気 CD を知ってもらうため,表のような I 店の売上数量ベスト 20(2000 年 4 月度)を掲示したい。売上数量ベスト 20 を作成するためのデータを抽出する SQL 文の【 】に入れる適切な字句を,解答群の中から選べ。
表 I 店の売上数量ベスト 20(2000 年 4 月度)
| 順位 | 名称 | 商品分類 | 数量 |
| 1位 | AD Best Hit | JPOP | 212 |
| 2位 | Out of my Memory | JPOP | 178 |
| 3位 | Dancing Byte | ROCK | 111 |
| : | : | : | : |
| 20位 | White Paper | POPS | 35 |
SELECT 商品マスタ表.商品番号, 商品マスタ表.名称,
商品マスタ表.商品分類,
【 a 】AS 数量
FROM
売上表, 明細表, 商品マスタ表
WHERE 売上表.売上番号 =
明細表.売上番号
AND 明細表.商品番号 = 商品マスタ表.商品番号
AND
売上表.日付【 b 】'2000-04-01'【 c 】'2000-04-30'
【 d 】
商品マスタ表.商品番号, 商品マスタ表.名称, 商品マスタ表.商品分類
【 e 】【 a 】DESC
a に関する解答群
ア COUNT(明細表.数量)
イ SUM(売上表.売上総額)
ウ SUM(明細表.数量)
b, c に関する解答群
ア AND
イ BETWEEN
ウ FROM
エ IN
オ TO
d, e に関する解答群
ア GROUP BY イ ORDER BY ウ SORT BY
設問2
さらに顧客サービスを向上させるため,顧客マスタ表にボーナス区分を追加して,会員にボーナスポイントのプレゼントを月単位で実施することにした。対象者には,商品購入時のポイントを通常の 2 倍(売上総額の 10 パーセント)にする。ただし,ボーナスポイントのプレゼントは 1 回/月限りとする。対象者は次の条件のいずれか又は両方に該当する会員とし,非会員は含まない。
・前月(1 日〜月末)に 1
万円以上購入のあった会員
・前月までの過去
1 年間に購入履歴があり,今月誕生日を迎える会員
月初の対象者抽出処理,売上時のポイント処理に関する次の記述中の【 】に入れる適切な字句を,解答群の中から選べ。
(月初の対象者抽出処理)
| (1) | 顧客マスタ表のボーナス区分を,初期値“1”に更新する。 |
| (2) | 【 f 】を照会し,前月 1 日から月末を条件に顧客番号ごとの【 g 】を合計する。【 g 】の合計が 1 万円以上の会員の顧客番号を抽出する。抽出した顧客番号に一致する顧客マスタ表のボーナス区分を“2”に更新する。 |
| (3) | 【 h 】を照会し,生年月日の月と今月が一致し,かつ【 f 】を照会して前月までの過去 1 年間に購入履歴があった顧客番号を抽出する。抽出した顧客番号に一致する顧客マスタ表のボーナス区分を“2”に更新する。 |
(売上時のポイント処理)
ポイント処理は,次の決定表に従って行う。
f,h に関する解答群
ア 売上表 イ 顧客マスタ表 ウ 商品マスタ表 エ 明細表
g に関する解答群
ア 売上総額 イ 数量 ウ 単価
i 〜 k に関する解答群
ア 売上総額からポイント相当額を値引きし,新たな売上総額とする
イ 売上総額の
10%をポイントとして積み立てる
ウ 売上総額の 5%をポイントとして積み立てる
ジャン:マーカーの引き方は,本文を軽く見て,設問に線を引いて,それから,本文に線を引くというやり方がいいですよ。
すー:設問から線を引いた方が,本文を読むときに集中するからね。次からそうします。では,技ということで,枠を付けておきますね。
|
技: 午後問題は,本文を先ず,軽く見て,設問に線を引き,本文に線を引いて,解き始める。 |
ジャン:よく試験会場にマーカーを持ち込んでもいいかと質問がありますが,大丈夫のようです。一度,しっかり確認する必要がありますね。
すー:先生,試験センター,ものすごい美人の人が受付にいるという噂ですよ。
ジャン:すーちゃん,一度,行ってこようか。
すー:問題作成する人って,かっこいいのかな。
ジャン:?
すー:分かったら,そういう方とは,仲良くしたいなって思って(^^);
ジャン:すーちゃんしっかりしているけど,それは,秘密ですよ。
すー:私の魅力でなんとか。先生,ついでに,学研の合格処理の編集室遊びにいってきましょうよ。
ジャン:「ついで」なんて,編集室の聞こえると,「どうせうちはついでですよ」ってむくれますよ。
すー:「口は災いの元」ですからね。注意注意。先生,おみやげは,何を持ってきますか?
ジャン:大垣の水ようかんにしようか。
すー:先生,このさい,ジャン先生の名前を印象づける,「ジャンころ餅」とかどうですか?
ジャン:それ,何? 初めてきいたよ。
すー:私も,初めて口にしましたけど。お餅の中に,あんこの変わりに,焼き肉をいれて,たれを焼き肉のたれジャンを入れておくのは。
ジャン:それっておいしいかな。
すー:それとも,お餅の中に苺が入っているやつあるじゃないですか。苺と苺ジャムをお餅の中にいれて,「ジャムころ餅:苺一会(いちごいちえ)」なんて商品名でどうですか。これって,金華山ロープウェイのおみやげ売り場においたら売れますよ。先生,商品化したら,利益の1%でいいから下さいね。お菓子の表紙には,千利休とジャン先生の漫画で,千利休が「お茶のコロコロは一期一会」,ジャン先生が,「イチゴの味は,苺一会」,それを受けて,千利休が「まだまだ」って答えるのはどうですか。
ジャン:すーちゃん,賢い!
すー:先生,私のこと,頭だけでなくて,腰も軽いと思っているでしょう。
ジャン:すーちゃん,今日,よくしゃべるね。私のすーちゃんの思いは,「カッコウに似合わずまじめ」ですけど。
すー:あかんあかん。こんなことに時間つぶすと,長島スパーランドも連れて行ってもらえん。
ジャン:問題にもどりましょうか。なかなかいいところに線を引いていますよ。
すー:線を引くのだけはうまくなりました。
ジャン:そういうのは,小さいことですけど,大切ですよ。
すー:先生に誉めてもらうとうれしい。で,設問1は,売上げベスト20を出す,SQLはどう書くかという問題ですね。
ジャン:SQL もよく出ますね。文法は簡単だし,データベースの理論を説明しやすので,テストと愛称がいいんでしょう。DFDやER図を書くという問題も少しはでますが,テストに出題しにくいので,それほど出題されません。
すー:だいたい
SELECT
FROM
WHERE
の順ですね。
ジャン:
SELECT で,表示したい項目(フィールド)を選んで,
FROM
で,どの表から持ってくるか,ここで,二つ以上の表が記述してあれば,表の結合して,別の大きな表を仮に作成します。
WHERE
で,表の中の1行1行を見て,指定された条件が成立する行を選択します。
すー:先生,SELECT で,項目を選ぶということは,射影(しゃえい)ですよね。
ジャン:すーちゃん,よく勉強してますね。不思議なんですが,SELECT で指定する項目で,「射影」するんですよね。
すー:先生,ここで,結合,射影,選択を説明すると,みなさん喜びそうですよ。
ジャン:結合は,表と表を結合,射影は,特定の列を射影して,条件に従った行を選択です。
(しばらく沈黙.)
すー:先生,それだけですか。
ジャン:図を書いて説明するのこれって,面倒なんですよ。
すー:先生,勉強したい人も多いですから。お願いしますよ。
ジャン:じゃ,少しだけ。午前の問題によく出ています。初級システムアドミニストレータ午前平成11年秋問43から。
関係データベースの操作において,“表 1”から“表 2”を導出する操作はどれか。
表1
| 商品番号 | 商品名 | 定価 |
| P01 | デスクトップパソコン | 248,000 |
| P02 | ノートパソコン | 198,000 |
| D01 | CRT ディスプレイ | 78,000 |
| D02 | TFT ディスプレイ | 99,800 |
表2
| 商品番号 | 商品名 |
| P01 | デスクトップパソコン |
| P02 | ノートパソコン |
| D01 | CRT ディスプレイ |
| D02 | TFT ディスプレイ |
ア 結合 (join)
イ 射影 (projection)
ウ 選択 (selection)
エ 内包 (inclusion)
すー:「表と表を結合,射影は,特定の列を射影して,条件に従った行を選択」から,考えると,射影ですか。
ジャン:よくできました。では,この問題は? 初級システムアドミニストレータ午前平成9年問46です。
次の受注表と単価表を使って受注一覧表を作成する。使用する関係データベースの論理演算(関係演算)はどれか。
受注表
| 商品番号 |
受注数 |
| S010 | 300 |
| S045 | 280 |
単価表
| 商品番号 | 商品名 | 販売単価 |
| S010 | 商品 A | 7,500 |
| S045 | 商品 B | 8,400 |
受注一覧表
| 商品番号 |
受注数 |
商品名 | 販売単価 | 販売金額 |
| S010 | 300 | 商品 A | 7,500 | 2,250,000 |
| S045 | 280 | 商品 B | 8,400 | 2,352,000 |
ア 結合 イ 選択 ウ 投影 エ 併合
すー:「表と表を結合,射影は,特定の列を射影して,条件に従った行を選択」から,考えると,結合ですか。
ジャン:よくできました。では,もう一つ,出しますね。
すー:先生,次の答えは,選択でしょう?
ジャン:そうですけど。一応,やりましょう。二種午前平成10年春問50です。
関係データベースの表aに関して,表b,表cを得る操作の正しい組み合わせはどれか。
表 a
| 山名称 | 地域 |
| 富士山 | 本州 |
| 樽前山 | 北海道 |
| 槍ヶ岳 | 本州 |
| 八ヶ岳 | 本州 |
| 石鎚山 | 四国 |
| 阿蘇山 | 九州 |
| 那須岳 | 本州 |
| 久住山 | 九州 |
| 大雪山 | 北海道 |
表 b
| 山名称 | 地域 |
| 富士山 | 本州 |
| 槍ヶ岳 | 本州 |
| 八ヶ岳 | 本州 |
| 那須岳 | 本州 |
表 c
| 地域 |
| 本州 |
| 北海道 |
| 四国 |
| 九州 |
| 表b | 表c | |
| ア | 射影 | 結合 |
| イ | 射影 | 選択 |
| ウ | 選択 | 結合 |
| エ | 選択 | 射影 |
すー:先生,ちょっと難しくなりましたね。これは,二種だからですか?
ジャン:SQL関係は,二種より,初級シスアドの方が難しいですよ。
すー:答えは,エですね。表bは,選択,表cは,射影で,その後,重複した行を削除してますね。
ジャン:通常,SQLで,SELECT〜FROM〜WHEREとやるときは,内部的には,FROMで指定された表を単純に結合して大きな表を作成して,WHEREで指定された行だけを選択して,SELECTで指定された列を射影します。
すー:「結合して大きな表」というのは,先生,よく分かりませんが。
ジャン:初級システムアドミニストレータ午前平成9年問46を例にすると,内部的に作成する大きな表というの,受注表,単価表を単純に合体します。
受注表
| 商品番号 |
受注数 |
| S010 | 300 |
| S045 | 280 |
単価表
| 商品番号 | 商品名 | 販売単価 |
| S010 | 商品 A | 7,500 |
| S045 | 商品 B | 8,400 |
内部的につくる大きな表は,
| 受注表.商品番号 |
受注表.受注数 |
単価表.商品番号 | 単価表商品名 | 単価表販売単価 |
| S010 | 300 | S010 | 商品 A | 7,500 |
| S010 | 300 | S045 | 商品 B | 8,400 |
| S045 | 280 | S010 | 商品 A | 7,500 |
| S045 | 280 | S045 | 商品 B | 8,400 |
すー:先生,太字斜体のところは,注意してね,ということですか?
ジャン:そうです。太字斜体のところは,データとして見ると意味がないですが,コンピュータ内部で一時的に作成されています(とされています)。ちょうど,表の行同士をかけ算している感じです。
すー:なぜ,(とされています)とカッコつきなんですか?
ジャン:だって,見たことないもん。
すー:分かりました。
ジャン:この太字を除く作業が,WHERE 受注表.商品番号 = 単価表.商品番号 です。
すー:なんか,賢いというか,単純ですね。
ジャン:プログラムは,中を見るとこんな感じですよ。Javaでも,なんでこんな定義があるのかなって,調べていくと,機械語レベルでこうしたいのかって,納得することがあります。
すー:先生,こんな表を内部で作成しているとなると,メモリ喰いそうですね。
ジャン:すーちゃん,さすが,専門学校で勉強しただけありますね。これは大変な大食いですよ。だから,なんか工夫していると思いますよ。
すー:先生,それが,先生の先ほどの「だって,見たことないもん。」の,落ちでしょう。
ジャン:すーちゃん,やっぱり,賢いね。
すー:うふふ。
ジャン:では,問題に戻りましょうか?
すー:CDの販売店の話ですね。
ジャン:私の若いころは,レコード店って言ってましたが,今の若い人は,なんていうのでしょうか?
すー:CDショップって言ってますよ。
ジャン:CDショップ,昔のレコード店の話ですね。「販売管理及び顧客管理」と問題文にありますが,通常,「販売管理」というと,月単位で,納品したものを集計して,請求書を発行するシステムです。この問題の用に,店頭で,お客さんを相手にする場合は,「販売管理」よりも「売上げ管理」の用語がいいでしょう。顧客番号で顧客を管理して,ポイントなどを受けるのは,「顧客管理」でいいでしょう。
すー:レコード店では,CDを購入すると,紙のカードにスタンプを押してくれますよね。1年間有効とか,複数のカードを一つにまとめることはできないとか,人に譲渡できないとか,せこいこと書いてありますよ。この店は,そんなことがないのでいいですね。
ジャン:売上げの5%というのは,消費税分ですよね。この還元率は,高いほうなんですか?すーちゃん。
すー:この店のポイントの付け方は,500円ごとにスタンプ1つとかでなくて,買った金額の5%ですよね。相当いいと思いますよ。また,前の月に1万円以上購入すると,10%のポイントになるのでしょう。これはかなりおいしいですよ。ジャン先生のように,忙しくて買いに行けない人から注文もらって,私が代わりに購入して,ポイントを溜めれば,うふふです。
ジャン:すーちゃんは,お店の売り上げベスト20とか表示してあったら,参考にするの。
すー:それで,購入するCDを決める人はいないと思いますよ。人が購入したものを購入しようなんて,行列ができるおいしいお店とは違いますから。
ジャン:売上げ数量ベスト20が必要なのは,お客さんではなくて,従業員用ですね。
すー:○○あるって,聞いて,それなんですか? という店員がいますからね。売れていないなら,許せるけど,よく売れているCDでこうだと,嫌になりますよね。先生,このベスト20の第3位の「Dancing Byte」って何これ。
ジャン:ビットボーイが手をつないで,腰をくねくね踊るんですよ。
すー:「Out of my Memory」もおもしろいですよね。
ジャン:失恋しすぎで,どの子に振られたのか忘れてしまって,また,同じ子に挑戦してしまうとか。
すー:先生,問題に戻りましょうか。
ジャン:設問1にもどりましょう。
すー:表1を見ると,順位,名称,商品分類,数量があります。SELECT には,商品番号,名称,商品分類,「(a) as 数量」です。先生,順位が商品番号ではおかしいですよ。
ジャン:設問1をよく読むと,「作成するためのデータを抽出」とあるでしょう。表1を作るためのデータを用意するだけで,表1を作成する作業は別にやっているんですよ。手書きでこの順位表を作成しているかも。
すー:先生,さすがによく問題文を読んでますよね。
ジャン:すーちゃんが指摘したから,読み直しただけです。(^^);
すー:なんだ。先生,(a) に入るのは,金額じゃないので,イの売上総額は間違いですよね。そうすると,COUNT か SUM かですよね。
ジャン:COUNT と言えば,ボクシングのカウントですね。数を数えます。
すー:じゃあ,これが答えですか。
ジャン:COUNT は,行数を数えるだけで,その中の値は見ません。この場合だと,同じCDをお客さんが2枚同時に購入すると,COUNTでみると,1 になります。SUMだと,数量の中身を見るので,2 が認識されます。
すー:答えは,ウですね。SUM は,表計算でもよく使うので,分かりやすかったです。
ジャン:WHERE の後は,FROM のところで指示された表から,絞りこみの作業です。
すー:売上表.売上番号=明細表.売上番号 って,先生,どんな意味なんですか。売上,売上ってなんか混乱してしまいます。
ジャン:レジで,CD を2枚購入するところを想像します。2800円と3000円だっとします。そうすると明細表には2行追加されて,売上表は,合計金額が1行だけ書き込みされます。あとで,この売上(買い物)のデータを作成するときに,明細表にある2行と売上表にある1行を関連づける必要があります。そのために売上番号をつけています。たぶん,この場合は,コンピュータ(レジ)で自動的に売上番号をつけているのでしょう。
すー:合計と明細という関係なんですね。先生したの,日付のところは,これで4月分だけを選ぶということですね。
ジャン:そうです。
すー:これは,英語の問題ですね。英語なら先生より私の方が得意ですから。
ジャン:どうぞ。
すー:すー:先生,むっとした?
ジャン:いや全然。
すー:なんか馬鹿にしたみたいでごめんなさい。
ジャン:こんなことで,むっとしたりしませんよ。むっとするのは,ミニスカートだと思ったら,キュロットスカートだったときです。
すー:先生,参りました。また,また,分かりやすい性格っていわれそうですね。
ジャン:で,英語のセンスで,次の問題をやって下さいよ。
すー:これは,BETWEEN ○ AND ○しかないですね。
ジャン:d に行きましょうか。
すー:先生,この行,SELECT と同じですよ。数量のところがないですけど。
ジャン:いいところに気づきましたね。ここで,売れたCDごとに集計することを指示します。
すー:集計は,a の sum で指示してますが。
ジャン:a のところでは,ただ集計すると指示しただけで,どの単位で集計するかが指示していませんよね。
すー:そういえば,そうですね。私は,そんなもん,CD のタイトルに決まっていると思ってました。
ジャン:コンピュータはいちいち指示しなくてはいけなんですよ。仕事になれていない部下に指示するときもそうですけど。
すー:バイトで適当にやってって言われるとこまりますよね。
ジャン:では,すーちゃん,このヒントで,考えると?
すー:「合計をとる単位」ということで,GROUP
BY ですか?
ジャン:いいです。では,次,は,DESC
で並びかえです。ベスト20なので,専門用語でいうと「降順」,いわゆる大きい順ですね。
すー:DESC というのは,descend(減少する)
の省略ですよね。きっと。a は,sum(売上表.売上総額)でした。ここは,ORDER
か,SORT ですよね。両方とも並び換えの意味があります。
ジャン:SQL は,こういうときは,ORDER を利用するんですよ。なぜ,SORT を利用しなかったのは,私は知りません。機会があったら,聞いてみますね。
すー:先生,だれに聞くのですが?
ジャン:人が決めたのだから,知っている人も見えますよ。でも,英語で聞かないといけないかな。勉強しよう。
すー:先生,設問2に行きましょう。
ジャン:これは,決定表ですね。英語では?
すー:ディシジョンテーブルです。先生,デズニーランドでなくて,ディズニーランドです。
ジャン:さすが,すーちゃん。英語もできるし,ラーメンもうまい。
すー:表にすると分かりやすくなると言いますけど,この表って,いつも,見ると嫌になるんですよね。
ジャン:なんか,うっとしい感じがしますよね。×があるところが,ぺけでなくて,実行なんですよ。私は,そこに○を入れたいですよね。「案ずるより生むが易し」で,挑戦しましょうか。
すー:顧客ごとの先月の売上が,1万以上なので,g は,「売上総額」,それを調べる為に,顧客番号と金額と日付がある,売上表を参照するばいいので,f は,売上表。生年月日を調べるので,h は,顧客マスタ表ですね。
ジャン:簡単でしたね。次は,決定表を埋めましょう。
|
技:考える前に解答群を見る |
すー:解答群が3つしかないし,穴も3つしかないので,簡単そうですね。
ジャン:解答群から分析してみましょう。アは,ポイントを使用したということですね。イは,ボーナス対象,ウは,通常です。
すー:先生,解答群からあたると簡単に終わりますね。ポイントを使用は,ポイント使用の要望がYのところに入りますので,i ですね。ボーナス対象は,区分が2のときですので,jです。残りは,ウは,k に入りますね。
ジャン:決定表を見るときに,条件→行動と見ますが,逆に,行動を起こす条件は? と逆に見ると分かりやすいですね。プログラムの場合,ある条件が成立して動作することはいろいろあるけど,逆に,ある動作をするための条件というのは,それほど多くないです。後から判断した方が楽ですね。
すー:では,今回の技ということで,
ジャン:決定表は下から見る。
|
技:決定表は下から見る。 |
すー:先生が口にすると,ちょっとエッチ。
ジャン:え?
a:ウ SUM(明細表.数量)
b:イ BETWEEN
c:ア AND
d:ア GROUP
BY
e:イ ORDER BY
SELECT 商品マスタ表.商品番号, 商品マスタ表.名称,
商品マスタ表.商品分類,
SUM(明細表.数量) AS 数量
FROM
売上表, 明細表, 商品マスタ表
WHERE 売上表.売上番号 =
明細表.売上番号
AND 明細表.商品番号 = 商品マスタ表.商品番号
AND
売上表.日付 BETWEEN '2000-04-01' AND '2000-04-30'
GROUP
BY 商品マスタ表.商品番号, 商品マスタ表.名称,
商品マスタ表.商品分類
ORDER BY SUM(明細表.数量)
DESC
f:ア 売上表
g:ア 売上総額
h:イ 顧客マスタ表
i:ア
j:イ
k:ウ:
| (1) | 顧客マスタ表のボーナス区分を,初期値“1”に更新する。 |
| (2) | 【f ア 売上表】を照会し,前月 1 日から月末を条件に顧客番号ごとの【g ア 売上総額】を合計する。【g ア 売上総額】の合計が 1 万円以上の会員の顧客番号を抽出する。抽出した顧客番号に一致する顧客マスタ表のボーナス区分を“2”に更新する。 |
| (3) | 【h イ 顧客マスタ表】を照会し,生年月日の月と今月が一致し,かつ【f ア 売上表】を照会して前月までの過去 1 年間に購入履歴があった顧客番号を抽出する。抽出した顧客番号に一致する顧客マスタ表のボーナス区分を“2”に更新する。 |
(売上時のポイント処理)
ポイント処理は,次の決定表に従って行う。
すー:先生,次もデータベースですよね。
ジャン:しばらくデータベースを続けます。今度はスーパーのチェーン店の話です。
すー:先生がいくつか,質問が来ています。お答えいただけますか?
ジャン:はい。
すー:先生,いきなり,大問題が来ましたよ。
ジャン:先ず,居眠りをしないことですね。それから,そんな難しい問題はでないので,解くことができると思いこむことです。あきらめなければ解けます。どんな技が使えるかは,おいおい扱っていきます。
すー:この号にもありましたね。マーカーで線を引くのもその技の一つでした。
ジャン:人によって,読書スピードは,全然違います。日頃から本を速く読むように訓練した方がいいです。
すー:私,本を読むのあんまり得意じゃないんですけど。
ジャン:「本なんか読まなくてもいい」という人がいますが,信用しない方がいいかも。
すー:先生の書斎に,いっぱいありますよ。探せば,同じ本あると思うので,見つかったら送ってあげますね。
ジャン:そんなえこひいきしたらだめ。そういう時は,宿題メールでプレゼント抽選します。
すー:こんなかで,先生のお薦めは?
ジャン:ほとんど見ていないので,どれかいいか,よく分かりません。
すー:先生,データベーススペシャリストも合格したんでしょう? そんなんでいいの?
ジャン:過去の問題を勉強すれば十分ですよ。もし,購入するなら,薄目,著者が専門学校(もしくは高校)の先生,パソコンの解説書をよく書いている人のがいいでしょうね。大学の先生だと,難しいくなりがちですから。
すー:先生は,どうやって,SQL を勉強したんですか?
ジャン:過去の問題を見たぐらいです。
すー:こんなにSQLの本があるのに?
ジャン:リレーショナルデータベースの専門書は2,3冊読みましたけど,SQLの本は読んでないです。どれも綺麗でしょう。
すー:そうですね。先生,宿題メールに前,ここで勉強するといいよって,URL 書いてありましたよね。ちょっと先生のデータベースから探しますね。(ぱちぱち)
シスアドから1種へのSQL http://www.netlaputa.ne.jp/~mkoba/sql_index.htm
ジャン:ここで,勉強するといいでしょうね。ここで物足りないなら本を購入しましょう。すーちゃんそのページの広告,クリックしておいて。
すー:コバちゃん,元気?
ジャン:知ってるの?
すー:先生,次,次。
すー:泣くな!
ジャン:これ,泣いているの?
すー:だって,冒頭から,「苦手の」ですからね。だめよ,こんな言い方してたら,運が逃げていくよ。こういう話し方する人に半径1メートル以内に入らないことにしてます。影響されるの嫌だもん。
ジャン:確かに。こういう投稿が,宿題メールにあると,直してしましますね。「データーベースの問題も、この位の内容だとすんなり解けるのですがもっと入り組んでくると、難しいしいです。読解力が不足しているからでしょうか?」かな。
すー:まあ,これならいいでしょう。うんたらたかんまん。うんたらたかんまん。うんたらたかんまん。
ジャン:なに呪文,唱えているの。すーちゃん,そういう性格なんだ。
すー:だから,先生のところに来るの。先生,質問に答えてあげてください。
ジャン:すーちゃん,呪文も唱えたことだし。変わりにどうぞ。
すー:まず,この問題,すんなり解けたなら,苦手と思う必要はないでしょう。
ジャン:確かにそうですね。
すー:読解力の不足は,初級シスアドの午後問題全体にいえるけど,対策が必要ですよね。本を読むことですか? 先生。
ジャン:そうです。急がば回れで,本を読んで下さい。次の質問,すーちゃん,出して。
ジャン:詳細を調べたら,もっと分からなくなります。心配せずに,勉強しましょう。
すー:この方も,コバちゃん行きですか?
ジャン:そうですね。出題されて,解答になったものを覚えれば十分です。解答群を覚えようとしたら,だめですよ。
ジャン:決定表は,下から見れば簡単になります。
すー:ER図も,先生,そのうちお願いしますね。先生,メールのアドレスは?
ジャン:現在の使い分けは,
| なんでも受付 | spage@yscon.co.jp |
| 回答メール受付 | suehiro@yscon.co.jp |
すー:なんでも受付って,先生,どんなメールが来るのですか?
ジャン:秘密。
すー:奥さんにいいつけよ。
ジャン:この場合1は,レジのときに,「ボーナスの対象でない」を表しています。いったん全員を1にして,該当者だけ,2に変更して,レジのときに,ボーナスは使ったら終わりなので,また,1にしています。初期値を0にして,ボーナスのときに1とした方がプログラム上いいかもしれませんね。
二つ目の質問は,それでいいです。
すー:質問,また,送って下さいね。待ってます。
注意:勤マガの登場人物等,真実もあるかもしれませんが,ほとんど創作です。この資料は2000年10月15日まで,有料で公開しています。もし,なんらかの手段でこの資料を読まれて,有効であると判断された場合は,ご入金をお願いします。許可無く再利用,公開を禁止します。なお,情報処理技術者試験問題,アクセス2000でのサンプルファイルはその限りではありません。