DBデータベーススペシャリスト試験 午前Ⅱ
平成23年度特別 データベーススペシャリスト 午前Ⅱ 問16
問題文と選択肢を読んで答えを考えてから、下の「正解と解説を見る」で確認しましょう。
問題
選択肢
- アANDやOR操作だけで行える検索はB+木インデックスの方が有効である。
- イBETWEENを用いた範囲指定検索はビットマップインデックスの方が有効である。
- ウNOTを用いた否定検索はB+木インデックスの方が有効である。
- エ少数の異なる値をもつ列への検索はビットマップインデックスの方が有効である。
解き方のヒントを見る
索引探索を整理する一つの視点
索引を使う探索問題では、条件とデータの対応関係を整理し、どの情報を手掛かりに候補を絞るかという観点に集中して考えます。処理の流れを段階ごとに区切って確認しましょう。
この問題で問われていること
確認する観点は、検索条件が索引上の手掛かりとしてどの段階で使われ、そこから対象データへどう視線を移すかです。用語の役割を分け、順番を意識して丁寧に整理しましょう。
視点
探索の各段階で、条件、手掛かり、対象データという役割を分けて捉えます。用語同士の関係を図や短い言葉で整理し、処理の流れを落ち着いて確認しましょう。
確認ポイント
- 検索条件と参照する情報の役割を分ける
- 探索の流れを段階ごとに整理する
- 各段階で確認すべき対象を言葉にする
正解と解説を見る
正解
エ
解説
ビットマップインデックスは、列に含まれる異なる値が少ない場合、それぞれの値に対応するビット列を使って条件検索を効率よく処理できる。したがって、少数の異なる値をもつ列への検索ではビットマップインデックスが有効です。
理由
ビットマップインデックスは、列の値ごとに行の該当位置をビットで表す。性別や状態区分など、異なる値の種類が少ない列ではビット演算による検索を効率よく行えるため、少数の異なる値をもつ列に適している。
比較
B+木インデックスはキーの順序を利用し、範囲検索や等値検索などに広く利用される。一方、ビットマップインデックスは値の種類が少ない列で特に効果を発揮するため、設問ではその特徴を述べたエが適切です。
選択肢ア
これは不正解だよ。ANDやOR操作だけで行える検索だからB+木が有効になるのではない。ビットマップインデックスはビット演算によるANDやORと相性がよく、複数条件の組合せを効率よく処理できる場合があるため、この比較は逆である。
選択肢イ
これは不正解だよ。BETWEENを用いた範囲指定検索は、キーの順序を利用できるB+木インデックスが得意とする処理である。ビットマップインデックスは範囲検索全般に有効という特徴ではなく、値の種類が少ない列で効果を発揮する。
選択肢ウ
これは不正解だよ。NOTを用いた否定検索だからB+木の方が有効になるとは限らない。ビットマップインデックスでは、対象値に対応するビット列を反転するなど、ビット演算を利用して否定条件を処理できる場合があるため、この断定は適切でない。
選択肢エ(正解)
これは正解だよ。ビットマップインデックスは、列に含まれる異なる値が少ない場合に、値ごとのビット列を利用して検索できるため有効である。値の種類が少ない列ではビット列の組合せや演算を効率よく扱えるので、この説明が適切である。
学習のポイント
B+木とビットマップの得意な列や検索処理を整理する。
出典:独立行政法人 情報処理推進機構(IPA)平成23年度特別 データベーススペシャリスト試験 午前Ⅱ 問16(公式資料:問題冊子(PDF) / 解答例)
関連する過去問一覧
IPA Advancedは非公式の学習サイトです。解説にはAIによる補助生成を含む場合があります。公式の問題冊子・解答例・採点講評を優先し、誤りは確認後に訂正します。運営・編集方針