戦国IT - 情報処理技術者試験の過去問対策サイト
ブログお知らせお問い合わせ料金プラン

ITパスポート 2018年 春期 65


問題文

関係データベースの操作a〜cと、関係演算の適切な組合せはどれか。
a 指定したフィールド(列)を抽出する。 b 指定したレコード(行)を抽出する。 c 複数の表を一つの表にする。
ITパスポート 2018年 春期  問65の選択肢の画像

選択肢

(正解)

🔒 解説は解答すると表示されます

関係データベースの操作と関係演算の組合せ【ITパスポート 解説】

正解の理由

設問の a〜c は、それぞれ「列(フィールド)を抽出する」「行(レコード)を抽出する」「複数の表を一つにする」を表しています。関係データベースの基本的な演算では、これらに対応する語は次のとおりです。
  • 射影(projection:列を抽出する演算) → 指定したフィールド(列)を取り出す。
  • 選択(selection:行を抽出する演算) → 条件に合うレコード(行)だけを取り出す。
  • 結合(join:複数の表をキーでつなぎ、一つの表にする演算) → 別々の表を結び付けて、関連する列をまとめる。
したがって a は「射影」、b は「選択」、c は「結合」で並んでいる行(つまり表の組合せ)は の行になります。これが正解である理由は、定義が設問の説明と完全に一致するためです。

解法ステップ

  1. 問題文の a〜c を一つずつ読み、何をしているかを言葉で確かめる。
    • a:「フィールド(列)を抽出」→ 列を取り出す操作。
    • b:「レコード(行)を抽出」→ 行を絞る操作。
    • c:「複数の表を一つにする」→ 表どうしを結び付ける操作。
  2. 関係演算の基本を思い出す(射影=列、選択=行、結合=表の結び付け)。
  3. 選択肢の表と照らし合わせ、各列に当てはまる語をマッチさせる。
  4. a→射影、b→選択、c→結合の並びがある行が正解()。

選択肢別の誤答解説

  • ア行(a: 結合、b: 射影、c: 選択)
    誤り。a が「列を抽出」なのに「結合(複数表を結び付ける)」になっており不一致。b も「射影」は列抽出なのに b は行抽出を指すため合わない。
  • イ行(a: 射影、b: 結合、c: 選択)
    一部合っているが、b が「結合」となっており、b は行を抽出する動作なので「選択」が正しい。
  • 行(a: 射影、b: 選択、c: 結合)
    正しい組合せ。a が列、b が行、c が表の結合という定義どおり。
  • エ行(a: 選択、b: 射影、c: 結合)
    a と b が逆になっている。a は列抽出なので「射影」でなければならず、ここは誤り。

よくある誤解

  1. 「選択」と「射影」を混同する
    • 選択(行を絞る)と射影(列を抜き出す)は目的が違います。選択は条件でフィルタする(例:年齢 > 30 の人だけ)、射影は必要な列だけ残す(例:名前と電話番号だけ)。
  2. 「結合」と「合併(集合の和・UNION)」を混同する
    • 結合(join)は異なる表をキーで横につなげる操作です。合併(UNION)は同じ構造の表を縦に並べて行を増やす操作で、目的が異なります。

補足コラム

  • SQL(Structured Query Language:データベース操作言語)では、見た目が少し違いますが同じ考え方です。
    • 射影は SELECT 列名 ... で表します(例:SELECT name, age)。
    • 選択は WHERE 条件 ... で表します(例:WHERE age > 30)。
    • 結合は JOIN を使って行います(例:FROM A JOIN B ON A.key = B.key)。
      つまり、SQL の「SELECT」は列を指定することで「射影」の働きをし、同じ文の WHERE 節で「選択」を行うことが多い点に注意してください。
SQLの簡単な例:
-- 射影と選択
SELECT name, age
FROM employees
WHERE age > 30;

-- 結合(部門名を合わせて表示)
SELECT e.name, d.department_name
FROM employees e
JOIN departments d ON e.dept_id = d.id;

FAQ

Q1. 「射影」と「SELECT」は同じですか?
A1. 概念的には同じです。射影は列の抽出を指すリレーショナル代数の用語で、SQL の SELECT 句で列を指定する操作がこれに当たります。ただし SQL の SELECT 文は列指定(射影)と条件指定(選択)を一つの文で行える点が実務では混乱の元になります。
Q2. 「結合」と「UNION」はどう違いますか?
A2. 結合(join)は表を横にくっつけて関連情報をまとめます(例:社員テーブルと部署テーブルを部署IDで結ぶ)。UNION は同じ列構成の表を縦に並べて行数を増やします(例:前年と今年の売上表を合体)。
Q3. 覚え方のコツはありますか?
A3. 短く:行を選ぶ→選択(selection)、列を選ぶ→射影(projection)、表を合わせる→結合(join)。スプレッドシートで考えるとイメージしやすいです。

関連キーワード: 関係データベース、射影、選択、結合、リレーショナル代数、SQL、JOIN、WHERE、SELECT
← 前の問題へこの年度をクイズで解く次の問題へ →
戦国ITクイズ機能

\ せっかくなら /

ITパスポート
クイズ形式で学習しませんか?

クイズ画面へ遷移する

すぐに利用可能!

©︎2026 情報処理技術者試験対策アプリ

このサイトについてブログプライバシーポリシー利用規約特商法表記開発者について