正解:イ
各選択肢の解説
ア部署名などの条件を指定し、条件に合う社員の行だけを取り出す。
誤り。選択の説明です。「取り出す」という言葉が同じなので混同しがちですが、 選択は行を絞る操作で、列はすべて残ります。全社員を載せる一覧なので行を 絞る必要はなく、選択しても自宅住所の列は消えません。
イ社員表から、氏名・部署名・内線番号の列だけを取り出す。
正解。射影です。表から必要な列だけを縦に切り出す操作なので、 全社員の行を残したまま、自宅住所など載せたくない列を外した一覧が得られます。
ウ部署コードが一致する行どうしで、社員表と部署表を横につなぐ。
誤り。結合の説明です。別の表にしかない情報を加えたいときに使います。 今回必要な氏名・部署名・内線番号はすべて社員表にあるので、ほかの表と つなぐ必要はありません。つないでも自宅住所の列は残ったままです。
エ列の構成が同じ二つの表を比べ、一方にだけある行を取り出す。
誤り。差の説明です。社員表から退職者の表にある社員を除く、といった 二つの表を突き合わせる場面で使います。行を減らす操作であり、 列には手を加えないので、自宅住所を外すことはできません。
理解を深めるために
名簿から見せたい欄だけを写し取る
紙の社員名簿を縦の欄ごとに見て、「氏名」「部署」「内線」の3つの欄だけを 別の紙に写すところを想像してください。人数は減らず、欄だけが減ります。 関係データベースでこれにあたる操作が射影です。
なぜ射影なのか
問題文の条件を、行と列に分けて整理します。
- 行について … 全社員を載せる。つまり行は絞らない
- 列について … 氏名・部署名・内線番号だけを残し、社員番号や自宅住所は外す
行はそのままで列だけを減らしたいので、射影が当てはまります。 もし「営業部の社員だけの内線一覧」を作るなら、先に選択で営業部の行に絞り、 そのうえで射影によって列を選ぶ、という組み合わせになります。
結果の形で見ると次のとおりです(社員が100人の場合)。
- 射影の結果 … 3列。行は全社員分(内容がまったく同じ行があれば1行にまとまる)
- 選択の結果(営業部が20人なら) … 20行・5列のまま
混同しやすい操作との違い
| 操作 | 何をするか | 変わるもの |
|---|---|---|
| 選択 | 条件に合う行を取り出す | 行が減る |
| 射影 | 指定した列を取り出す | 列が減る |
| 結合 | 共通する項目の値で二つの表を横につなぐ | 列が増える |
| 差 | 一方の表にだけある行を取り出す | 行が減る |
試験では「行を減らしたいのか、列を減らしたいのか」を問題文から先に読み取ると、 選択と射影を取り違えずに済みます。