関係代数の演算のうち,関係R,Sの直積(R×S)に対応するSELECT文はどれか。
ここで,関係R,Sを表R,Sに対応させ,表R及びSにそれぞれ行の重複はないものとする。
正答1
解説
正解は1です。
関係代数の直積(R×S)は、Rの各行とSの各行をすべて組み合わせた行の集合です。
Rがm行、Sがn行なら、結果はm×n行になります。
【選択肢別解説】
1:○ FROM句に二つの表を並べ、結合条件を付けないSELECT文は、すべての行の組合せを返します。
これは直積そのものです。
2:× EXCEPTは、Rの行のうちSに含まれない行を返す差の演算です。
関係代数の差(R-S)に対応します。
3:× UNIONは、RとSの行を合わせて重複を除いた和の演算です。
関係代数の和(R∪S)に対応します。
4:× INTERSECTは、RとSの両方に含まれる行を返す共通の演算です。
関係代数の共通(R∩S)に対応します。
【ポイント】
和・差・共通は、二つの表の列構成が同じでないと実行できません。
直積は列構成が違っていても計算でき、直積に条件を付けて絞り込んだものが結合です。