関係データベースのテーブルにレコードを1件追加したところ、インデックスとして使う、B+木のリーフノードCがノードC1とC2に分割された。ノード分割後のB+木構造はどれか。ここで、矢印はノードへのポインタとする。また、中間ノードAには十分な空きがあるものとする。
リーフ分割後も2つとも親直下、リーフ列はキー順連結

選択肢
- ア分割前:A→B,C,D(B,C,Dは相互にポインタで連結)。選択肢ア:AがB,C1,Dの3ノードを指し(C2は直接指さない)、B↔C1↔C2↔Dの順で連結。
- イ選択肢イ:AがB,C1,C2,Dの4ノードを指し、B↔C1↔C2↔Dの順で連結。
- ウ選択肢ウ:AがB,C1,D,C2の順に指し、B↔C1↔D↔C2の順で連結。
- エ選択肢エ:AがB,C1,Dの3ノードのみを指し、C2はC1の下にぶら下がる形で連結(AはC2を直接指さない)。
正解と解説
正解:イ 選択肢イ:AがB,C1,C2,Dの4ノードを指し、B↔C1↔C2↔Dの順で連結。
B+木でリーフがあふれて分割されると、分割後の2つのリーフはどちらも親(中間ノード)から直接ポインタで参照される。親に空きがある前提なので、親へキーとポインタを1つ追加するだけで済み、それ以上は上位へ波及しない。またB+木のリーフはキー順の双方向リストでつながっているため、分割後もキーの順序どおりに前後のリーフと連結し直される。この2条件を同時に満たす構造が正解となる。
選択肢ごとの解説
- ア親から4つのリーフを指す点は合っているが、リーフ間の連結関係が分割後のキー順を正しく保っていない。
- イ正しい。分割後の2ノードがともに親から直接参照され、かつリーフ列がキー順の連結を保っている。
- ウリーフの並び順が分割前のキー順序と食い違っており、順次検索が正しく行えない。
- エ分割で生じたノードの一方が親から直接指されておらず、リーフを同一段にそろえるB+木の性質に反する。
同じ分野の他の問題
- RDBMSのクラスタ化インデックスに関する記述のうち、適切なものはどれか。2025年度 秋期 午前II 問13
- 転置インデックスに関する記述として、適切なものはどれか。2024年度 秋期 午前II 問4
- "部品"表のメーカーコード列に対し、B+木インデックスを作成した。これによって、"部品"表の検索の性能改善が最も期待でき…2023年度 秋期 午前II 問13
- B+木インデックスが定義されている候補キーを利用して、1件のデータを検索するとき、データ総件数Xに対するB+木インデック…2023年度 秋期 午前II 問4
- B+木インデックスとビットマップインデックスを比較した説明のうち、適切なものはどれか。2018年度 春期 午前II 問15
最終更新:2026-08-25/解説・選択肢ごとの解説は資格暗記が独自に作成しています。問題文と選択肢の出典は上記のとおりです。