Podstawy Informatyki. Metody dostępu do danych

Podobne dokumenty
Tadeusz Pankowski

Podstawy Informatyki Metody dostępu do danych

< K (2) = ( Adams, John ), P (2) = adres bloku 2 > < K (1) = ( Aaron, Ed ), P (1) = adres bloku 1 >

Drzewo. Drzewo uporządkowane ma ponumerowanych (oznaczonych) następników. Drzewo uporządkowane składa się z węzłów, które zawierają następujące pola:

Wykład 2. Drzewa zbalansowane AVL i 2-3-4

Bazy danych. Andrzej Łachwa, UJ, /15

PLAN WYKŁADU BAZY DANYCH INDEKSY - DEFINICJE. Indeksy jednopoziomowe Indeksy wielopoziomowe Indeksy z użyciem B-drzew i B + -drzew

Definicja pliku kratowego

WSTĘP DO INFORMATYKI. Drzewa i struktury drzewiaste

Wykład 8. Drzewa AVL i 2-3-4

Algorytmy i struktury danych. wykład 5

Bazy danych - BD. Indeksy. Wykład przygotował: Robert Wrembel. BD wykład 7 (1)

Drzewa binarne. Drzewo binarne to dowolny obiekt powstały zgodnie z regułami: jest drzewem binarnym Jeśli T 0. jest drzewem binarnym Np.

ZASADY PROGRAMOWANIA KOMPUTERÓW ZAP zima 2014/2015. Drzewa BST c.d., równoważenie drzew, kopce.

Algorytmy i. Wykład 5: Drzewa. Dr inż. Paweł Kasprowski

Wyszukiwanie w BST Minimalny i maksymalny klucz. Wyszukiwanie w BST Minimalny klucz. Wyszukiwanie w BST - minimalny klucz Wersja rekurencyjna

Plan wykładu. Klucz wyszukiwania. Pojęcie indeksu BAZY DANYCH. Pojęcie indeksu - rodzaje indeksów Metody implementacji indeksów.

PODSTAWY BAZ DANYCH Wykład 6 4. Metody Implementacji Baz Danych

Wysokość drzewa Głębokość węzła

Każdy węzeł w drzewie posiada 3 pola: klucz, adres prawego potomka i adres lewego potomka. Pola zawierające adresy mogą być puste.

Haszowanie (adresowanie rozpraszające, mieszające)

Porządek symetryczny: right(x)

Drzewa poszukiwań binarnych

Dynamiczny przydział pamięci w języku C. Dynamiczne struktury danych. dr inż. Jarosław Forenc. Metoda 1 (wektor N M-elementowy)

. Podstawy Programowania 2. Drzewa bst - część druga. Arkadiusz Chrobot. 12 maja 2019

Sortowanie bąbelkowe

Uniwersytet Zielonogórski Instytut Sterowania i Systemów Informatycznych. Algorytmy i struktury danych Laboratorium 7. 2 Drzewa poszukiwań binarnych

Podstawy programowania 2. Temat: Drzewa binarne. Przygotował: mgr inż. Tomasz Michno

Algorytmy i struktury danych. Wykład 4 Tablice nieporządkowane i uporządkowane

Drzewa BST i AVL. Drzewa poszukiwań binarnych (BST)

Wykład 2. Drzewa poszukiwań binarnych (BST)

ALGORYTMY I STRUKTURY DANYCH

Przykładowe B+ drzewo

Algorytmy i Struktury Danych, 9. ćwiczenia

Indeksy. Wprowadzenie. Indeksy jednopoziomowe indeks podstawowy indeks zgrupowany indeks wtórny. Indeksy wielopoziomowe

Wykład 6. Drzewa poszukiwań binarnych (BST)

Kolejka priorytetowa. Często rozważa się kolejki priorytetowe, w których poszukuje się elementu minimalnego zamiast maksymalnego.

Indeksy. Schematyczne ujęcie organizacji pamięci i wymiany danych systemu pamiętania.

Algorytmy i Struktury Danych

Przypomnij sobie krótki wstęp do teorii grafów przedstawiony na początku semestru.

Bazy danych. Plan wykładu. Model logiczny i fizyczny. Operacje na pliku. Dyski. Mechanizmy składowania

