平成30年度 高度共通 午前I(PM試験) 問8

分野:データベース(関係モデル・正規化・SQL・トランザクション/排他制御・障害回復・NoSQL・データベース設計)|実際に出題されたIPA過去問題

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

問題の図表(IPA公式問題冊子より引用)
図表:IPA公式問題冊子より

※選択肢ア〜エは上の図表内に記載されています。

解答・解説を見る

正解:イ

AI解説

B+木では、リーフノードが満杯になって分割されると、分割後の2つのノード(C1,C2)の区切りとなるキーが親の中間ノードに追加され、親からC1とC2の両方へポインタが張られる。また、B+木のリーフは順次アクセスのために隣接リーフ同士がリンクされ、全ての要素は左から昇順に並ぶ。この2条件を満たす図が正解となる。 ア: 分割後のC1・C2の一方しか親から指されていない、又はキーの昇順が崩れている構造であり、B+木の性質を満たさない。 イ: 正解。親ノードAに分割キーが追加され、AからC1とC2の双方へポインタが張られた正しいB+木構造である。 ウ: C1からC2へ中間ノードを介さず縦にぶら下がるなど、木の高さのバランス(全リーフが同じ深さ)が崩れた構造であり誤り。 エ: 分割キーが親に昇格していない、又はポインタの張り方がB木・二分木的な構造であり、B+木のノード分割規則に反する。 💡 B+木の挿入は「リーフ分割→中央キーを親へコピーして昇格→親から両ノードを指す」が基本動作。全リーフの深さが等しく、キーが左から昇順という不変条件で図を検証すると速い。

出典:平成30年度 秋期 プロジェクトマネージャ試験 午前I 問8 / 独立行政法人情報処理推進機構(IPA)
※Web掲載用に表記を一部変更しています。図表はIPA公式問題冊子から引用しています。著作権はIPAに帰属します。
📱 演習アプリで解く(無料・登録不要・904問収録)

「データベース」分野の攻略ポイント

関係モデル・正規化・SQL・トランザクション管理・障害回復・データベース設計が中心です。計算問題は少なく、定義と手順を正確に覚えていれば確実に得点できる、いわば「取りこぼしてはいけない」分野です。特に正規形とACID特性は毎年のように形を変えて出ます。

データベースの攻略ポイントをすべて見る(要点5項目・ひっかけ3項目)→

同じ分野(データベース(関係モデル・正規化・SQL・トランザクション/排他制御・障害回復・NoSQL・データベース設計))の過去問