平成29年度 春期 午前 問27
データベース
ソートマージ結合法に関する記述
RDBMS が二つの表を結合する方法のうち,ソートマージ結合法に関する記述はどれか。
- ア一方の表の結合する列がインデックスに含まれている場合,もう一方の表の結合する列とインデックスの値で結合する。
- イ一方の表の結合する列の値でハッシュ表を作成し,もう一方の表の結合する列と結合する。
- ウ一方の表の結合する列の値を順に読み出し,もう一方の表の結合する列と結合する。
- エ結合する列の値で並べ替えたそれぞれの表の行を,先頭から順に結合する。
答えと解説を見る
✓ これが正解エ結合する列の値で並べ替えたそれぞれの表の行を,先頭から順に結合する。
解説
両方を結合列で並べ替えてから、先頭どうしを突き合わせます。
ソートマージ結合法は、名前がそのまま手順を表しています。まず結合に使う列の値で、二つの表をそれぞれ並べ替えました。どちらも同じ順に整ったので、先頭から順に読み進められます。値が小さいほうの表を一つ進め、そろったところで結び付けました。だから並べ替えてから先頭から結ぶ、という肢が当たりました。索引に含まれる列で結ぶ手は、別の名で呼ばれています。片方の索引を引きながら、もう一方の値を当てていきました。目当ての行へ直接飛べるので、絞り込まれた場面で速くなります。片方から一時的な対応表を作る手も、また別の方式です。計算した値で置き場を決め、そこへ当てにいきました。順に読み出して総当たりで当てる手は、最も素朴なやり方です。並べ替えるかどうかが、この方式を見分ける印になりました。
ほかの選択肢はなぜ違うのか
- ア一方の表の結合する列がインデックスに含ま…:索引に含まれる列で結ぶと述べています。索引の値で相手を引き当てます。目当ての行へ直接飛べる方式です。並べ替える手順は出てきません。先頭から順に突き合わせてもいないのです。別の名で呼ばれる方式でした。索引が必要な点も違いました。
- イ一方の表の結合する列の値でハッシュ表を作…:片方から一時的な対応表を作ると述べています。計算した値で置き場を決める方式でした。そこへもう一方を当てにいきます。やはり並べ替えは行いません。順序に頼らない結び方です。仕組みが違いました。一時的な置き場を作ります。
- ウ一方の表の結合する列の値を順に読み出し,…:片方の値を順に読み出すと述べています。読むたびに、もう一方の表を当たりました。最も素朴な総当たりの方式です。どちらも並べ替えていません。先頭から一度ずつ通る形にもなりません。手順が別でした。表の大きさに弱い方式でした。
この問題の用語
- ハッシュハッシュ関数で作られた値そのもの。元に戻せないので、中身を見せずに同じかどうかだけを確かめるのに使えます。
出典:平成29年度 春期 基本情報技術者試験 午前 問27
同じ用語が出る問題
- 令和5年度 科目B 問4:ハッシュに関する問題(ハッシュ)
- 平成31年度 春期 午前 問18:理想的なハッシュ法の説明(ハッシュ)
- 平成30年度 春期 午前 問7:表探索におけるハッシュ法の特徴(ハッシュ)
- 平成27年度 秋期 午前 問26:キー値に関する問題(ハッシュ)
- 平成26年度 秋期 午前 問27:ハッシュインデックスに関する問題(ハッシュ)
この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)