過去問解きまくり研究所 ホーム

平成28年度 秋期 午前 問28

データベース

直積に関する問題

関係代数の演算のうち,関係 R,S の直積(R×S)に対応する SELECT 文はどれか。ここで,関係 R,S を表 R,S に対応させ,表 R 及び S にそれぞれ行の重複はないものとする。

答えと解説を見る

✓ これが正解ア`SELECT * FROM R, S`

解説

二つの表をカンマで並べると全組合せが出ます。

直積は、二つの関係の行をすべて総当たりで組み合わせる演算です。片方がm行、もう片方がn行なら、結果はm×n行になり、列は両方の列を横につないだものになります。SQLでは、FROM句に表をカンマで区切って並べると、絞り込む条件を付けない限りこの総当たりが起こります。だから、FROM句に二つの表を並べただけの文が直積にあたりました。見分けの軸になるのは、結果がどちらの向きに伸びるかです。直積では列が増えて行数が掛け算になりますが、縦方向の集合演算では列の構成は元のまま変わらず、行数も掛け算にはなりません。残る三つは、いずれもこの縦方向の演算にあたります。一つは片方から他方に含まれる行を差し引いたもの、一つは両方を足し合わせて一つにまとめたもの、もう一つは両方に共通する行だけを残したものでした。三つとも列は増えず、行数も元の表の行数を掛け合わせた大きさにはなりません。

ほかの選択肢はなぜ違うのか

出典:平成28年度 秋期 基本情報技術者試験 午前 問28

この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)