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

基本情報技術者 2010年 秋期 午前(科目A)30


問題文

関係データベースにおいて、表から特定の列を得る操作はどれか。

選択肢

結合
削除
射影(正解)
選択

##: 関係データベースにおいて、表から特定の列を得る操作はどれか。【午前2 解説】

要点まとめ

  • 結論:の射影(projection)が正解です。射影は関係代数で表から指定した列だけを取り出す操作です。
  • 根拠:関係代数では射影を と表記し列(属性)の抽出を表現、選択は行抽出と役割が明確に異なります。
  • 差がつくポイント:選択(selection)は行の条件指定、結合は複数表の統合、削除はデータ変更で用途が明確に分かれます。

正解の理由

正解は (射影)です。関係代数における射影(projection)は、ある表(関係)から特定の列(属性)のみを取り出す演算を指します。記法では一般に
のように表し、例えば は Employee 表から name と age の列だけを取り出します。したがって「表から特定の列を得る操作」は射影を意味します。

よくある誤解

  • 検索条件で行が減る「選択(selection)」と列が減る「射影」を混同し、列の抽出を行の抽出と誤答するケース。
  • SQLのSELECTは「射影に相当する」と教わるが、SQLでは重複行の扱いが関係代数と異なる点を見落とす誤解。
  • 「削除(DELETE)」を「列を消す操作」と誤解し、データ定義やデータ操作の区別をつけられない点。

解法ステップ

  1. 問題文から「表から特定の列を得る」とある語句に注目する。列=属性=カラムに対応する操作を探す。
  2. 関係代数の基本演算を思い出す:射影(列抽出)、選択(行抽出)、結合(表結合)、集合演算など。
  3. 各選択肢を対応付ける:結合=複数表統合、削除=DMLのデータ削除、選択=行の抽出、射影=列の抽出。
  4. 列の抽出に該当する射影を選ぶ。

選択肢別の誤答解説

  • ア: 結合 — 複数の表をキーで結び付けて行や列を増やす操作で、特定の列だけを抜き出す意味とは異なります。
  • イ: 削除 — テーブルから行やデータを消す操作(DML)であり、列抽出の操作ではありません。
  • ウ: 射影 — 正解。関係代数の射影は指定列のみを取り出す演算で、問題文の定義に一致します。
  • エ: 選択 — 行を条件で絞り込む操作(selection)で、列を指定して抜き出す射影とは役割が異なります。

補足コラム

  • SQLとの対応:関係代数の射影は SQL の SELECT に相当します。例えば列 name と age を取り出す例は次の通りです。
SELECT name, age FROM Employee;
ただし関係代数の射影は集合の意味で重複を除くのが標準ですが、SQL の SELECT は重複を残すため重複除去には DISTINCT を使います。
  • 用語整理:射影=projection=列抽出、選択=selection=行抽出、結合=join、削除=delete(DML)です。設問では「列を得る」と明言されているため射影と判断します。

FAQ

Q1. 射影は行を減らすこともありますか?
A1. 関係代数の射影自体は列を選ぶ操作ですが、結果として同一の行(全ての選択列で同じ値)が重複する場合、集合として重複が除かれるため行数が減ることがあります。SQLではデフォルトで重複は残る点に注意してください。
Q2. 「選択」と「射影」を判別するコツは?
A2. 「条件で絞る(例:年齢が30以上)」なら選択(行の抽出)。「取り出す列を指定(例:名前と年齢)」なら射影(列の抽出)です。
Q3. 結合と射影を同時に使う例は?
A3. 複数表を結合してから必要な列だけを取り出すのは一般的です。SQLでは JOIN と SELECT の組合せで実現します。

関連キーワード: 関係代数、射影、選択、結合、属性、列、SQL、SELECT、DELETE、projection、selection
← 前の問題へ次の問題へ →
戦国ITクイズ機能

\ せっかくなら /

基本情報技術者
クイズ形式で学習しませんか?

クイズ画面へ遷移する

すぐに利用可能!

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

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