IPA過去問ドリル

平成25年度 春期 データベーススペシャリスト試験 午前Ⅱ 問20

テクノロジ/データベース

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

出典:平成25年度 春期 データベーススペシャリスト試験 午前Ⅱ 問20

正解:イ

解説

セミジョイン法は,分散型DBMSにおいて,異なるデータベースサイトに格納された二つの表を結合する際に,通信量を削減するための手法である。まず,一方のサイトの表から,結合に必要な属性(結合キーなど)の値だけを抽出して他方のサイトへ送信し,他方のサイトでその値を使って自サイトの表と結合(絞り込み)を行う。その結合に成功した(一致した)行だけを元のサイトへ転送し,元のサイトで改めて最終的な結合を行うことによって,表全体を送信する場合に比べてサイト間の通信量を削減できる。

選択肢ごとの解説

  • 誤り。入れ子ループ法は,一方の表の各行に対して他方の表を繰返し走査して結合する結合アルゴリズムであり,通信量削減を目的として必要な属性だけを送るという分散結合の手法とは異なる。
  • 正しい。結合に必要な属性だけを他のサイトに送り,結合に成功した行だけを元のサイトに転送して最終的な結合を行う,通信量削減を目的とした分散結合の手法はセミジョイン法である。
  • 誤り。ハッシュセミジョイン法は,セミジョイン法の一種としてハッシュ値を利用して絞り込みを行う手法であるが,設問の説明は属性値をそのまま送って一致を判定する基本的なセミジョイン法の説明であり,ハッシュを用いる点が明示されていない。
  • 誤り。マージジョイン法は,あらかじめソートされた二つの表を先頭から順に突き合わせて結合するアルゴリズムであり,分散環境で必要な属性だけを送信して通信量を削減する手法とは異なる。
データベーススペシャリストの過去問を演習モードで解く