DBデータベーススペシャリスト試験 午前Ⅱ

令和2年度10月 データベーススペシャリスト 午前Ⅱ 問18

問題文と選択肢を読んで答えを考えてから、下の「正解と解説を見る」で確認しましょう。

問題

分散型DBMSにおいて,二つのデータベースサイトの表で結合を行う場合,どちらか一方の表をもう一方のデータベースサイトに送る必要がある。その際,表の結合に必要な列値だけを送り,結合に成功した結果を元のデータベースサイトに転送して,最終的な結合を行う方式はどれか。

選択肢

  1. ア
    入れ子ループ法
  2. イ
    セミジョイン法
  3. ウ
    ハッシュセミジョイン法
  4. エ
    マージジョイン法
解き方のヒントを見る

結合処理方式を比べる視点

分散したデータを結合する方式を考えるときは、処理の進め方だけでなく、データの所在や通信、負荷の分担に注目し、同じ観点で比較しましょう。どの段階で何が移動するかを整理すると、説明の違いを確認しやすくなります。

この問題で問われていること

この問題では、各方式の名称や印象で判断せず、結合に必要なデータがどこで扱われ、ノード間のやり取りと計算負荷がどう分かれるかという一点に絞って、選択肢の説明を読み比べてください。

視点

処理とデータの関係を、実行場所とノード間のやり取りという観点から整理し、説明がどの前提に依存しているかを確認します。

確認ポイント

  • 結合に関係するデータが、処理のどの場所で扱われる説明かを確認する
  • ノード間で発生するやり取りを、処理の流れに沿って読み取る
  • 処理負荷の分担について、説明の前提と用語の対応を確認する
正解と解説を見る

正解

イ

解説

結合に必要な列値だけを相手サイトへ送り、その結果を元のサイトへ戻して最終結合する方式はセミジョイン法です。通信量を抑えることが主な目的です。

理由

セミジョイン法は、二つの表を結合する際、まず結合に必要な列の値だけを相手側へ送る。その値を使って相手サイトで対象行を絞り込み、得られた結果を元のサイトへ転送して結合を完成させる。不要な列や行の転送を減らせる。

比較

入れ子ループ法とマージジョイン法は、表の行をどのように照合するかという結合処理のアルゴリズムです。ハッシュセミジョイン法は、ハッシュを利用するセミジョインの具体的な方式だが、設問が示す方式名は一般的なセミジョイン法に該当する。

選択肢ア

これは不正解だよ。入れ子ループ法は、一方の表の各行に対して、もう一方の表の行を順に調べて結合条件を確認する処理方法である。設問のように、結合に必要な列値だけを先に送って通信量を抑える分散結合方式そのものを表していない。

選択肢イ(正解)

これは正解だよ。セミジョイン法は、結合に必要な列値だけを相手サイトへ送り、その情報で対象行を絞り込む。その後、結合結果を元のサイトへ転送して最終的な結合を行うため、設問の処理手順と一致する。

選択肢ウ

これは不正解だよ。ハッシュセミジョイン法は、ハッシュを使って結合対象を照合するセミジョインの具体的な実装方式である。設問はハッシュ利用を条件としておらず、示されている通信手順に対応する一般的な方式名を問うている。

選択肢エ

これは不正解だよ。マージジョイン法は、結合キーの順序がそろった表を先頭から比較しながら結合する処理方法である。設問の中心である、必要な列値だけをサイト間で送受信して通信量を減らす方式の説明には当てはまらない。

学習のポイント

分散データベースの結合方式と、サイト間通信量の削減方法を学ぶ。

出典:独立行政法人 情報処理推進機構(IPA)令和2年度10月 データベーススペシャリスト試験 午前Ⅱ 問18(公式資料:問題冊子(PDF) / 解答例)

関連する過去問一覧

IPA Advancedは非公式の学習サイトです。解説にはAIによる補助生成を含む場合があります。公式の問題冊子・解答例・採点講評を優先し、誤りは確認後に訂正します。運営・編集方針