平成25年度 春期 午前Ⅱ 問19
データベース
関係Zを得る関係代数演算
関係XとYを結合した後,関係Zを得る関係代数演算はどれか。
X
| 学生番号 | 氏名 | 学部コード |
|---|---|---|
| 1 | 山田太郎 | A |
| 2 | 情報一郎 | B |
| 3 | 鈴木花子 | A |
| 4 | 技術五郎 | B |
| 5 | 小林次郎 | A |
| 6 | 試験桃子 | A |
Y
| 学部コード | 学部名 |
|---|---|
| A | 工学部 |
| B | 情報学部 |
| C | 文学部 |
Z
| 学部名 | 学生番号 | 氏名 |
|---|---|---|
| 情報学部 | 2 | 情報一郎 |
| 情報学部 | 4 | 技術五郎 |
- ア射影と選択
- イ射影と和
- ウ選択
- エ選択と和
答えと解説を見る
✓ これが正解ア射影と選択
解説
結合した表から情報学部の行を選び、必要な列だけを射影して得ます。
XとYを学部コードで結合すると、学生番号、氏名、学部コード、学部名をもつ6行の表ができます。Zは、そのうち学部名が情報学部の行だけを取り出し、列を学部名、学生番号、氏名の三つに絞ったものです。行を条件で絞り込む演算が選択、列を絞り込む演算が射影なので、結合の後に選択と射影の両方が必要になります。見分ける軸は、Zで行と列のどちらが減っているかを別々に確かめることです。行は6行から2行に、列は4列から3列に減っており、学部コードの列がZに残っていないことが射影の決め手になります。行を減らすのは選択、列を減らすのは射影、と縦横で分けて覚えると取り違えません。
ほかの選択肢はなぜ違うのか
- イ射影と和:和は、同じ形の二つの表の行を合わせる演算で、行を増やす方向に働きます。Zは結合した表から行を減らしたものなので和を使う場面はなく、情報学部の行だけを取り出す選択が欠けている点でも合いません。
- ウ選択:選択だけでは、情報学部の行を取り出すことはできても、列はそのまま残ります。Zには学部コードの列がなく、列が三つに絞られているので、選択に加えて列を絞る射影が必要です。
- エ選択と和:選択で情報学部の行を取り出す点は合っていますが、和は二つの表の行を足し合わせる演算で、この変換には登場しません。さらに学部コードの列を落とす射影が抜けているため、Zの形にはなりません。
出典:平成25年度 春期 システム監査技術者試験 午前Ⅱ 問19
この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)