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

選択肢
- アア:中間ノードAからB、C1、Dの3つに矢印(Aから直接C2への矢印は無い)。リーフノードは B⇔C1⇔C2⇔D の順で相互連結。
- イイ:中間ノードAからB、C1、C2、Dの4つ全てに矢印。リーフノードは B⇔C1⇔C2⇔D の順で相互連結。
- ウウ:中間ノードAからB、C1、D、C2の4つ全てに矢印。リーフノードは B⇔C1⇔D⇔C2 の順で相互連結(DとC2が入れ替わった順序)。
- エエ:中間ノードAからB、C1、Dの3つに矢印(Aから直接C2への矢印は無い)。リーフノードは B⇔C1⇔D で連結し、C2はC1の下にぶら下がる形でC1とだけ連結(主鎖から外れた位置)。
正解と解説
正解:イ イ:中間ノードAからB、C1、C2、Dの4つ全てに矢印。リーフノードは B⇔C1⇔C2⇔D の順で相互連結。
B+木ではすべてのキーがリーフノードに置かれ、リーフ同士が順次アクセス用のポインタで連結される。リーフが分割されたときは、新しいリーフも親ノードから参照されるようポインタを追加し、リーフ間の連結もキー順を保つよう張り替える必要がある。したがって親AからB・C1・C2・Dの4つすべてへポインタがあり、リーフがB⇔C1⇔C2⇔Dの順で連結された構造が正しい。
選択肢ごとの解説
- ア分割で生じたC2への親からのポインタが無く、Aから直接C2へたどれない。
- イ正解。親から全リーフへポインタがあり、リーフ間もキー順に連結されている。
- ウリーフの連結順序がキー順になっておらず、順次アクセスが正しく行えない。
- エC2が主鎖から外れており、B+木の階層構造・連結構造の両方に反する。
同じ分野の他の問題
- “売上”表への次の検索処理のうち、B木インデックスよりもハッシュインデックスを設定した方が適切なものはどれか。ここで、イ…2025年度 秋期 午前 問27
- SQL文に示す参照制約が存在する"商品"表と"受注"表とがある。"商品"表の行を削除したとき,削除した行の商品コードと同…2025年度 春期 午前 問27
- 関係を第2正規形から第3正規形に変換する手順はどれか。2025年度 春期 午前 問26
- UMLを用いて表した図のデータモデルを関係データベース上に実装する際の解釈のうち,適切なものはどれか。2025年度 春期 午前 問25
- 次のオブジェクト図(インスタンスを表す図)に対応する概念データモデルはどれか。ここで、オブジェクト図及び概念データモデル…2024年度 秋期 午前 問29
最終更新:2026-08-25/解説・選択肢ごとの解説は資格暗記が独自に作成しています。問題文と選択肢の出典は上記のとおりです。