令和2年度 10月 午前Ⅱ 問9
データ操作
関係代数における直積に関する記述
関係代数における直積に関する記述として,適切なものはどれか。
- アある属性の値に付加した条件を満たす全てのタプルの集合である。
- イある一つの関係の指定された属性だけを残して,他の属性を取り去って得られる属性の集合である。
- ウ二つの関係における,あらかじめ指定されている二つの属性の2項関係を満たす全てのタプルの組合せの集合である。
- エ二つの関係における,それぞれのタプルの全ての組合せの集合である。
答えと解説を見る
✓ これが正解エ二つの関係における,それぞれのタプルの全ての組合せの集合である。
解説
直積は、二つの関係のタプルを全て組み合わせた集合です。
直積は、二つの関係について、一方の全てのタプルと他方の全てのタプルを総当たりで組み合わせた集合を作る演算です。条件は何も付けないので、一方がm個、他方がn個のタプルを持てば、結果はm×n個のタプルになります。例えば3行の関係と2行の関係の直積は6行で、属性は両方の関係の属性を並べたものになります。直積の結果から条件を満たす組だけを取り出すと結合になる、という関係で捉えると、選択・射影・結合との違いを整理しやすくなります。
ほかの選択肢はなぜ違うのか
- アある属性の値に付加した条件を満たす全ての…:ある属性の値に付けた条件を満たすタプルだけを取り出すのは、選択の説明です。一つの関係から行を絞り込む演算で、二つの関係を組み合わせる直積とは違います。
- イある一つの関係の指定された属性だけを残し…:指定した属性だけを残して他の属性を取り去るのは、射影の説明です。一つの関係から列を絞る演算であり、二つの関係のタプルを組み合わせる演算ではありません。
- ウ二つの関係における,あらかじめ指定されて…:二つの関係で、指定した属性どうしが条件を満たす組合せだけを集めるのは、結合の説明です。条件を付けずに全ての組合せを作る直積とは、条件の有無が違います。
出典:令和2年度 10月 データベーススペシャリスト試験 午前Ⅱ 問9
この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)