Struktury Danych i Złożoność Obliczeniowa

prowadzący dr ADRIAN HORZYK /~horzyk tel.: Konsultacje paw. D-13/325

Podstawy Informatyki. Wykład 6. Struktury danych

Teoretyczne podstawy informatyki

BAZY DANYCH. Microsoft Access. Adrian Horzyk OPTYMALIZACJA BAZY DANYCH I TWORZENIE INDEKSÓW. Akademia Górniczo-Hutnicza

AiSD zadanie drugie. Gliwiński Jarosław Marek Kruczyński Konrad Marek Grupa dziekańska I5. 10 kwietnia 2008

Wykład X. Programowanie. dr inż. Janusz Słupik. Gliwice, Wydział Matematyki Stosowanej Politechniki Śląskiej. c Copyright 2016 Janusz Słupik

Lista liniowa dwukierunkowa

Algorytmy i struktury danych

Drzewa poszukiwań binarnych

Listy, kolejki, stosy

Drzewa podstawowe poj

wykład Organizacja plików Opracował: dr inż. Janusz DUDCZYK

Drzewo binarne BST. LABORKA Piotr Ciskowski

sprowadza się od razu kilka stron!

Kompresja danych Streszczenie Studia Dzienne Wykład 10,

Algorytmy i struktury danych

Drzewa wyszukiwań binarnych (BST)

Sortowanie. Bartman Jacek Algorytmy i struktury

Tablice z haszowaniem

Drzewa czerwono-czarne.

Wykład 3. Złożoność i realizowalność algorytmów Elementarne struktury danych: stosy, kolejki, listy

liniowa - elementy następują jeden za drugim. Graficznie możemy przedstawić to tak:

ALGORYTMY I STRUKTURY DANYCH

ALGORYTMY I STRUKTURY DANYCH

BAZY DANYCH. Microsoft Access. Adrian Horzyk OPTYMALIZACJA BAZY DANYCH I TWORZENIE INDEKSÓW. Akademia Górniczo-Hutnicza

Koszt zamortyzowany. Potencjał - Fundusz Ubezpieczeń Kosztów Algorytmicznych

EGZAMIN - Wersja A. ALGORYTMY I STRUKTURY DANYCH Lisek89 opracowanie kartki od Pani dr E. Koszelew

Wstęp do programowania. Drzewa podstawowe techniki. Piotr Chrząstowski-Wachtel

Teoretyczne podstawy informatyki

OSTASZEWSKI Paweł (55566) PAWLICKI Piotr (55567) Algorytmy i Struktury Danych PIŁA

Wykład 3. Drzewa czerwono-czarne

Tablice z haszowaniem

Algorytmy i struktury danych. Wykład 6 Tablice rozproszone cz. 2

Matematyka dyskretna - 7.Drzewa

System plików przykłady. implementacji

PODSTAWY INFORMATYKI wykład 6.

Programowanie obiektowe

ZASADY PROGRAMOWANIA KOMPUTERÓW

Algorytmy i Struktury Danych

. Podstawy Programowania 2. Drzewa bst - część pierwsza. Arkadiusz Chrobot. 22 maja 2016

Struktury danych: stos, kolejka, lista, drzewo

Programowanie obiektowe

struktury danych dla operacji słownikowych

Sortowanie. Kolejki priorytetowe i algorytm Heapsort Dynamiczny problem sortowania:

Distributed Hash Tables i ich zastosowania

WYŻSZA SZKOŁA INFORMATYKI STOSOWANEJ I ZARZĄDZANIA

Optymalizacja poleceń SQL Metody dostępu do danych

Algorytmy i Struktury Danych. (c) Marcin Sydow. Słownik. Tablica mieszająca. Słowniki. Słownik uporządkowany. Drzewo BST.

Sortowanie - wybrane algorytmy

Wstęp do programowania

Bazy danych wykład ósmy Indeksy

Algorytm selekcji Hoare a. Łukasz Miemus

System plików przykłady implementacji

Drzewa AVL definicje

Algorytmy i struktury danych. Drzewa: BST, kopce. Letnie Warsztaty Matematyczno-Informatyczne

Tabela wewnętrzna - definicja

