関係演算 (和)
出典: 令和3年度 秋期 応用情報技術者試験 午前 問26 (IPA)
関係 R と関係 S に対して,関係 X を求める関係演算はどれか。
R
| ID | A | B |
|---|---|---|
| 0001 | a | 100 |
| 0002 | b | 200 |
| 0003 | d | 300 |
S
| ID | A | B |
|---|---|---|
| 0001 | a | 100 |
| 0002 | a | 200 |
X
| ID | A | B |
|---|---|---|
| 0001 | a | 100 |
| 0002 | a | 200 |
| 0002 | b | 200 |
| 0003 | d | 300 |
- ア ID で結合
- イ 差
- ウ 直積
- エ 和
正解と解説を見る
正解: エ
- ア: ID で結合すると、R と S で ID が同じ行どうしが横につながり、列が増えます。X は列が増えていません。
- イ: 差 (R − S) は R にあって S にない行なので、(0002, b, 200) と (0003, d, 300) の 2 行になります。
- ウ: 直積は全ての組合せなので、3 × 2 = 6 行で、列も 6 列になります。
- エ: R と S の行を合わせて重複を除いたのが X なので、和です。正しい答えです。
ポイント
- X には R の 3 行と S の 2 行が全て入っていて、両方にある (0001, a, 100) は 1 行だけです。
- 2 つの関係の行を合わせ、重複を 1 つにまとめるのは 和 です。
| 演算 | 結果 |
|---|---|
| 和 | R と S の どちらかにある 行 |
| 差 | R にあって S に ない 行 |
| 共通 | R と S の 両方にある 行 |
| 直積 | R と S の行の 全ての組合せ |