忍者ブログ
情報処理技術者試験の合格を目指す全受験者のための、1問1問「徹底解説」ブログです。単なる過去問の暗記ではなく、なぜその答えになるのかを本質的に理解できるよう解説します。書籍などでは学べない最新用語やトレンドを踏まえてご紹介します。

【データベース】インデックス検索の出発点!木構造の最上位「ルートノード」|情報処理問題1000本ノック

基本情報技術者試験や応用情報技術者試験のデータベース・データ構造分野で頻出の必須キーワード。B+木インデックスの構造と各ノード(ルート・中間・リーフ)の役割関係を攻略しましょう。

1. 【 問題 】:データベース系(インデックス・データ構造)

【 問題 】 リレーショナルデータベースのインデックスなどで利用されるB+木(木構造)に関する記述です。データの検索(探索)を行う際の起点となる、ツリー構造の最上位に位置する階層のノードは、次のうちどれか。

(ア)リーフノード(葉ノード)
(イ)ルートノード(根ノード)
(ウ)ブランチノード(中間ノード)
(エ)ペアレントノード(親ノード)

2. 正解:

正解:(イ)ルートノード(根ノード)

3. 解説:「木を『上下逆さま』にしてイメージするのがツリー構造!」

IT分野の木構造(ツリー構造)は、**「根(ルート)」が一番上にあり、下に向かって枝分かれし、末端に「葉(リーフ)」がある**逆さまの植物として描かれます。
データベースで目的のデータ(レコード)を探す際は、必ず最上位のルートノードから探索を開始し、値の大小を比較しながら分岐をたどっていきます。

最上位にルートノード、中間にブランチノード、最下層にリーフノードが配置されたツリー構造の概念図
【ツリー構造(B+木インデックス)の階層用語比較】 ← 超頻出ポイント!

ノードの名称階層での位置役割・格納されている情報
(イ)ルートノード
(根ノード)
最上位(頂点) 探索の「スタート地点」。下位階層(子ノード)への分岐情報を持つ。
(ウ)中間ノード
(ブランチノード)
ルートとリーフの間 探索経路をさらに絞り込むためのインデックス・ポインタ情報を保持。
(ア)リーフノード
(葉ノード)
最下層(末端) 実際の「インデックスキー値」と「実データ(テーブル行)への位置情報ポインタ」を保持。

1. 理解のコツ: 「本の目次」で例えてみましょう。
ルートノード:一番最初の「大見出し(1章〜5章はこちら)」。
中間ノード:「中見出し(2.1節〜2.3節はこちら)」。
リーフノード:目的のページ番号が書かれた「末端の索引(実データへのポインタ)」です。

2. 試験対策の視点: データベースの性能チューニング(B+木インデックス)の根幹用語です。
問題文に「ツリー構造の最上位」「インデックスの起点/頂点」と出たらルートノード「ツリー構造の最下層/末端」「実際のポインタ値を保持」と出たらリーフノードを選択しましょう!


4. まとめ

ツリー構造(木構造)データベースやインデックスにおいて、探索の起点となる最上位のノード。これがルートノード(根ノード)です。最下層の「リーフノード」との位置関係をしっかり対比してマスターしておきましょう!

PR