Porównanie czasów działania algorytmów sortowania przez wstawianie i scalanie

Struktura danych. Sposób uporządkowania informacji w komputerze. Na strukturach danych operują algorytmy. Przykładowe struktury danych:

Transkrypt:

Podstawy Informatyki c.d. alina.momot@polsl.pl http://zti.polsl.pl/amomot/pi

Plan wykładu 1 Bazy danych Struktury danych Średni czas odszukania rekordu Drzewa binarne w pamięci dyskowej 2 Sformułowanie problemu Zależność objętości bazy od wysokości drzewa Maksymalny czas dostępu 3 - wprowadzenie Odszukiwanie w B-drzewie

Bazy danych Plan wykładu Bazy danych Struktury danych Średni czas odszukania rekordu Drzewa binarne w pamięci dyskowej Baza danych - uporządkowany zbiór danych przechowywany w pamięci komputera. Dane reprezentowane są przez rekordy danych stanowiące uporządkowany zbiór elementów dowolnego typu umieszczony w tzw. polach, które zawierają klucz rekordu oraz jego atrybuty.

Podstawowe problemy baz danych Bazy danych Struktury danych Średni czas odszukania rekordu Drzewa binarne w pamięci dyskowej 1 Problem rozmieszczenia polega na podaniu takiego algorytmu A, który na podstawie klucza K i zawartego w rekordzie R i przydzieli miejsce (adres) dla tegoż rekordu w określonej strukturze S. 2 Problem odszukania rekordu R i w strukturze S polega na ustaleniu adresu tego rekordu, na podstawie klucza K i i algorytmu A. 3 Problem wyszukania występuje, gdy na podstawie atrybutów innych niż klucz należy wyszukać odpowiedni rekord 1. 1 rozwiązanie tego problemu polega na przetestowaniu pól wszystkich rekordów i porównaniu ich zawartości z wartością zadanego atrybutu

Struktury danych Plan wykładu Bazy danych Struktury danych Średni czas odszukania rekordu Drzewa binarne w pamięci dyskowej Podstawowe struktury danych to: struktury stałe ich rozmiar jest niezależny od zebranych w nich elementów, ustalony z góry i niezmienny w czasie wykonywania operacji na strukturze, m.in. tablice struktury dynamicznie zmienne ich rozmiar zależy od liczby zgromadzonych w nich elementów, m.in. listy, drzewa, sieci. Rekordy w takich strukturach mają jedno lub kilka dodatkowych pól, zwanych polami łącznikowymi lub wskaźnikowymi, zwykle zawierające adresy elementów połączonych z danym rekordem.

Drzewa Plan wykładu Bazy danych Struktury danych Średni czas odszukania rekordu Drzewa binarne w pamięci dyskowej Drzewo struktura, w której element może posiadać wiele następników, lecz tylko jednego poprzednika. Drzewo binarne liczba następników wynosi zero, jeden lub dwa. Drzewo BST (ang. Binary Search Tree) drzewo binarne, w którym lewe poddrzewo każdego węzła zawiera wyłącznie elementy o kluczach mniejszych niż klucz węzła a prawe poddrzewo zawiera wyłącznie elementy o kluczach większych. Drzewo AVL (Adelsona-Velskiego oraz Landisa) zrównoważone binarne drzewo poszukiwań (BST), w którym wysokość lewego i prawego poddrzewa każdego węzła różni się co najwyżej o jeden.

Przykłady drzew binarnych Bazy danych Struktury danych Średni czas odszukania rekordu Drzewa binarne w pamięci dyskowej

Średni czas odszukania Bazy danych Struktury danych Średni czas odszukania rekordu Drzewa binarne w pamięci dyskowej Średni czas odszukania opisuje wzór: L = gdzie: N c i p i, i=1 c i liczba prób wykonanych w celu odnalezienia i-tego rekordu, p i prawdopodobieństwo odwołania do i-tego rekordu, N wielkość przeszukiwanego zbioru danych.

Bazy danych Struktury danych Średni czas odszukania rekordu Drzewa binarne w pamięci dyskowej Średni czas odszukania - wyszukiwanie liniowe Założenia: prawdopodobieństwo odwołania do każdego z rekordów jest jednakowe. L = N c i p i = i=1 N i=1 i N = N + 1 = O(N) 2

