平成31年度 春期 午前Ⅱ 問17
データベース応用
結合演算に関する問題
分散型データベースで結合演算を行うとき,通信負荷を最も小さくすることができる手法はどれか。ここで,データベースは異なるコンピュータ上に格納されて,かつ結合演算を行う表の行数が,双方で大きく異ならないものとする。
- ア入れ子ループ法
- イインデックスジョイン法
- ウセミジョイン法
- エマージジョイン法
答えと解説を見る
✓ これが正解ウセミジョイン法
解説
結合に使う列の値だけを送るセミジョイン法が、通信量を最も小さくできます。
分散型データベースで別々のコンピュータにある表を結合するとき、負担になるのはコンピュータの間で送るデータの量です。セミジョイン法では、まず一方の表から結合に使う列の値だけを取り出して相手のコンピュータへ送り、相手側でその値と結合できる行だけを選び出して送り返し、最後に結合を完成させます。表を丸ごと送らず、結合に関係する列と結合に成功する行だけをやり取りするので、通信量を小さく抑えられます。結合の計算の手順を表す名前と、送るデータを減らす工夫を表す名前を分けて考えると、見分けやすくなります。
ほかの選択肢はなぜ違うのか
- ア入れ子ループ法:入れ子ループ法は、一方の表の各行について、もう一方の表の全行を調べる結合の手順です。表が別のコンピュータにあると相手の表の行を取り寄せて調べることになり、送るデータを減らす工夫は含まれていません。
- イインデックスジョイン法:インデックスジョイン法は、一方の表の値を使って、もう一方の表に作った索引を引いて結合する手順です。検索を速める工夫であり、コンピュータの間で送るデータを列の値だけに減らすものではありません。
- エマージジョイン法:マージジョイン法は、二つの表を結合に使う列の順に整列してから先頭から突き合わせる手順です。整列した表をどちらかのコンピュータに集める必要があり、送るデータを減らす工夫にはなっていません。
この問題の用語
- データベースたくさんのデータを決まった形で貯め、探したり書き換えたりできるようにした仕組み。多くの人が同時に使うことを前提にしています。
出典:平成31年度 春期 データベーススペシャリスト試験 午前Ⅱ 問17
この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)