忍者ブログ
情報処理技術者試験の合格を目指す全受験者のための、1問1問「徹底解説」ブログです。単なる過去問の暗記ではなく、なぜその答えになるのかを本質的に理解できるよう解説します。書籍などでは学べない最新用語やトレンドを踏まえてご紹介します。

【データベース】表の「列(属性)」を抜き出す基本演算!「射影(Projection)」|情報処理問題1000本ノック

基本情報技術者試験や応用情報技術者試験のデータベース分野で非常に頻出のテーマ。「関係代数演算(射影・選択・結合・直積・差など)」の定義と各演算の違いを攻略しましょう。

1. 【 問題 】:データベース系(関係代数・関係モデル)

【 問題 】 関係データベースにおける関係代数演算に関する記述のうち、適切なものはどれか。

(ア)結合はある二つの関係のタプルについて、両方のすべての組み合わせからなる関係を求める
(イ)差はある2つの関係の両方又は片方に現われるタプルからなる関係を求める
(ウ)射影はある関係から一部の属性を取り出した関係をもとめる
(エ)商は、ある二つの関係のうち、一つ目の関係だけに現われるタプルからなる関係をもとめる

2. 正解:

正解:(ウ)射影はある関係から一部の属性を取り出した関係をもとめる

3. 解説:「『属性(列)』の切り出しが射影、『タプル(行)』の絞り込みが選択!」

射影(Projection)は、テーブルから**必要な「列(属性)」だけを縦方向に抽出する演算**です。
SQL文で例えると、`SELECT 属性名 FROM テーブル名` のように指定した列を取得する操作に該当します。

【間違っている選択肢の正誤補正と用語の正体を解説!】 ← 超重要!

選択肢問題文の記述(間違い)正しい演算名・定義
(ア) 両方のすべての組み合わせを求める これは「直積(デカルト積)」の説明。
※「結合」は特定条件で結びつける演算。
(イ) 両方又は片方に現れるタプルを求める これは「和(和集合)」の説明。
(ウ)正解 一部の属性(列)を取り出した関係を求める 「射影(Projection)」の正しい定義。
(エ) 一つ目の関係だけに現れるタプルを求める これは「差(差集合)」の説明。

1. 理解のコツ: 「表(テーブル)」の縦と横の切り分けで整理しましょう。
射影(Projection)「列(属性)」を切り取る(縦方向の抽出)。
選択(Selection):条件に合う「行(タプル)」を絞り込む(横方向の抽出)。

2. 試験対策の視点: 関係代数演算の基本用語(直積、和、差、射影、選択、結合)の言葉の定義は試験で直接問われます。
問題文に「一部の属性(列)を取り出す」と出たら、迷わず射影を選択しましょう!


4. まとめ

関係(テーブル)から指定した一部の属性(列)を取り出して新しい関係を作る演算。これが射影です。行を絞り込む「選択」や、全組み合わせを作る「直積」との区別をしっかりつけておきましょう!


PR