Bazy danych Struktury danych Średni czas odszukania rekordu Drzewa binarne w pamięci dyskowej Średni czas odszukania - wyszukiwanie binarne Odszukanie rekordu w przypadku: optymistycznym wymaga 1 próby, pesymistycznym wymaga log 2 (N + 1) prób. Średni czas odszukania rekordu: N L = c i p i = O(log 2 (N)). i=1

Średni czas odszukania - drzewo BST Bazy danych Struktury danych Średni czas odszukania rekordu Drzewa binarne w pamięci dyskowej Wyszukiwanie w drzewie binarnym w przypadku: optymistycznym wymaga 1 próby, pesymistycznym wymaga N prób drzewo degeneruje się do listy, np. dla posortowanych danych. Średnio liczba prób wynosi: gdzie γ 0.577 jest stałą Eulera. L = 2(log 2 (N) + γ) 3, Drzewo wyważone skraca nam drogę poszukiwań średnio o 39%.

Drzewa binarne w pamięci dyskowej Bazy danych Struktury danych Średni czas odszukania rekordu Drzewa binarne w pamięci dyskowej Gdy drzewo binarne przechowywane jest na dysku, z każdym krokiem związany dostęp do dysku. Dla drzewa AVL - maksymalna liczba kroków log 2 N (wysokość drzewa).

Drzewa binarne w pamięci dyskowej Bazy danych Struktury danych Średni czas odszukania rekordu Drzewa binarne w pamięci dyskowej Gdy drzewo binarne przechowywane jest na dysku, z każdym krokiem związany dostęp do dysku. Dla drzewa AVL - maksymalna liczba kroków log 2 N (wysokość drzewa).

Drzewa binarne w pamięci dyskowej Bazy danych Struktury danych Średni czas odszukania rekordu Drzewa binarne w pamięci dyskowej Gdy drzewo binarne przechowywane jest na dysku, z każdym krokiem związany dostęp do dysku. Dla drzewa AVL - maksymalna liczba kroków log 2 N (wysokość drzewa).

Drzewa binarne w pamięci dyskowej Bazy danych Struktury danych Średni czas odszukania rekordu Drzewa binarne w pamięci dyskowej Gdy drzewo binarne przechowywane jest na dysku, z każdym krokiem związany dostęp do dysku. Dla drzewa AVL - maksymalna liczba kroków log 2 N (wysokość drzewa).

Drzewo wielokierunkowe Bazy danych Struktury danych Średni czas odszukania rekordu Drzewa binarne w pamięci dyskowej Własności drzewa: dla każdego składnika, z wyjątkiem pierwszego istnieje dokładnie jeden składnik poprzedni (poprzednik), każdy składnik posiada co najwyżej n (n 2) składników następnych (następników), pierwszy składnik (korzeń) nie posiada poprzednika, wszystkie składniki ostatnie (liście) nie mają następnika. Jeśli n = 2 to drzewo nazywamy drzewem binarnym. Gdy n > 2, drzewo nazywamy wielokierunkowym rzędu n. Każdą strukturę dającą się przedstawić w postaci drzewa wielokierunkowego można także przedstawić w postaci równoważnego drzewa binarnego.

Drzewo wielokierunkowe Bazy danych Struktury danych Średni czas odszukania rekordu Drzewa binarne w pamięci dyskowej

Sformułowanie problemu Sformułowanie problemu Zależność objętości bazy od wysokości drzewa Maksymalny czas dostępu wielokierunkowego Znalezienie takiej struktury drzewa wielokierunkowego, by dla danej objętości bazy V, czas odszukania rekordu danego kluczem był minimalny. Oznaczenia: h liczba poziomów drzewa, m i liczba elementów na stronie poziomu i, T D czas odczytu strony z dysku, T P czas realizacji operacji testu na danych w pamięci operacyjnej.

Sformułowanie problemu Zależność objętości bazy od wysokości drzewa Maksymalny czas dostępu Zależność objętości bazy od wysokości drzewa h liczba poziomów drzewa, m i liczba elementów na stronie poziomu i. V = m 1 + (m 1 + 1) m 2 (m 1 + 1) (m 2 + 1) m 3 + (m 1 + 1) (m 2 + 1) (m 3 + 1) m 4 +... (m 1 + 1) (m 2 + 1) (m 3 + 1)... (m h 1 + 1) m h

