令和6年秋期試験問題 午前Ⅱ 問3

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

  • 03a.png
  • 03i.png
  • 03u.png
  • 03e.png
正解 問題へ
分野 :テクノロジ系
中分類:データベース
小分類:トランザクション処理
解説
B+木インデックスは、木の深さが一定で、節点はキー値と子部分木へのポインタをもち、葉のみが値をもつ平衡木(バランス木)を用いたインデックス法です。関係データベースのインデックス法として現在最も普及しています。
03_1.png
B木やB+木において1つの節点に格納できるデータの個数は「次数」という数値で決まります。次数NのB+木の条件は次のとおりです。
  • 根から葉までの距離が等しい
  • 節は2×N個以下のキー値をもつ
  • 根以外の節はN個以上のキー値をもつ
  • 節は格納するキー値の数+1個の枝(ポインタ)をもつ
  • データは葉のみに格納される
  • 葉どうしは横方向のリストとして連結されている
  • 一見すると木の深さが同じように見えますが、AがC2へのポインタを持っていません。B・C1・Dには1回でアクセスできますが、C2へのアクセスにはポインタを2回参照する必要があります。よって、距離が一定という条件を満たしていません。
  • 正しい。木の深さが一定であり、それぞれの葉ノードのリンクが順序関係を保っているため、適切なB+木です。
  • CがC1とC2に分割されたため、B⇄C1⇄C2⇄D という順序関係になるはずです。C2の挿入位置が不適切で葉ノードの順序関係が崩れているので、B+木の条件を満たしません。
  • 木の深さが一定ではないのでB+木の条件を満たしません。

Pagetop