関係演算では列と行の変化をどう見分ける?
基本情報技術者試験 平成31年度春期 午前 問28 / データベース › データ操作
過去問にチャレンジ
関係モデルにおいて表Xから表Yを得る関係演算はどれか。

- ア
結合(join)
- イ
射影(projection)
- ウ
選択(selection)
- エ
併合(merge)
会話形式の解説
講師表の変化を見るときは、まず見出しと行のどちらが変わったかを確かめましょう。
受験者表Yでは商品名と価格がなくなっています。行も減っているのでしょうか。
講師図にある5行はそのまま残っています。残った見出しは商品番号と数量です。何を取り出したといえますか。
受験者行を絞ったのではなく、商品番号と数量の列を取り出しています。
講師その操作が射影です。指定した列を取り出すので、正解はイです。
受験者選択も表から一部を取り出す操作ですが、違いは取り出す方向ですか。
講師はい。選択は条件に合う行を取り出します。この図では行が減っていないため、当てはまりません。
受験者結合はどうでしょうか。表Yも表なので、少し迷いました。
講師結合は複数の表を組み合わせる演算です。ここでは一つの表Xから列を取り出しているので違います。
受験者併合も、指定した列を取り出す操作の名前ではないのですね。
講師そのとおりです。商品名と価格がなくなり、5行は残るという変化に注目すると判断できます。
まとめ
表Xから表Yでは、商品名と価格の列がなくなり、商品番号と数量の列が残っています。図の5行は残っているため、行を絞る選択ではありません。指定した列を取り出す関係演算は射影で、正解はイです。
解答・解説
正解はイです
この問題のテーマ
表の列を取り出す操作を、関係演算の名前と対応付ける問題です。
解き方の考え方
表Xと表Yの見出しと行を比べます。表Yでは商品名と価格がなくなり、商品番号と数量が残っています。図に示された5行も残っているので、行を絞る操作ではなく列を取り出す操作だと判断できます。
選択肢ごとの解説
- ×ア 結合(join)結合は複数の表を組み合わせる演算です。図では一つの表Xから列を取り出しているため、結合には当たりません。
- ○イ 射影(projection)射影は指定した列を取り出す演算です。表Xから商品番号と数量を取り出すと、図の表Yになります。
- ×ウ 選択(selection)選択は条件に合う行を取り出す演算です。表Yでは行ではなく列が減っているので、この変化を表しません。
- ×エ 併合(merge)併合は、単一の表から指定した列を取り出す演算を指しません。商品名と価格を除いた図の操作には該当しません。
POINT
- 表の変化を見るときは、まず見出しと行のどちらが変わったかを確かめます。
- 列を指定して取り出す関係演算は射影です。
- 条件に合う行を取り出す関係演算は選択です。