Sformułowanie problemu Zależność objętości bazy od wysokości drzewa Maksymalny czas dostępu Zależność objętości bazy od wysokości drzewa h liczba poziomów drzewa, m i liczba elementów na stronie poziomu i. V = (m 1 + 1) + (m 1 + 1) m 2 (m 1 + 1) (m 2 + 1) m 3 + (m 1 + 1) (m 2 + 1) (m 3 + 1) m 4 +... (m 1 + 1) (m 2 + 1) (m 3 + 1)... (m h 1 + 1) m h 1

Sformułowanie problemu Zależność objętości bazy od wysokości drzewa Maksymalny czas dostępu Zależność objętości bazy od wysokości drzewa h liczba poziomów drzewa, m i liczba elementów na stronie poziomu i. V = (m 1 + 1) (1 + m 2 (m 2 + 1) m 3 + (m 2 + 1) (m 3 + 1) m 4 +... (m 2 + 1) (m 3 + 1)... (m h 1 + 1) m h ) 1

Sformułowanie problemu Zależność objętości bazy od wysokości drzewa Maksymalny czas dostępu Zależność objętości bazy od wysokości drzewa h liczba poziomów drzewa, m i liczba elementów na stronie poziomu i. V = (m 1 + 1) (m 2 + 1) (1+... ) 1 m 3 + (m 3 + 1) m 4 + (m 3 + 1)... (m h 1 + 1) m h

