平成21年度 秋期34テクノロジ系

基本情報 平成21年度 秋期 問34:テクノロジ系に関する問題

関係データベースの操作に関する記述のうち, 適切なものはどれか。

  • a結合は, 二つ以上の表を連結して, 一つの表を生成することをいう。正答
  • b射影は, 表の中から条件に合致した行を取り出すことをいう。
  • c選択は, 表の中から特定の列を取り出すことをいう。
  • d挿入は, 表に対して特定の列を挿入することをいう。
正答:A結合は, 二つ以上の表を連結して, 一つの表を生成することをいう。

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

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

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

答えは a「結合は、二つ以上の表を連結して、一つの表を生成する」 です。

関係データベースの基本操作は3つ:

  • 選択:行を条件で絞る(例:年齢20以上の人だけ抜き出す)
  • 射影:列を絞る(例:名前と電話だけ残す、住所は捨てる)
  • 結合:表と表をくっつける(例:「社員表」と「部署表」を「部署番号」でつなげて一つの表にする)

選択肢aは結合の説明として正しい。他の選択肢は用語が入れ替わっています。

👉 覚え方:選択=行を切る/射影=列を切る/結合=表をくっつける。3つセットで丸暗記!

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

なぜこれが正解か

正解は a結合(join)は2つ以上の表を共通の属性(通常は外部キーで結ばれた列)に基づいて連結し、1つの大きな表を生成する関係演算。例:社員表 ⨝ 部署表 ON 社員.部署ID = 部署.部署ID。

各選択肢の解説

  • b「射影は表の中から条件に合致した行を取り出す」:選択の説明。射影はを取り出す。
  • c「選択は表の中から特定の列を取り出す」:射影の説明。選択はを取り出す。
  • d「挿入は表に対して特定の列を挿入する」:INSERT文は通常を挿入する。

覚え方・ひっかけ注意

関係代数の基本3演算:選択(σ:シグマ)=行を絞る(WHERE)/射影(π:パイ)=列を絞る(SELECT列)/結合(⨝)=表を連結(JOIN)。選択と射影は意味が逆になりやすいので、「行=横選択=σ」「列=縦選択=π」と図でイメージ。

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

理論的背景

E.F.コッドの関係モデル(1970)における関係代数の基本演算は8つ:選択σ、射影π、結合⨝、和∪、差−、積(直積)×、商÷、改名ρ。これらは関係的完全性(relationally complete)を持ち、SQLはこの代数を構文化したもの。結合には自然結合(共通属性の同名列で自動結合)、内部結合(INNER JOIN)外部結合(LEFT/RIGHT/FULL OUTER JOIN)クロス結合(CROSS JOIN、直積)セルフ結合(自己参照)がある。クエリオプティマイザは結合順序とアルゴリズム(Nested Loop JoinHash JoinSort Merge Join)を統計情報(カーディナリティ、選択度)から動的決定する。

実務での使われ方

パフォーマンスチューニングの中核は結合の最適化:(1) インデックス設計(結合キーへのインデックス)、(2) 統計情報更新(ANALYZE)、(3) ヒント句(オプティマイザに指示)、(4) マテリアライズドビュー(事前結合)、(5) 非正規化(読込性能優先で結合を減らす)。OLTPでは正規化+小規模結合、OLAPでは大規模スタースキーマでHash Join中心。分散DB(Apache Spark、Presto/Trino、BigQuery)ではBroadcast Join(小テーブルを全ノードに配布)とShuffle Join(再分散)の使い分けが性能を左右する。

試験での位置づけ

FE科目Aで関係演算の定義問題が必出。データベーススペシャリスト試験ではSQL文と関係代数式の相互変換、結合アルゴリズムの選択基準、実行計画(EXPLAIN)の読解が頻出。応用情報の午後では正規化(1NF〜BCNF)と関連付けたER設計問題、SQL最適化問題が定番。

選択肢の発展補足

SQL JOIN種別:INNER JOIN(両表に存在)/LEFT OUTER JOIN(左全部+一致行)/RIGHT OUTER JOIN(右全部)/FULL OUTER JOIN(両側全部)/CROSS JOIN(直積)/SELF JOIN(自己結合)。集合演算:UNION(和集合・重複排除)/UNION ALL(和集合・重複含む)/INTERSECT(積集合)/EXCEPT/MINUS(差集合)。正規化との関係:高次正規化は分割される表を増やし結合回数を増やすが、更新異常を防ぐ。OLAP系では意図的に非正規化(次元テーブルの結合済みファクト)してパフォーマンス確保。NoSQLは結合を避ける設計思想(埋込みドキュメント、デノーマライズ)が主流。

出典・引用について

出典:IPA(情報処理推進機構)公式 基本情報技術者試験 平成21年度 秋期34/ 公的機関配布資料につき出典明記の上引用。解説は合格ナビによる独自AI解説です。

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

1
テクノロジ系
2
テクノロジ系
3
テクノロジ系
4
テクノロジ系
5
テクノロジ系

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

この分野を連続演習し、AIがあなたの弱点を分析。合格ナビなら基本情報の過去問を解きながら学べます。