IPA過去問ドリル

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

テクノロジ/データベース

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

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

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

正解:イ

解説

B⁺木のリーフノードは,キー順に並んだ兄弟ノード間を双方向のポインタで結ぶ連結リストになっています。ノード C が C1,C2 に分割されると,元の並び順(B → C → D)を保ったまま,C の位置に C1,C2 が挿入されるように連結リストが張り替えられ,さらに中間ノード A から C1,C2 のそれぞれへ新たにポインタが張られます。

選択肢ごとの解説

  • 誤り。分割後のリーフノードの並びが B,C1,C2,D となっていますが,中間ノード A から C2 への直接のポインタが張られておらず,B⁺木として不完全です。
  • 正しい。B,C1,C2,D の順にリーフノードが正しく連結され,中間ノード A から C1,C2 の両方へポインタが張られており,ノード分割後の B⁺木構造として適切です。
  • 誤り。リーフノードの並びが B,C1,D,C2 となっており,キー順による連結順序が崩れています。
  • 誤り。C2 が C1 の下位階層に配置されており,リーフノード間の連結リストとしての構造になっていません。
データベーススペシャリストの過去問を演習モードで解く