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

選択肢
- ア中間ノード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つのリーフノードへポインタが伸びる。リーフノード同士はB↔C1↔Dの順に双方向リンクでつながり、さらにC1の下にC2がぶら下がり、C1とC2の間が上下方向の矢印でつながる。
正解と解説
正解:イ 中間ノードAから、B、C1、C2、Dの4つのリーフノードへポインタが伸びる。リーフノード同士はB↔C1↔C2↔Dの順に双方向リンクでつながる。
B+木ではすべてのリーフノードが同じ深さに置かれ、リーフは親ノードから直接ポインタで指される。リーフCが分割されてC1とC2になった場合、両方とも親である中間ノードAの直下に並び、キー値の順序どおりに B→C1→C2→D とリーフ同士が順次リンクされる。中間ノードAには空きがあるので木の高さは変わらない。
選択肢ごとの解説
- アリーフの並びは正しいが、中間ノードAからのポインタとキー値の対応が正しく張られておらず、探索が破綻する。
- イ正しい。C1とC2がともにAの直下に置かれ、B→C1→C2→Dのキー順でリンクされた形が分割後の正しい構造である。
- ウリーフの並びがB→C1→D→C2となっており、キー値の昇順にならないため誤りである。
- エC2をC1の下にぶら下げるとリーフの深さが揃わなくなり、すべてのリーフが同じ高さにあるというB+木の性質に反する。
同じ分野の他の問題
- 関係データベースのビューに関する記述のうち、適切なものはどれか。2025年度 秋期 問9
- BASE特性を満たし、次の特徴をもつNoSQLデータベースシステムに関する記述のうち、適切なものはどれか。 〔NoSQL…2025年度 秋期 問8
- SQL文に示す参照制約が存在する"商品"表と"受注"表とがある。"商品"表の行を削除したとき、削除した行の商品コードと同…2025年度 春期 問10
- 関係を第2正規形から第3正規形に変換する手順はどれか。2025年度 春期 問9
- 化粧品の製造を行っているA社では、販売代理店を通じて商品販売を行っている。今後の販売戦略に活用するために、次の三つの表を…2024年度 秋期 問10
最終更新:2026-08-25/解説・選択肢ごとの解説は資格暗記が独自に作成しています。問題文と選択肢の出典は上記のとおりです。