令和3年度 秋期 データベーススペシャリスト試験 午前Ⅱ 問11
関係R, Sに次の演算を行うとき,RとSが和両立である必要のないものはどれか。
解答・解説
正解: ウ. 直積
関係データベースにおける和両立(union compatible)とは、2つの関係(テーブル)間で以下の2つの条件を満たす状態を指します。
- 属性数(次数)が等しいこと。
- 左から数えて同じ位置にある属性のドメイン(定義域・データ型)が同じであること。
和集合、共通集合、差集合といった純粋な集合演算を行う場合、演算対象となる2つの関係は同じ構造を持っている必要があるため、和両立であることが必須となります。
一方、直積(デカルト積)は、2つの関係のすべてのタプルの組み合わせを作成して新しい関係を作る演算です。直積の結果として得られる関係の属性数は、元の2つの関係の属性数の和となり、タプル数はそれぞれのタプル数の積となります。この演算では、元の関係同士の構造が同じである必要はないため、和両立である必要はありません。
各選択肢の解説
- ア 共通集合: 2つの関係の両方に存在するタプルを抽出して新しい関係を作る演算です。和両立である必要があります。
- イ 差集合: 一方の関係に存在し、もう一方の関係には存在しないタプルを抽出して新しい関係を作る演算です。和両立である必要があります。
- ウ 直積: 2つの関係のすべてのタプルの組み合わせを作る演算です。関係の構造が異なっていても演算可能であり、和両立である必要はありません。したがって、これが正解です。
- エ 和集合: 2つの関係のいずれかに存在するタプルを集めて新しい関係を作る演算です。和両立である必要があります。