基本情報技術者試験「関係代数」の問題
関係代数の射影(projection)演算を最も適切に説明したものはどれか。
ア条件を満たす行(タプル)だけを抜き出し、列はそのまま残す演算である
イ二つの関係を共通の属性値で対応づけて1つの関係に結びつける演算である
ウ指定した属性(列)だけを取り出し、不要な列を取り除く演算である
エ二つの関係に共通して存在するタプルだけを取り出す演算である
正解
ウ.指定した属性(列)だけを取り出し、不要な列を取り除く演算である
射影は関係から指定した属性(列)のみを抽出する縦方向の演算であり、不要な列を取り除いて必要な列だけの関係を得る。説明が射影の定義に一致するため正しい。
?選択肢ごとの解説
ア ×条件を満たす行を抜き出すのは選択(selection)であり、列を絞る射影とは演算方向(横と縦)が異なる。
イ ×共通属性で関係を結びつけるのは結合(join)の説明であり、単一関係の列を絞る射影とは別の演算である。
ウ ○射影は関係から指定した属性(列)のみを抽出する縦方向の演算であり、不要な列を取り除いて必要な列だけの関係を得る。説明が射影の定義に一致するため正しい。
エ ×共通するタプルだけを取り出すのは積集合(共通集合)演算であり、列を選ぶ射影とは対象が異なる。
✎くわしく
関係代数の基本演算は選択(行を絞る)、射影(列を絞る)、結合(複数関係を結ぶ)、和・差・積(集合演算)に大別される。射影は縦の絞り込みで、結果から重複タプルが除かれる点も特徴である。選択との対比が要点である。
✓本番での押さえどころ
試験のコツ
『射影=列を選ぶ(縦)』『選択=行を選ぶ(横)』と方向で固定する。SQLのSELECT=射影、WHERE=選択と結びつける。
覚え方
射影は『欲しい列だけを投影してスクリーンに映す』とイメージし、列の抽出と結びつける。
よくある誤り
射影(列を絞る)と選択(行を絞る)を取り違える誤りが最頻出。SQLのSELECT句(射影)とWHERE句(選択)に対応づけると区別しやすい。
データベースの他の問題
この問題を、AIの8-ways解説つきで。
無料ではじめる →基本情報技術者試験の演習を、一問ごとに「なぜ」まで。まずは無料で。
ukamiru 過去問 · 基本情報技術者試験 · fe-a3-0235