関係モデルの演算は列と行のどちらを見るか
基本情報技術者試験 令和元年度秋期 午前 問27 / データベース › データ操作
過去問にチャレンジ
関係モデルにおいて,関係から特定の属性だけを取り出す演算はどれか。
- ア
結合(join)
- イ
射影(projection)
- ウ
選択(selection)
- エ
和(union)
会話形式の解説
講師この問題は、取り出したいものが表の列なのか、行なのかに注目します。属性はどちらに当たりますか。
受験者属性は列です。特定の列だけを取り出す演算を探せばよいのですね。
講師はい。指定した属性、つまり列を取り出す演算は射影です。
受験者選択も何かを取り出しますが、こちらは列ではないのですか。
講師選択が取り出すのは、条件に合う組です。組は表の行に当たるので、今回は違います。
受験者結合は、複数の表を扱う演算でしたか。
講師はい。結合は、複数の関係を属性の値などに基づいて組み合わせます。一つの関係から列だけを取り出す操作ではありません。
受験者和は、二つの関係の組を集めるので、これも列を指定する操作とは違いますね。
講師そのとおりです。和は、対応する属性を持つ二つの関係の組を集めます。
受験者取り出す対象が列なら射影、条件に合う行なら選択と見分ければよいですね。
講師はい。今回は「特定の属性だけ」とあるので、正解は射影です。
まとめ
属性は表の列、組は表の行に当たります。指定した属性だけを取り出す演算は射影です。選択は条件に合う組を取り出し、結合と和もそれぞれ別の働きをします。取り出す対象が列か行かを確かめると、射影と選択を見分けられます。
解答・解説
正解はイです
この問題のテーマ
関係モデルで、指定した属性だけを取り出す演算を問う問題です。
解き方の考え方
関係の属性は、表でいえば列に当たります。取り出す対象が列なのか、条件に合う行なのかを見分けてから、各演算の働きと照合します。
選択肢ごとの解説
- ×ア 結合(join)結合は、複数の関係を属性の値などに基づいて組み合わせる演算です。一つの関係から指定した属性だけを取り出す操作には当たりません。
- ○イ 射影(projection)射影は、関係から指定した属性を取り出す演算です。問題文の「特定の属性だけ」という条件に合うので、正解はイです。
- ×ウ 選択(selection)選択は、条件に合う組を取り出す演算です。取り出す対象は組であり、指定した属性だけを取り出す演算ではありません。
- ×エ 和(union)和は、対応する属性を持つ二つの関係の組を集める演算です。属性を指定して取り出す操作とは異なります。
POINT
- 属性は表の列に、組は表の行に相当します。
- 指定した列に着目する場合は射影を考えます。
- 条件に合う行に着目する場合は選択を考えます。
