令和7年度 秋期 午前Ⅱ 問10
データ操作
関係演算において,商演算と同等な結果が得られる演算の組合せはどれか。
- ア直積演算と差演算と選択演算
- イ直積演算と射影演算と差演算
- ウ直積演算と射影演算と和演算
- エ直積演算と選択演算と和演算
答えと解説を見る
✓ これが正解イ直積演算と射影演算と差演算
解説
商演算は、直積・射影・差の三つの演算で表せます。
商演算 R÷S は、S のすべての値と組になっている、R の残りの属性の値を求める演算です。R の属性を X と Y、S の属性を Y とすると、次の手順で同じ結果が得られます。まず R を X で射影して候補を作ります。その候補と S の直積を取ると、候補が S のすべての値と組になった、そろっているべき組合せが得られます。そこから R を差し引くと、R に欠けている組合せが残ります。それを X で射影して欠けのある候補を求め、最初の候補から差し引くと、欠けのない候補、つまり商が残ります。見分ける軸は、属性を取り除く射影と、行を取り除く差が両方含まれているかです。商は、そろうべき組合せから欠けを引く、と考えると演算の組合せを思い出せます。
ほかの選択肢はなぜ違うのか
- ア直積演算と差演算と選択演算:直積と差は使えますが、射影がありません。商の結果は R の属性の一部だけから成るので、属性を取り除く操作が必要です。選択演算は行を条件で絞るだけで、列を取り除くことはできません。
- ウ直積演算と射影演算と和演算:直積と射影はありますが、差がありません。和演算は行を加えることしかできないので、そろうべき組合せから欠けている候補を取り除く操作ができず、商の結果を作れません。
- エ直積演算と選択演算と和演算:直積はありますが、射影も差もありません。選択演算は行を条件で絞り、和演算は行を加えるだけなので、属性を取り除くことも、欠けのある候補を取り除くこともできません。
出典:令和7年度 秋期 データベーススペシャリスト試験 午前Ⅱ 問10
この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)