データベーススペシャリスト試験 2020年 午前209


関係代数における直積に関する記述として適切なものはどれか。
ある属性の値に付加した条件を満たす全てのタプルの集合である。
ある一つの関係の指定された属性だけを残して、他の属性を取り去って得られる属性の集合である。
二つの関係における、あらかじめ指定されている二つの属性の2項関係を満たす全てのタプルの組合せの集合である。
二つの関係における、それぞれのタプルの全ての組合せの集合である。(正解)

解説

関係代数における直積に関する記述【午前2 解説】

要点まとめ

  • 結論:直積は二つの関係の全てのタプルの組合せを作る操作である。
  • 根拠:関係代数の直積は、各関係のタプルを組み合わせて新たな関係を生成する基本演算である。
  • 差がつくポイント:直積と結合や射影など他の関係代数演算の違いを正確に理解し、直積が「条件なしの全組合せ」であることを押さえること。

正解の理由

選択肢エは「二つの関係における、それぞれのタプルの全ての組合せの集合である」と述べており、これは関係代数の直積の定義に完全に合致します。直積は、関係Rと関係Sの全てのタプルの組合せを作り、新しい関係を生成します。条件を付けずに単純に組合せるため、直積は結合や選択とは異なります。

よくある誤解

直積を「条件付きの組合せ」や「属性の選択操作」と混同しやすいですが、直積は条件なしの全組合せを意味します。結合や選択と混同しないよう注意が必要です。

解法ステップ

  1. 問題文の「直積」の定義を思い出す。
  2. 直積は二つの関係のタプルを全て組み合わせる操作であることを確認。
  3. 選択肢の説明と直積の定義を照合する。
  4. 条件付きの選択や属性の削除など他の演算と混同していないか確認。
  5. 「全ての組合せ」を示す選択肢を正解とする。

選択肢別の誤答解説

  • ア: 「ある属性の値に付加した条件を満たす全てのタプルの集合」は選択(σ)操作の説明であり、直積ではない。
  • イ: 「指定された属性だけを残す」は射影(π)操作の説明であり、直積とは異なる。
  • ウ: 「指定された二つの属性の2項関係を満たすタプルの組合せ」は結合(ジョイン)の説明であり、直積とは違う。
  • エ: 「二つの関係における、それぞれのタプルの全ての組合せの集合である」は直積の正しい定義である。

補足コラム

関係代数の基本演算には選択(σ)、射影(π)、直積(×)、結合(⨝)などがあります。直積は条件なしに全てのタプルを組み合わせるため、結合の前段階として使われることも多いです。結合は直積の結果から条件を満たすタプルを選択する操作と考えられます。

FAQ

Q: 直積と結合の違いは何ですか?
A: 直積は条件なしに全てのタプルを組み合わせる操作で、結合は直積の結果から特定の条件を満たすタプルだけを抽出する操作です。
Q: 直積の結果の属性数はどうなりますか?
A: 直積の結果は元の二つの関係の属性数の合計になります。全ての属性が結合されます。

関連キーワード: 関係代数, 直積, 選択, 射影, 結合, タプル, データベース理論
← 前の問題へ次の問題へ →

©︎2025 情報処理技術者試験対策アプリ