データベース|平成29年度 秋期 ITパスポート試験(特別措置試験) 問60
関係データベースで管理している“販売明細”表と“商品”表がある。ノートの売上数量の合計は幾らか。
販売明細
| 伝票番号 | 商品コード | 売上数量 |
|---|---|---|
| H001 | S001 | 20 |
| H001 | S003 | 40 |
| H002 | S002 | 60 |
| H002 | S003 | 80 |
商品
| 商品コード | 商品名 |
|---|---|
| S001 | 鉛筆 |
| S002 | 消しゴム |
| S003 | ノート |
- 40
- 80
- ✓ これが正解120
- 200
解説
商品名から商品コードをたどり、その行の数量を足します。
二つの表に分かれているので、間をつなぐ列をたどってから数える、という二段で解きます。まず商品の表を見ると、ノートという商品名に対応する商品コードは S003 だと分かります。次に販売明細の表へ移り、商品コードが S003 になっている行だけを取り出します。該当するのは、伝票番号 H001 の行と H002 の行の二つです。それぞれの売上数量は 40 と 80 なので、足すと 120 になります。求める合計は 120 です。名前を直接持っている表と、数量を持っている表が別々なのは、同じ商品名を何度も書かずに済ませ、名前を変えるときに一か所だけ直せばよくするためです。二つの表をつなぐ列は商品コードで、こうして共通の列でつなぐ操作を結合と呼びます。つなぐ列を取り違えると、別の商品を数えてしまいます。
ほかの選択肢はなぜ違うのか
- 40 とした肢です。商品コードが S003 の行のうち、伝票番号 H001 のものだけを数えた形です。同じ商品コードの行がもう一つ残っているので、取り出す段で見落としがあると、この値になります。同じ商品コードの行がもう一つ残っています。
- 80 とした肢です。こちらは伝票番号 H002 の行だけを数えた形になります。二つの行のうち大きいほうを選んでいますが、問われているのは合計なので、両方を足す必要があります。問われているのは合計のほうです。
- 200 とした肢です。伝票番号 H002 の二つの行、つまり 60 と 80 を足した値になっています。伝票番号でまとめてしまうと、消しゴムの数量まで入ってしまいます。伝票番号ではなく商品コードでまとめます。
この問題に関係する言葉
- 関係データベースデータを表の形で持ち、表どうしを結びつけて扱う、最も広く使われているデータベース。設計に使うE-R図は、この形での実装を前提にしません。
- 結合
- 表
- データベースたくさんのデータを決まった形で貯め、探したり書き換えたりできるようにした仕組み。多くの人が同時に使うことを前提にしています。
出典:平成29年度 秋期 ITパスポート試験(特別措置試験) 問60
同じ単元をまとめて解くならデータベースへ。
この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)