令和4年度98テクノロジ系

ITパスポート 令和4年度 問98:データベース・関係演算に関する問題

関係データベースで管理している従業員表から、氏名の列だけを取り出す操作を何というか。

  • a結合
  • b射影正答
  • c選択
  • d
正答:B射影

AI解説(初心者・標準・上級)

理解度に合わせて3レベルの解説を無料で読めます。

初心者向けまずはここから。やさしく要点を解説

答えは b「射影(しゃえい)」 です。

表をエクセルのような“ますめ”だと思ってください。

  • たての列だけを抜き出す(例:氏名の列だけ)=射影
  • よこの行だけを抜き出す(例:営業部の人だけ)=選択。

この問題は「氏名の列だけ取り出す」なので、たて方向。だから射影です。

👉 覚え方:列(たて)を写しとる=射影。「影を映す」イメージで縦スパッ。

ほかの選択肢:結合=2つの表をくっつける/選択=条件に合う“行”を取り出す/和=2つの表を足し合わせる。

標準試験対策の基準レベル

なぜこれが正解か

正解は b 射影。関係データベースの関係演算のうち、表から特定の列(属性)だけを抜き出す操作が射影(projection)。本問は「氏名の列だけを取り出す」=縦方向の絞り込みなので射影に該当する。

各選択肢の解説

  • a 結合(join):複数の表を共通の列をキーにして横につなぎ合わせる演算。
  • c 選択(selection):条件に合致する行(レコード)だけを取り出す。横方向の絞り込みで、射影と対になる概念。
  • d 和(union):同じ構造をもつ2つの表のレコードを足し合わせる集合演算。

覚え方・ひっかけ注意

選択=行(横)/射影=列(縦) がペアで最頻出。「氏名“だけ”の列」のように列名が出たら射影、「部署が営業の人“だけ”」のように条件が出たら選択。射影と選択の入れ替えが王道の引っかけなので、向き(縦か横か)で即判断する。

上級誤答論破・背景理論まで深掘り

理論的背景

射影(projection)は関係代数の基本単項演算で、集合論的には「n項関係からm個の属性を選んだ部分集合への写像(m≦n)」として定義される。E.F.コッドの1970年の論文で定義された8つの関係代数演算の一つで、SQLの `SELECT 列名` 節に直接対応する。射影の重要な数学的性質は「結果は集合であるため、理論上は重複タプルが排除される」点だ。例えば従業員表全体から「部署名」列だけを射影すると、同じ部署の複数従業員が存在しても部署名は1回だけ現れることになる。しかし実際のSQL実装では `SELECT 部署名 FROM 従業員` は既定で重複行を保持し、`SELECT DISTINCT 部署名 FROM 従業員` のようにDISTINCTを明示して初めて集合論的な射影の結果が得られる——理論と実装の差異が実務の論点となる。

実務での使われ方

射影は実務のクエリ設計で最も頻繁に使う演算の一つだ。「必要な列だけ取得する」(SELECT * の回避)はデータ転送量・メモリ使用量の削減につながるパフォーマンス最適化の基本原則で、特に大規模テーブルや列数の多いトランザクションテーブルで効果が大きい。クエリ最適化エンジン(データベースオプティマイザ)は「プッシュダウン最適化」として、射影(列の絞り込み)と選択(行の絞り込み)をできるだけ早い段階で適用してデータ量を削減し、後続の結合・集計処理のコストを下げる。これは本問の「射影で列を絞る」という概念が直接パフォーマンス設計につながる実例だ。

試験での位置づけ

ITパスポートのデータベース分野で射影・選択・結合の3演算は毎年必出で、特に「射影=列、選択=行の絞り込み」の対比識別が問われる。本問のような「〇〇の列だけを取り出す操作」という問い方はその典型形式だ。和(UNION)も含めた4演算をセットで整理し、「方向(横か縦か)」と「対象(単表か複数表か)」で分類するのが覚え方の効率が高い。基本情報技術者では関係代数とSQLの対応が出題され、INNER JOIN・LEFT OUTER JOIN・RIGHT OUTER JOIN等の結合の種類、GROUP BY(集約)、サブクエリまで問われる範囲が広がる。さらにビュー(射影・選択で定義される仮想表)の概念も射影と直結する重要テーマとなる。

選択肢の発展補足

選択肢a(結合:join):2つ以上の表を共通の列(主キー・外部キー)をキーとして横につなぎ合わせ、行数はそのままに列数を増やす演算。SQL上の `JOIN` に対応する。内部結合(INNER JOIN)は両表に一致するレコードだけを返し、外部結合(OUTER JOIN)は一方に存在しないレコードにNULLを補って返す。選択肢c(選択:selection):条件に合致する行(レコード)だけを取り出す演算で、SQLの `WHERE` 節に対応する。射影が「列を縦方向に切り取る」のに対し、選択は「行を横方向に絞る」——この対称性が最重要の識別ポイントだ。「全従業員の中から営業部の人だけ抽出する」は選択、「全従業員の氏名と給与だけを取り出す」は射影と即判断できるようになると得点が安定する。選択肢d(和:union):同じ列構成をもつ2つの表のレコードを縦方向に積み増す集合演算で、SQLの `UNION` に対応する。和は「行を増やす」操作で、結合(列を増やす)との方向の違いが最大の混同ポイントとなる。

出典・引用について

出典:IPA(情報処理推進機構)公式 ITパスポート試験 令和4年度98/ 公的機関配布資料につき出典明記の上引用。解説は合格ナビによる独自AI解説です。

テクノロジ系の他の過去問

55
security
56
database
57
database
58
technology_element
59
network

あなたの弱点を診断して、合格までの最短ルートを

この分野を連続演習し、AIがあなたの弱点を分析。合格ナビならITパスポートの過去問を解きながら学べます。