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


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

解説

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

要点まとめ

  • 結論:分散型DBMSで結合に必要な列値だけを送る方式はセミジョイン法です。
  • 根拠:セミジョイン法は結合に必要な列の値だけを片方のサイトからもう一方に送信し、通信コストを削減します。
  • 差がつくポイント:通信量削減のために「必要な列値だけを送る」点を理解し、他の結合方式との違いを押さえることが重要です。

正解の理由

セミジョイン法は、二つのデータベースサイト間で結合を行う際に、結合に必要な列の値だけを一方のサイトからもう一方に送信します。これにより、不要なデータの転送を避けて通信コストを削減し、効率的に結合処理を行います。最終的な結合結果は元のサイトに戻されて結合が完了します。この特徴が問題文の条件に合致するため、正解はイ: セミジョイン法です。

よくある誤解

セミジョイン法は単に片方の表を丸ごと送るわけではなく、結合に必要な列だけを送る点が誤解されやすいです。
また、ハッシュセミジョイン法はセミジョイン法の一種ですが、問題文の説明に最も合致するのは基本のセミジョイン法です。

解法ステップ

  1. 問題文の「結合に必要な列値だけを送る」という条件を確認する。
  2. 各選択肢の結合方式の特徴を整理する。
  3. 入れ子ループ法やマージジョイン法は全データまたは大きなデータを送る可能性があることを理解する。
  4. セミジョイン法は必要な列値だけを送る方式であることを確認する。
  5. ハッシュセミジョイン法はセミジョイン法の一種だが、問題文の説明に最も合致するのは基本のセミジョイン法であると判断する。
  6. よって正解はイと決定する。

選択肢別の誤答解説

  • ア: 入れ子ループ法
    全データを送ることが多く、通信コストが高くなるため問題文の条件に合わない。
  • イ: セミジョイン法
    必要な列値だけを送るため通信量を削減し、問題文の条件に最も合致する。
  • ウ: ハッシュセミジョイン法
    セミジョイン法の一種であるが、問題文の説明は基本のセミジョイン法を指している。
  • エ: マージジョイン法
    両方の表がソートされている必要があり、全データを送る場合もあるため通信量削減の説明に合わない。

補足コラム

セミジョイン法は分散データベースにおける通信コスト削減の代表的な手法です。
ハッシュセミジョイン法はセミジョイン法の効率化を図ったもので、ハッシュ関数を用いて結合キーのマッチングを高速化します。
分散型DBMSでは通信コストが性能に大きく影響するため、適切な結合方式の選択が重要です。

FAQ

Q: セミジョイン法はどのように通信コストを削減しますか?
A: 結合に必要な列の値だけを送信し、不要なデータ転送を避けることで通信量を減らします。
Q: ハッシュセミジョイン法とセミジョイン法の違いは何ですか?
A: ハッシュセミジョイン法はセミジョイン法の一種で、ハッシュ関数を使って結合キーのマッチングを効率化します。
Q: マージジョイン法はどんな場合に使われますか?
A: 両方の表がソートされている場合に高速に結合できる方式ですが、通信量削減には向いていません。

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

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