DA-B12情報Ⅰ 対策問題

データの活用データ分析特訓 (第4問対策)

生徒表と部活動表を結合してレポートを作る。 生徒表: (生徒番号, 氏名, 部活動番号) 部活動表: (部活動番号, 部活動名, 活動場所) 「テニス部の生徒の氏名一覧」を得る操作の正しい順はどれか。

解答・解説を見る

正解: 1

正答

1

この問題のポイント

結合(共通の項目で表をつなぐ操作) と選択・射影の組み合わせ順序を問う問題です。

解説

関係データベースの表に対する基本操作は3つあります。結合は、共通の項目(ここでは部活動番号)をキーにして2つの表を1つにつなぐ操作。選択は、条件に合う「行」だけを取り出す操作。射影は、必要な「列」だけを取り出す操作です。「選択=行、射影=列」と対で覚えます。

「テニス部の生徒の氏名一覧」を得る手順を組み立てましょう。

  1. 氏名は生徒表に、部活動名は部活動表にあり、情報が2つの表に散らばっている。そこでまず部活動番号で2表を結合し、氏名と部活動名を同じ行に並べる。
  2. 部活動名=テニス部の行だけを選択する。
  3. 最後に氏名の列だけを射影する。

順序が大事な理由は、先に氏名だけを射影すると(選択肢2)、結合に使う部活動番号の列が消えてしまい、どの生徒がテニス部なのか絞り込めなくなるからです。絞り込みに必要な情報(キーや条件の列)を残したまま進め、列を削る射影は最後に回す — これがデータベース操作の組み立ての定石です。

共通テストでは「この一覧を得るには、どの操作をどの順で行うか」という手順の並びとして問われます。まず「欲しい情報がどの表にあるか」を確認し、複数の表に散らばっていれば結合から始める、と読む順番を決めておきましょう。

選択肢の確認

1.○ 結合で情報をそろえ、行を絞り(選択)、最後に列を絞る(射影)正しい流れ。
2.× 先に射影すると結合キーの部活動番号が消え、条件で絞れなくなる。
3.× 生徒表だけでは部活動名が分からず、テニス部を特定できない。
4.× 活動場所は目的(氏名一覧)と無関係な操作。

ここだけは覚えよう

選択=行、射影=列、結合=表をつなぐ — 列を削る射影は最後に回す。

関連問題

DA-B11DA-B13