
Презентации БД (ВФ) / DB_lec10
.pdf
Операция удаления элемента B-дерева
•Удаляемый ключ находится в листе дерева
•Удаляемый ключ находится в промежуточном узле дерева
–замещается следующим за ним элементом (минимальный ключ из правого поддерева)
–замещается предшествующим ему элементом (максимальный ключ из левого поддерева)

Операция удаления элемента B-дерева
Вцелевом листе находится более чем n элементов (n – степень В-дерева)
Пример: фрагмент В-дерева степени 2; удаляется ключ 20
20 42
. . .
. . . |
29 |
35 |
|
|
|
|
. . . |
. . . |
21 |
25 |
27 |
|
|
|
|

Операция удаления элемента B-дерева
Вцелевом листе находится только n ключей – минимально допустимое количество
При удалении ключа нарушается свойство В- дерева
1.Перераспределение ключей
2.Слияние узлов

Операция удаления элемента B-дерева. Перераспределение элементов
Соседний лист, подчиненный тому же ключу, что и целевой, содержит
n + m + 1 ключ, m ≥ 0
Общее количество ключей:
(n – 1) + 1 + (n + m + 1) = 2n + 1 + m, m ≥ 0
Перераспределение:
(n + d) + 1 + (n + m – d), d ≥ 0

Операция удаления элемента B-дерева. Перераспределение элементов
Пример: фрагмент В-дерева степени 3; удаляется ключ 276
191, 196, 201, 210, 211, 253, 255, 293
. . . 189 253 510 . . .
191 195 201 210 211 255 276 293

Операция удаления элемента B-дерева. Слияние листьев
Соседние листья содержат только по n ключей
Общее количество ключей: (n – 1) + 1 + n = 2n
Удаляется один из листьев
Удаляется ключ из родительского узла

Операция удаления элемента B-дерева. Слияние листьев
Пример: фрагмент В-дерева степени 2; удаляется ключ 15
32 75 92
8 |
15 |
42 |
52 |

Операция удаления элемента B-дерева. Слияние листьев
Удаляется ключ 77
64
19 |
81 |
10 |
25 |
77 |
93 |

Основные свойства B-дерева.
1.Ключи и ассоциированные с ними данные (RowID) хранятся во всех узлах В-дерева
2.Произвольная выборка данных выполняется эффективно
3.Последовательная выборка данных мало эффективна
B+ дерево
Два типа узлов В+ дерева:
•внутренние узлы – представляют собой В- дерево индексов; содержат только ключи
•листья – объединены в двухсвязный список; содержат все ключи и ассоциированные с ними данные (RowID)