Sformułowanie problemu Zależność objętości bazy od wysokości drzewa Maksymalny czas dostępu Zależność objętości bazy od wysokości drzewa h liczba poziomów drzewa, m i liczba elementów na stronie poziomu i. V = (m 1 + 1) (m 2 + 1) (m 3 + 1)... ) 1 (1+ m 4 +... (m h 1 + 1) m h

Sformułowanie problemu Zależność objętości bazy od wysokości drzewa Maksymalny czas dostępu Zależność objętości bazy od wysokości drzewa h liczba poziomów drzewa, m i liczba elementów na stronie poziomu i. V = (m 1 + 1) (m 2 + 1) (m 3 + 1)... (1 + m h ) 1 = h (m j + 1) 1 j=1

Maksymalny czas dostępu Sformułowanie problemu Zależność objętości bazy od wysokości drzewa Maksymalny czas dostępu Maksymalny czas dostępu wyraża się wzorem: h T max = h T D + T P m j. j=1 Przy założeniu, że T D = αt P oraz T P = 1 h h T max = h α + m j = (α + m j ). j=1 j=1 h liczba poziomów drzewa, m i liczba elementów na stronie poziomu i, T D czas odczytu strony z dysku, T P czas realizacji operacji testu na danych w pamięci operacyjnej.

Maksymalny czas dostępu Sformułowanie problemu Zależność objętości bazy od wysokości drzewa Maksymalny czas dostępu Maksymalny czas dostępu wyraża się wzorem: h T max = h T D + T P m j. j=1 Przy założeniu, że T D = αt P oraz T P = 1 h h T max = h α + m j = (α + m j ). j=1 j=1 h liczba poziomów drzewa, m i liczba elementów na stronie poziomu i, T D czas odczytu strony z dysku, T P czas realizacji operacji testu na danych w pamięci operacyjnej.

Sformułowanie problemu Zależność objętości bazy od wysokości drzewa Maksymalny czas dostępu Znaleźć przy ograniczeniu min T max = min m 1,m 2,...,m h,h m 1,m 2,...,m h,h h (α + m j ) j=1 h (m j + 1) 1 V = 0 j=1

Sformułowanie problemu Zależność objętości bazy od wysokości drzewa Maksymalny czas dostępu Znaleźć przy ograniczeniu min T max = min m 1,m 2,...,m h,h m 1,m 2,...,m h,h h (α + m j ) j=1 h (m j + 1) 1 V = 0 j=1 Jest to problem minimalizacji funkcji z ograniczeniami typu równościowego, które rozwiązuje się metodą mnożników Lagrange a.

Sformułowanie problemu Zależność objętości bazy od wysokości drzewa Maksymalny czas dostępu - rozwiązanie Zakładając, że wysokość drzewa h jest stała, struktura będzie optymalna, gdy rozmiary stron na każdym z poziomów będą takie same. Wtedy: Podsumowując: V = (m + 1) h 1 oraz T max = h(α + m). im większy współczynnik α tym bardziej opłaca się budować duże strony, czyli obniżać wysokość drzewa, większy rozmiar strony to większe zapotrzebowanie na pamięć operacyjną, konieczny jest rozsądny kompromis między zajętością pamięci a czasem odszukiwania rekordu.

Wady drzew BST - wprowadzenie Odszukiwanie w B-drzewie Drzewa BST, nawet w wersjach zrównoważonych, nie najlepiej nadają się do przechowywania na dysku komputera. Specyfika pamięci dyskowej polega na tym, że czas dostępu do niej jest znacznie (o kilka rzędów wielkości) dłuższy niż do pamięci wewnętrznej (RAM), odczyt i zapis danych dokonuje się większymi porcjami (zwanymi blokami lub stronami). Chaotyczne rozmieszczenie węzłów drzewa BST na dysku prowadzi do większej niż to naprawdę konieczne liczby dostępów.

- wprowadzenie - wprowadzenie Odszukiwanie w B-drzewie to drzewa poszukiwań wyższych rzędów wynalezione na początku lat sześćdziesiątych XX wieku przez Bayera i MacCreighta. W węźle drzewa poszukiwań rzędu n jest maksymalnie n wskaźników do synów oraz n-1 kluczy, które rozdzielają elementy poszczególnych poddrzew. Rozmiar węzła w B-drzewie dobiera się zwykle tak, aby możliwie dokładnie wypełniał on stronę na dysku. Zachowanie zrównoważenia umożliwione jest dzięki zmiennemu stopniowi wypełnienia węzłów.

- definicja - wprowadzenie Odszukiwanie w B-drzewie B-drzewo klasy t(h, m) jest drzewem pustym lub musi spełniać następujące własności: 1 korzeń jest liściem albo ma od 2 do 2m + 1 potomków, 2 wszystkie liście są na tym samym poziomie, 3 każdy węzeł wewnętrzny oprócz korzenia ma od m + 1 do 2m + 1 potomków i węzeł mający k potomków zawiera k-1 kluczy, 4 każdy liść zawiera od m do 2m kluczy.

- wnioski - wprowadzenie Odszukiwanie w B-drzewie Warunki (3) i (4) gwarantują wykorzystanie przestrzeni dysku przynajmniej w około 50%. Warunek (2) zapewnia niewielką wysokość drzewa, dla drzewa zawierającego N kluczy: log 2m+1 (N + 1) h 1 + log m+1 N + 1 2 Koszt odszukania w ch jest co najwyżej proporcjonalny do wysokości drzewa. Duża liczba m (np. 1024) jest kluczowa dla wydajności B-drzew.

Odszukiwanie w B-drzewie - wprowadzenie Odszukiwanie w B-drzewie Poszukiwanie klucza X rozpoczynamy od korzenia. W aktualnym węźle zawierającym klucze k 1 < k 2 <... < k n szukamy klucza X (sekwencyjnie lub binarnie). Jeśli to poszukiwanie kończy się niepowodzeniem, to: jeśli aktualny węzeł jest liściem - klucza X w ogóle nie ma w drzewie lub mając wyznaczony indeks i o tej własności, że k i 1 < x < k i (przy założeniu, że k 0 = oraz k n+1 = ), rekurencyjnie poszukujemy klucza x w poddrzewie o korzeniu wskazywanym przez p i.

Przykład odszukiwania w B-drzewie - wprowadzenie Odszukiwanie w B-drzewie Przykład klasy t(3,2)

Przykład odszukiwania w B-drzewie - wprowadzenie Odszukiwanie w B-drzewie Szukany rekord o kluczu 40

Przykład odszukiwania w B-drzewie - wprowadzenie Odszukiwanie w B-drzewie Szukany rekord o kluczu 15

Przykład odszukiwania w B-drzewie - wprowadzenie Odszukiwanie w B-drzewie Szukany rekord o kluczu 16

- wprowadzenie Odszukiwanie w B-drzewie Dołączanie poprzedzone jest algorytmem odszukania. Znany jest więc węzeł, do którego ma być dołączony element. Dołączenie może być bezkolizyjne i element dołączany jest w ten sposób, by zachować rosnące uporządkowanie wartości klucza na stronie, spowodować przepełnienie strony, gdy na stronie zapamiętanych jest już 2m elementów.

- wprowadzenie Odszukiwanie w B-drzewie W przypadku przepełnienia stosuje się metodę kompensacji, gdy jedna ze stron sąsiadujących ze stroną z przepełnioną zawiera mniej niż 2m elementów metodę podziału przepełnionej strony na dwie, co może wywołać potrzebę podziału na jeszcze wyższym poziomie i tak aż do korzenia. Konsekwencją podziału strony korzenia jest powiększenie wysokości drzewa, dlatego w pierwszym rzędzie stosuje się metodę kompensacji.

Przykład wstawiania w B-drzewie - wprowadzenie Odszukiwanie w B-drzewie Wstawiany rekord o kluczu 34 - odszukanie strony

Przykład wstawiania w B-drzewie - wprowadzenie Odszukiwanie w B-drzewie Wstawiany rekord o kluczu 34 - dołączenie bezkolizyjne

Przykład wstawiania w B-drzewie - wprowadzenie Odszukiwanie w B-drzewie Wstawiany rekord o kluczu 48 - przepełnienie

Przykład wstawiania w B-drzewie - wprowadzenie Odszukiwanie w B-drzewie Wstawiany rekord o kluczu 48 - metoda kompensacji

Przykład wstawiania w B-drzewie - wprowadzenie Odszukiwanie w B-drzewie Wstawiany rekord o kluczu 48 - przepełnienie

Przykład wstawiania w B-drzewie - wprowadzenie Odszukiwanie w B-drzewie Wstawiany rekord o kluczu 48 - metoda podziału

- wprowadzenie Odszukiwanie w B-drzewie również zaczyna się od odszukania węzła z kluczem do usunięcia. Jeśli znaleziony węzeł jest liściem, to element jest z niego usuwany. Jeśli znaleziony węzeł nie jest liściem, to 1 w miejsce usuwanego elementu, wpisywany jest element E min o najmniejszej wartości klucza z poddrzewa wskazywanego przez wskaźnik, stojący bezpośrednio po prawej stronie usuwanego elementu. 2 Element E min jest następnie wstawiany w miejsce elementu usuwanego i usuwany ze strony liścia.

- wprowadzenie Odszukiwanie w B-drzewie Usunięcie elementu może spowodować niedomiar (liczba elementów na stronie może spaść poniżej wartości m). W przypadku niedomiaru stosuje się metodę łączenia, gdy jedna ze stron sąsiadujących ze stroną z niedomiarem zawiera tylko m elementów, metodę kompensacji. Stosowanie operacji łączenia jest jedyną metodą zmniejszenia wysokości drzewa.

Przykład usuwania w B-drzewie - wprowadzenie Odszukiwanie w B-drzewie Usuwany rekord o kluczu 38 - usunięcie bezkolizyjne

Przykład usuwania w B-drzewie - wprowadzenie Odszukiwanie w B-drzewie Usuwany rekord o kluczu 48 - problem niedomiaru

Przykład usuwania w B-drzewie - wprowadzenie Odszukiwanie w B-drzewie Usuwany rekord o kluczu 48 - metoda łączenia

Przykład usuwania w B-drzewie - wprowadzenie Odszukiwanie w B-drzewie Usuwany rekord o kluczu 25 - znaleziony węzeł nie jest liściem, więc szukany jest element E min w odpowiednim poddrzewie

Przykład usuwania w B-drzewie - wprowadzenie Odszukiwanie w B-drzewie Usuwany rekord o kluczu 25 krok 1 - w miejsce usuwanego elementu, wpisywany jest element E min

Przykład usuwania w B-drzewie - wprowadzenie Odszukiwanie w B-drzewie Usuwany rekord o kluczu 25 krok 2 - ostateczne usunięcie jest bezkolizyjne