【データベース】表の「列(属性)」を抜き出す基本演算!「射影(Projection)」|情報処理問題1000本ノック
基本情報技術者試験や応用情報技術者試験のデータベース分野で非常に頻出のテーマ。「関係代数演算(射影・選択・結合・直積・差など)」の定義と各演算の違いを攻略しましょう。
1. 【 問題 】:データベース系(関係代数・関係モデル)
【 問題 】 関係データベースにおける関係代数演算に関する記述のうち、適切なものはどれか。
(ア)結合はある二つの関係のタプルについて、両方のすべての組み合わせからなる関係を求める
(イ)差はある2つの関係の両方又は片方に現われるタプルからなる関係を求める
(ウ)射影はある関係から一部の属性を取り出した関係をもとめる
(エ)商は、ある二つの関係のうち、一つ目の関係だけに現われるタプルからなる関係をもとめる
2. 正解:
正解:(ウ)射影はある関係から一部の属性を取り出した関係をもとめる
3. 解説:「『属性(列)』の切り出しが射影、『タプル(行)』の絞り込みが選択!」
射影(Projection)は、テーブルから**必要な「列(属性)」だけを縦方向に抽出する演算**です。
SQL文で例えると、`SELECT 属性名 FROM テーブル名` のように指定した列を取得する操作に該当します。
【間違っている選択肢の正誤補正と用語の正体を解説!】 ← 超重要!
| 選択肢 | 問題文の記述(間違い) | 正しい演算名・定義 |
|---|---|---|
| (ア) | 両方のすべての組み合わせを求める | これは「直積(デカルト積)」の説明。 ※「結合」は特定条件で結びつける演算。 |
| (イ) | 両方又は片方に現れるタプルを求める | これは「和(和集合)」の説明。 |
| (ウ)正解 | 一部の属性(列)を取り出した関係を求める | 「射影(Projection)」の正しい定義。 |
| (エ) | 一つ目の関係だけに現れるタプルを求める | これは「差(差集合)」の説明。 |
1. 理解のコツ: 「表(テーブル)」の縦と横の切り分けで整理しましょう。
・射影(Projection):「列(属性)」を切り取る(縦方向の抽出)。
・選択(Selection):条件に合う「行(タプル)」を絞り込む(横方向の抽出)。
2. 試験対策の視点: 関係代数演算の基本用語(直積、和、差、射影、選択、結合)の言葉の定義は試験で直接問われます。
問題文に「一部の属性(列)を取り出す」と出たら、迷わず射影を選択しましょう!
4. まとめ
関係(テーブル)から指定した一部の属性(列)を取り出して新しい関係を作る演算。これが射影です。行を絞り込む「選択」や、全組み合わせを作る「直積」との区別をしっかりつけておきましょう!
PR