マナビング基本情報技術者

関係演算では列と行の変化をどう見分ける?

基本情報技術者試験 平成31年度春期 午前 問28 / データベース › データ操作

過去問にチャレンジ

平成31年度春期 午前 問28

関係モデルにおいて表Xから表Yを得る関係演算はどれか。

平成31年度春期 午前 問28の図
  1. ア

    結合(join)

  2. イ

    射影(projection)

  3. ウ

    選択(selection)

  4. エ

    併合(merge)

会話形式の解説

講師講師
表の変化を見るときは、まず見出しと行のどちらが変わったかを確かめましょう。
受験者受験者
表Yでは商品名と価格がなくなっています。行も減っているのでしょうか。
講師講師
図にある5行はそのまま残っています。残った見出しは商品番号と数量です。何を取り出したといえますか。
受験者受験者
行を絞ったのではなく、商品番号と数量の列を取り出しています。
講師講師
その操作が射影です。指定した列を取り出すので、正解はイです。
受験者受験者
選択も表から一部を取り出す操作ですが、違いは取り出す方向ですか。
講師講師
はい。選択は条件に合う行を取り出します。この図では行が減っていないため、当てはまりません。
受験者受験者
結合はどうでしょうか。表Yも表なので、少し迷いました。
講師講師
結合は複数の表を組み合わせる演算です。ここでは一つの表Xから列を取り出しているので違います。
受験者受験者
併合も、指定した列を取り出す操作の名前ではないのですね。
講師講師
そのとおりです。商品名と価格がなくなり、5行は残るという変化に注目すると判断できます。

まとめ

表Xから表Yでは、商品名と価格の列がなくなり、商品番号と数量の列が残っています。図の5行は残っているため、行を絞る選択ではありません。指定した列を取り出す関係演算は射影で、正解はイです。

解答・解説

正解はイです

この問題のテーマ

表の列を取り出す操作を、関係演算の名前と対応付ける問題です。

解き方の考え方

表Xと表Yの見出しと行を比べます。表Yでは商品名と価格がなくなり、商品番号と数量が残っています。図に示された5行も残っているので、行を絞る操作ではなく列を取り出す操作だと判断できます。

選択肢ごとの解説

  1. ×ア  結合(join)
    結合は複数の表を組み合わせる演算です。図では一つの表Xから列を取り出しているため、結合には当たりません。
  2. ○イ  射影(projection)
    射影は指定した列を取り出す演算です。表Xから商品番号と数量を取り出すと、図の表Yになります。
  3. ×ウ  選択(selection)
    選択は条件に合う行を取り出す演算です。表Yでは行ではなく列が減っているので、この変化を表しません。
  4. ×エ  併合(merge)
    併合は、単一の表から指定した列を取り出す演算を指しません。商品名と価格を除いた図の操作には該当しません。

POINT

  • 表の変化を見るときは、まず見出しと行のどちらが変わったかを確かめます。
  • 列を指定して取り出す関係演算は射影です。
  • 条件に合う行を取り出す関係演算は選択です。

※出典:平成31年度春期 基本情報技術者試験 午前 問28(一部改変)