データベーススペシャリスト試験 2013年 午前220


分散型DBMSにおいて、二つのデータベースサイトの表で結合を行う場合、どちらか一方の表を他のデータベースサイトに送る必要がある。その際、表の結合に必要な属性だけを送り、結合に成功したものだけを元のデータベースサイトに転送して、最終的な結合を行う方式はどれか。
入れ子ループ法
セミジョイン法(正解)
ハッシュセミジョイン法
マージジョイン法

解説

分散型DBMSにおける表の結合方式【午前2 解説】

要点まとめ

  • 結論:分散型DBMSで効率的に結合を行うには、必要な属性だけを送るセミジョイン法が有効です。
  • 根拠:セミジョイン法は結合に必要な属性だけを一方のサイトから他方に送り、不要なデータ転送を削減します。
  • 差がつくポイント:単純に全表を送るのではなく、結合に必要な部分だけを送ることで通信コストを大幅に削減できる点が重要です。

正解の理由

イ: セミジョイン法は、二つのデータベースサイト間で結合に必要な属性だけを送信し、結合に成功した行だけを元のサイトに戻して最終結合を行う方式です。これにより、全表を送る場合に比べて通信量が大幅に減り、分散環境での効率的な結合処理が可能になります。

よくある誤解

セミジョイン法は単に片方の表を丸ごと送る方法ではなく、必要な属性だけを送る点がポイントです。全表送信と混同しやすいので注意しましょう。

解法ステップ

  1. 結合に必要な属性(キーなど)だけを一方のサイトから他方のサイトに送る。
  2. 受け取ったサイトで送られた属性を使い、結合に成功する行を抽出する。
  3. 抽出した行だけを元のサイトに返送する。
  4. 元のサイトで返送された行と自サイトの表を使い、最終的な結合を行う。

選択肢別の誤答解説

  • ア: 入れ子ループ法
    単純に片方の表の各行に対してもう一方の表を検索する方法で、分散環境では通信コストが高く非効率です。
  • イ: セミジョイン法
    正解。必要な属性だけを送ることで通信量を削減し効率的に結合を行います。
  • ウ: ハッシュセミジョイン法
    セミジョイン法の一種でハッシュを使うが、問題文の説明にある「必要な属性だけを送る」方式の基本形はセミジョイン法です。
  • エ: マージジョイン法
    両方の表がソート済みであることが前提で、分散環境での通信削減には直接関係しません。

補足コラム

セミジョイン法は分散データベースの通信コスト削減に特化した手法で、特にネットワーク帯域が制限される環境で効果を発揮します。ハッシュセミジョイン法はこれをさらに高速化するためにハッシュ関数を利用した派生手法です。

FAQ

Q: セミジョイン法はどのような場合に特に有効ですか?
A: ネットワーク通信コストが高い分散環境で、全表を送るのが非効率な場合に有効です。
Q: ハッシュセミジョイン法とセミジョイン法の違いは何ですか?
A: ハッシュセミジョイン法はセミジョイン法にハッシュ技術を組み合わせて高速化したもので、基本的な考え方は同じです。

関連キーワード: 分散型DBMS, セミジョイン法, データベース結合, 通信コスト削減, 分散データベース
← 前の問題へ次の問題へ →

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