過去問解きまくり研究所 ホーム

令和6年度 秋期 午前Ⅱ 問3

トランザクション処理

ノード分割後のB^+木構造

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

分割前のB^+木(原典は図。ノードとポインタ(矢印)を書き写した。⇄は両方向の矢印):

(外部)→ A
A → B,A → C,A → D
リーフの並び: B ⇄ C ⇄ D

選択肢は原典では図(ノードとポインタ)。

答えと解説を見る

✓ これが正解イ(原典は図。A → B,A → C1,A → C2,A → D。リーフの並び: B ⇄ C1 ⇄ C2 ⇄ D)

解説

分割後は親Aが C1 と C2 を指し、葉は B、C1、C2、D の順です。

B+木では、すべてのデータが葉ノードに置かれ、葉ノードはキーの順に横方向のポインタでつながっています。葉ノードCがあふれて C1 と C2 に分割されると、C の内容がキーの順に前半と後半へ分かれます。分割で生まれた新しい葉にも根から到達できるように、親である中間ノードAに、C2 を指すポインタと境目のキーを追加します。Aには十分な空きがあるので、Aが分割されることはありません。葉同士のつながりも、B、C1、C2、D とキーの順に張り直されます。見分ける軸は、親から新しい葉へのポインタがあるか、葉のつながりがキーの順か、葉がすべて同じ深さにあるかの三点です。

ほかの選択肢はなぜ違うのか

この問題の用語

出典:令和6年度 秋期 データベーススペシャリスト試験 午前Ⅱ 問3

同じ用語が出る問題

この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)