[第15回]国家試験解説[AP令和5年秋]

応用情報技術者試験 令和5年秋期 問26

“売上”表への次の検索処理のうち,B+木インデックスよりもハッシュインデックスを設定した方が適切なものはどれか。ここで,インデックスを設定する列を<>内に示す。
 売上 (伝票番号,売上年月日,商品名,利用者ID,店舗番号,売上金額)

ア:売上金額が1万円以上の売上を検索する。<売上金額>

イ:売上年月日が今月の売上を検索する。<売上年月日>

ウ:商品名が’DB’で始まる売上を検索する。<商品名>

エ:利用者IDが’1001’の売上を検索する。<利用者ID>

出典 IPA公開[過去問題]:https://www.ipa.go.jp/shiken/mondai-kaiotu/ps6vr70000010d6y-att/2023r05a_ap_am_qs.pdf

B+木インデックスとは

リレーショナルデータベースシステム(RDBMS)で活用されている木構造を使ったデータ管理方法です。各データが次につながるデータ(子要素)のポインタ(位置情報)を持っているので範囲を絞る検索を素早く行えます。他にも大量データに対する高速操作、高速な整列処理などが可能です。

ハッシュインデックスとは

格納するデータに対してハッシュ関数を使うことで格納する位置を特定することができる方法です。この方法を使うことで基本的には格納するデータからそのデータが格納されている場所を一発で特定することができます。※ただし、違う格納データであってもハッシュ関数によって変換された値(ハッシュ値)が同じになる(ハッシュ値が衝突する)可能性があります。

B+木インデックスのように範囲検索はできませんが、任意の1つのデータを探す上ではB+木インデックスより高速に検索することができます。

正解は「エ:<利用者ID>」です。