データベース|平成26年度 秋期 ITパスポート試験(特別措置試験) 問99
〔中問D・交通費精算業務の改善〕〔テクノロジ〕
精算システムのデータベースを使って,図1に示す顧客別社員別交通費実績表(以下,実績表という)を作成することにした。実績表を作成する手順として,dに入れる適切なものはどれか。ここで,実績表に出力する伝票は,申請日が前月であり,かつ,承認区分が“承認”のものとする。
〔実績表の作成手順〕
```
(1) 精算表から,申請日が前月かつ承認区分が“承認”のデータを抽出する。
〔 d 〕
(4) (3)の表と社員表と顧客表を結合して,顧客名と社員名を取得する。
```
〔図1 顧客別社員別交通費実績表の例〕
```
顧客番号 顧客名 社員番号 社員名 金額
000100 B商事 2005123 田中太郎 2,500
000100 B商事 2006211 鈴木太郎 4,300
```
〔図2 精算システムで利用される表〕
```
精算表 … 伝票番号 / 申請日 / 社員番号 / 承認区分
明細表 … 伝票番号 / 明細番号 / 顧客番号 / 利用日 / 利用区間 / 金額
社員表 … 社員番号 / 社員名
顧客表 … 顧客番号 / 顧客名 / 住所 / 電話番号
注記 主キーは表示していない。
```
- ✓ これが正解(2)(1)の表と明細表を伝票番号で結合する。/(3)(2)の表から,同一の顧客番号と社員番号の金額の合計を求め,顧客番号,社員番号,合計した金額の表を作成する。
- (2)(1)の表と明細表を伝票番号で結合する。/(3)(2)の表から,同一の顧客番号の金額の合計を求め,顧客番号,合計した金額の表を作成する。
- (2)(1)の表と明細表を伝票番号で結合する。/(3)(2)の表から,同一の社員番号の金額の合計を求め,社員番号,合計した金額の表を作成する。
- (2)明細表から,同一の顧客番号と社員番号の金額の合計を求め,顧客番号,社員番号,合計した金額の表を作成する。/(3)(2)の表と(1)の表を伝票番号で結合する。
解説
作りたい表の見出しが、集計する単位を教えてくれます。
仕上がりの表から逆にたどると、途中の手順が決まります。できあがりは、顧客ごとかつ社員ごとに一行が立つ形になっています。つまり金額をまとめる単位は、二つの番号の組でなければなりません。次に、その二つがどこに置かれているかを見ます。社員の番号は申請の側の表にしかありません。顧客の番号と金額のほうは、明細の表だけが持っています。別々に散っているものを、そのままでは一つの単位でまとめられません。そこで先に、両方が共通して持っている伝票の番号で結合します。一つの行に必要な項目がそろってから、二つの番号でまとめます。手順を問う問では、その時点の表にどの項目が残っているかを書き出します。書き出しておけば、無い項目でまとめようとしている道がすぐ見つかります。逆からたどる癖をつけておくと迷いません。
ほかの選択肢はなぜ違うのか
- つなぎ方は合っていますが、まとめる単位が顧客の番号だけになっています。取引先ごとの総額を出したいだけならどれかと問われたなら、こちらが答えです。社員の別が消えるので、仕上がりで分かれるはずの行が一つに潰れます。数が合いません。
- こちらもつなぎ方は合っていますが、まとめる単位が社員の番号だけです。担当者ごとの総額を知りたいならどれかと問われたなら、こちらになります。今度は取引先の別が消えるため、仕上がりの並びをうまく作れません。行が足りなくなります。
- まとめてからつなぐという、順序を入れ替えた道すじになっています。明細の側だけで先に集計する流れはどれかと問われたなら、こちらが答えです。その表には社員の番号がないので、二つの番号でまとめる作業ができません。
この問題に関係する言葉
- 結合
出典:平成26年度 秋期 ITパスポート試験(特別措置試験) 問99
同じ単元をまとめて解くならデータベースへ。
この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)