令和3年度 秋期 プロジェクトマネージャ試験 データベーススペシャリスト試験 エンベデッドシステムスペシャリスト試験 システム監査技術者試験 情報処理安全確保支援士試験 午前Ⅰ 問題【共通】 問8
関係Rと関係Sに対して,関係Xを求める関係演算はどれか。

図の説明テキスト
関係R、関係S、関係Xの3つの表が横に並んでいる。
関係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 |
解答・解説
正解: エ. 和
関係データベースにおける各種の関係演算を用いた結果の表について確認します。
問題で示されている関係Rと関係Sのタプル(行)は以下の通りです。
- 関係R
(0001, a, 100)(0002, b, 200)(0003, d, 300)
- 関係S
(0001, a, 100)(0002, a, 200)
関係Xのタプルは以下の通りです。
- 関係X
(0001, a, 100)(0002, a, 200)(0002, b, 200)(0003, d, 300)
関係Xのタプルを確認すると、関係Rに含まれるすべてのタプルと、関係Sに含まれるすべてのタプルがまとめられていることがわかります。両方の関係に含まれるタプルを集め、重複する (0001, a, 100) を1つにまとめる関係演算を 和 と呼びます。
したがって、正解は「和」となります。
各選択肢の解説
- ア IDで結合
結合演算は、共通する属性(ここではID)の値が一致するタプル同士をつなぎ合わせ、新しい列を構成する演算です。関係Rと関係Sを結合した場合、列数が増えた表になるため、関係Xとは一致しません。 - イ 差
差演算は、一方の関係に含まれるタプルのうち、もう一方の関係にも含まれるタプルを取り除く演算です。たとえば関係Rから関係Sの差を求める(R - S)と、共通する(0001, a, 100)が取り除かれ、(0002, b, 200)と(0003, d, 300)が残ります。関係Xとは一致しません。 - ウ 直積
直積演算は、2つの関係のすべてのタプルの組み合わせを作る演算です。関係R(3行)と関係S(2行)の直積は 行の表となり、関係Xとは一致しません。 - エ 和
正解です。2つの関係のいずれかに含まれるすべてのタプルを集め、重複を排除して新しい関係を作ります。