平成25年度 春期 データベーススペシャリスト試験 午前II 問20
【問題20】
分散型DBMSにおいて、二つのデータベースサイトの表で結合を行う場合、どちらか一方の表を他のデータベースサイトに送る必要がある。その際、表の結合に必要な属性だけを送り、結合に成功したものだけを元のデータベースサイトに転送して、最終的な結合を行う方法はどれか。
【解説】
ア: 入れ子ループ法
誤り。入れ子ループ法は、結合条件に基づき、外部の表の各レコードに対して、内側の表を検索して一致するものを探す方法です。しかし、この方法は効率が悪く、分散型データベース環境では、特に一方の表だけを送るという条件に適していません。
イ: セミジョイン法
正しい。セミジョイン法では、結合に必要な属性だけを送ることで通信量を削減します。最初に、外部の表から必要な属性を取り出して、別のデータベースサイトに送信し、そこで一致するデータをフィルタリングして戻す方法です。この方法は、分散データベースにおいて通信の最適化に有効です。
ウ: ハッシュセミジョイン法
誤り。ハッシュセミジョイン法は、データをハッシュテーブルに格納し、効率的に結合を行う方法です。セミジョインに似ていますが、分散型データベースにおいては、送信するデータの種類が異なります。セミジョイン法のように、必要な属性を送る点では適していません。
エ: マージジョイン法
誤り。マージジョイン法は、ソートされたデータを一度に比較することで結合を行う効率的な方法ですが、分散型DBMSで必要な属性だけを送るという要件には直接関係しません。
出典:平成25年度 春期 データベーススペシャリスト試験 午前II 問20