DA-B12|情報Ⅰ 対策問題
生徒表と部活動表を結合してレポートを作る。 生徒表: (生徒番号, 氏名, 部活動番号) 部活動表: (部活動番号, 部活動名, 活動場所) 「テニス部の生徒の氏名一覧」を得る操作の正しい順はどれか。
解答・解説を見る
正解: 1
正答
1
この問題のポイント
結合(共通の項目で表をつなぐ操作) と選択・射影の組み合わせ順序を問う問題です。
解説
関係データベースの表に対する基本操作は3つあります。結合は、共通の項目(ここでは部活動番号)をキーにして2つの表を1つにつなぐ操作。選択は、条件に合う「行」だけを取り出す操作。射影は、必要な「列」だけを取り出す操作です。「選択=行、射影=列」と対で覚えます。
「テニス部の生徒の氏名一覧」を得る手順を組み立てましょう。
- 氏名は生徒表に、部活動名は部活動表にあり、情報が2つの表に散らばっている。そこでまず部活動番号で2表を結合し、氏名と部活動名を同じ行に並べる。
- 部活動名=テニス部の行だけを選択する。
- 最後に氏名の列だけを射影する。
順序が大事な理由は、先に氏名だけを射影すると(選択肢2)、結合に使う部活動番号の列が消えてしまい、どの生徒がテニス部なのか絞り込めなくなるからです。絞り込みに必要な情報(キーや条件の列)を残したまま進め、列を削る射影は最後に回す — これがデータベース操作の組み立ての定石です。
共通テストでは「この一覧を得るには、どの操作をどの順で行うか」という手順の並びとして問われます。まず「欲しい情報がどの表にあるか」を確認し、複数の表に散らばっていれば結合から始める、と読む順番を決めておきましょう。
選択肢の確認
1.○ 結合で情報をそろえ、行を絞り(選択)、最後に列を絞る(射影)正しい流れ。
2.× 先に射影すると結合キーの部活動番号が消え、条件で絞れなくなる。
3.× 生徒表だけでは部活動名が分からず、テニス部を特定できない。
4.× 活動場所は目的(氏名一覧)と無関係な操作。
ここだけは覚えよう
選択=行、射影=列、結合=表をつなぐ — 列を削る射影は最後に回す。