Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Lekcii_OBD.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
4.87 Mб
Скачать

3. Технологія b-дерева

Є найбільш популярним підходом до організації індексів у базах даних. З погляду зовнішнього логічного представлення B-дерево - це збалансоване гіллясте дерево в зовнішній пам'яті.

Збалансованість означає, що довжина шляху від кореня дерева до будь-якого його листа та сама.

Гіллястість дерева - це властивість кожного вузла дерева посилатися вузли-нащадки.

З погляду фізичної організації B-дерево є мультисписковою структурою сторінок зовнішньої пам'яті, тобто кожному вузлові дерева відповідає блок зовнішньої пам'яті (сторінка). При цьому внутрішні і листкові (кінці гілок) сторінки мають різну структуру.

К ожна сторінка індексу називається індексною сторінкою, або вузлом індексу.

Мал.13.1 Структура корення дерева та вузлів-гілок

Структура індексу починається на верхньому рівні з кореневого вузла. Кореневий вузол відповідає початковому індексу: це перші дані, до яких здійснюється доступ при пошуку даних.

Він містить містить ряд значень індексу, що включають значення ключа і покажчик на визначену індексну сторінку (яка називається вузлом-гілкою)

Почавши пошук з кореневого вузла і переміщаючи по вузлах індексу, система поступово "наближається" до потрібних даних.

a

b

c

...

Стр

А

aa

Ст

B

ba

ca

ab

bb

cb

...

ac

bc

cc

Ст

АА

aaa

aab

...

...

aac

Індекс діє в такий спосіб:

При співпаданні перших елементів розшукуваних даних “a” переходимо до індексної сторінки “a*”, при співпадані наступного елемента розшукуваних даних “aa” до індексної сторінки наступного рівня, що містить адреси елементів “aa*” і так до тих пір, поки не вийдемо на елемент індекса, що безпосередньо вказує на самі розшукувані дані.

Така організація роботи індексу дозволяє швидко знайти необхідне при невеликій кількості операцій пошуку.

Мал.13.2.Дерево пошуку з вузлами-гілками і вузлами-листками

Як і кореневий вузол, кожен вузол-гілка містить ряд індексних рядків у структурі індексної сторінки. Кожен індексний рядок указує на інший вузол-гілку або на вузол-лист (кінцевий вузол) (мал. 11.2). Вузол-лист є останнім рівнем індексу. На відміну від кореневого вузла кожен вузол-гілка містить також зв'язаний список вузлів-гілок того ж рівня. Іншими словами, вузол "знає" про суміжні вузли і про вузли більш низького рівня

Кожна група вузлів-галузей одного рівня в деревоподібній структурі називається рівнем індексу.

Кількість операцій звернення до зовнішньої пам’яті, які необхідні для досягнення вузлів-листів (вузлів самого нижнього рівня дерева), залежить від кількості рівнів індексу.

Якщо таблиця бази даних містить лише невелику кількість даних, то кореневий вузол може вказувати безпосередньо вузли-листи, і тоді для індексу взагалі не потрібно ніяких вузлів-гілок (мало ймовірна ситуація).

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]