令和2年度 10月 午前Ⅱ 問18
データベース応用
最終的な結合を行う方式
分散型DBMSにおいて,二つのデータベースサイトの表で結合を行う場合,どちらか一方の表をもう一方のデータベースサイトに送る必要がある。その際,表の結合に必要な列値だけを送り,結合に成功した結果を元のデータベースサイトに転送して,最終的な結合を行う方式はどれか。
- ア入れ子ループ法
- イセミジョイン法
- ウハッシュセミジョイン法
- エマージジョイン法
答えと解説を見る
✓ これが正解イセミジョイン法
解説
結合に必要な列値だけを送り、成功した結果を返してから結合します。
分散型DBMSで別々のサイトにある表を結合するとき、表を丸ごと送ると通信量が大きくなります。セミジョイン法では、まず一方のサイトの表から結合に使う列の値だけを取り出して相手のサイトへ送ります。相手のサイトでは、その値と結合できる行だけを選び出して元のサイトに送り返し、最後に元のサイトで結合を完成させます。送るのは結合に必要な列と、結合に成功する行だけなので、通信量を抑えられます。設問の手順はこの流れを順に述べたものです。列値だけを先に送り、合う行だけを返してもらう、という往復で覚えておくと見分けられます。
ほかの選択肢はなぜ違うのか
- ア入れ子ループ法:入れ子ループ法は、一方の表の各行について、もう一方の表の全行を調べて結合条件に合う組を探す手順です。結合の計算方法の名前で、列値だけを送って通信量を減らす手順ではありません。
- ウハッシュセミジョイン法:ハッシュセミジョイン法は、送るものを列値そのものではなく、列値にハッシュ関数を適用した結果にする点でセミジョイン法と異なります。設問は結合に必要な列値を送ると述べているので、これには当たりません。
- エマージジョイン法:マージジョイン法は、二つの表を結合に使う列の順に整列し、先頭から突き合わせて結合する手順です。結合の計算方法の名前であり、サイト間で列値だけを送る手順を指すものではありません。
この問題の用語
- ハッシュハッシュ関数で作られた値そのもの。元に戻せないので、中身を見せずに同じかどうかだけを確かめるのに使えます。
- DBMSデータベースを管理するソフト。複数の処理が同じデータを同時に更新しても矛盾しないよう、排他制御などを行います。
- データベースたくさんのデータを決まった形で貯め、探したり書き換えたりできるようにした仕組み。多くの人が同時に使うことを前提にしています。
出典:令和2年度 10月 データベーススペシャリスト試験 午前Ⅱ 問18
同じ用語が出る問題
- 令和7年度 秋期 午前Ⅱ 問17:デッドロックに関する問題(DBMS)
- 令和7年度 秋期 午前Ⅱ 問12:ロールフォワードに関する問題(DBMS)
- 令和6年度 秋期 午前Ⅱ 問17:データウェアハウスに関する問題(ハッシュ)
- 令和2年度 10月 午前Ⅱ 問19:エクスプロイトコードの説明(ハッシュ)
- 令和2年度 10月 午前Ⅱ 問13:ハッシュ方式に関する問題(ハッシュ)
この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)