平成30年度春期 応用情報技術者試験 午前 問27
関係Rと関係Sに対して,関係Xを求める関係演算はどれか。

- ア IDで結合
- イ 差
- ウ 直積
- エ 和
解答・解説を見る
正解:エ
AI解説
関係演算の問題では,結果Xの行(タプル)がRとSからどう作られたかを見る。XがRの全行とSの全行を合わせ,重複行を1つにまとめたものであれば,それは和(UNION)演算である。和は両方の関係が同じ属性構成であることが前提となる。 ア: 誤り。結合(JOIN)はIDなどの共通属性の値が一致する行同士を横につなぎ,属性数が増えた関係を作る演算である。行を縦に合わせるXの形とは異なる。 イ: 誤り。差(DIFFERENCE)はRからSにも存在する行を取り除く演算で,結果の行数はRより少なくなる。 ウ: 誤り。直積(CARTESIAN PRODUCT)はRの各行とSの各行の全組合せを作る演算で,行数はRの行数×Sの行数になる。 エ: 正解。RとSの全ての行を重複なく合わせたものがXであり,和(UNION)演算である。 💡 集合演算(和・差・共通)は「同じ属性構成の表を縦方向に演算」,結合・直積は「表を横方向に組み合わせて属性が増える」と整理する。結果の行数と列数を見れば,どの演算かはほぼ機械的に判別できる。
出典:平成30年度 春期 応用情報技術者試験 午前 問27 / 独立行政法人情報処理推進機構(IPA)
※Web掲載用に表記を一部変更しています。図表はIPA公式問題冊子から引用しています。著作権はIPAに帰属します。
※Web掲載用に表記を一部変更しています。図表はIPA公式問題冊子から引用しています。著作権はIPAに帰属します。