Plan wykładu Wprowadzenie Zadanie o optymalnej strukturze drzewa B-drzewa Podstawy Informatyki Metody dostępu do danych c.d. dr inż. Alina MOMOT [email protected] http://zti.polsl.pl/AMomot/pi dr inż. Alina MOMOT Metody dostępu do danych Plan wykładu Wprowadzenie Zadanie o optymalnej strukturze drzewa B-drzewa Plan wykładu 1 Wprowadzenie Bazy danych Struktury danych Średni czas odszukania rekordu Drzewa binarne w pamięci dyskowej 2 Zadanie o optymalnej strukturze drzewa Sformułowanie problemu Zależność objętości bazy od wysokości drzewa Maksymalny czas dostępu Zadanie o optymalnej strukturze drzewa 3 B-drzewa B-drzewa - wprowadzenie Odszukiwanie w B-drzewie Wstawianie w B-drzewie Usuwanie w B-drzewie dr inż. Alina MOMOT Metody dostępu do danych Plan wykładu Wprowadzenie Zadanie o optymalnej strukturze drzewa B-drzewa Bazy danych Struktury danych Średni czas odszukania rekordu Drzewa binarne w pamięci dyskowej Bazy danych 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. dr inż. Alina MOMOT Metody dostępu do danych Plan wykładu Wprowadzenie Zadanie o optymalnej strukturze drzewa B-drzewa Bazy danych Struktury danych Średni czas odszukania rekordu Drzewa binarne w pamięci dyskowej Podstawowe problemy baz danych 1 Problem rozmieszczenia polega na podaniu takiego algorytmu A, który na podstawie klucza Ki zawartego w rekordzie Ri przydzieli miejsce (adres) dla tegoż rekordu w określonej strukturze S. 2 Problem odszukania rekordu Ri w strukturze S polega na ustaleniu adresu tego rekordu, na podstawie klucza Ki i algorytmu A. 3 Problem wyszukania występuje, gdy na podstawie atrybutów innych niż klucz należy wyszukać odpowiedni rekord1 . 1 rozwiązanie tego problemu polega na przetestowaniu pól wszystkich rekordów i porównaniu ich zawartości z wartością zadanego atrybutu dr inż. Alina MOMOT Metody dostępu do danych Plan wykładu Wprowadzenie Zadanie o optymalnej strukturze drzewa B-drzewa Bazy danych Struktury danych Średni czas odszukania rekordu Drzewa binarne w pamięci dyskowej Struktury danych 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. dr inż. Alina MOMOT Metody dostępu do danych Plan wykładu Wprowadzenie Zadanie o optymalnej strukturze drzewa B-drzewa Bazy danych Struktury danych Średni czas odszukania rekordu Drzewa binarne w pamięci dyskowej Drzewa 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. dr inż. Alina MOMOT Metody dostępu do danych Plan wykładu Wprowadzenie Zadanie o optymalnej strukturze drzewa B-drzewa Bazy danych Struktury danych Średni czas odszukania rekordu Drzewa binarne w pamięci dyskowej Przykłady drzew binarnych dr inż. Alina MOMOT Metody dostępu do danych Plan wykładu Wprowadzenie Zadanie o optymalnej strukturze drzewa B-drzewa Bazy danych Struktury danych Średni czas odszukania rekordu Drzewa binarne w pamięci dyskowej Średni czas odszukania Średni czas odszukania opisuje wzór: L= N X ci pi , i=1 gdzie: ci – liczba prób wykonanych w celu odnalezienia i-tego rekordu, pi – prawdopodobieństwo odwołania do i-tego rekordu, N – wielkość przeszukiwanego zbioru danych. dr inż. Alina MOMOT Metody dostępu do danych Plan wykładu Wprowadzenie Zadanie o optymalnej strukturze drzewa B-drzewa 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 X i=1 ci pi = N X i i=1 dr inż. Alina MOMOT N = N +1 = O(N) 2 Metody dostępu do danych Plan wykładu Wprowadzenie Zadanie o optymalnej strukturze drzewa B-drzewa 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 dlog2 (N + 1)e prób. Średni czas odszukania rekordu: L= N X ci pi = O(log2 (N)). i=1 dr inż. Alina MOMOT Metody dostępu do danych Plan wykładu Wprowadzenie Zadanie o optymalnej strukturze drzewa B-drzewa Bazy danych Struktury danych Średni czas odszukania rekordu Drzewa binarne w pamięci dyskowej Średni czas odszukania - drzewo BST 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: L = 2(log2 (N) + γ) − 3, gdzie γ ≈ 0.577 jest stałą Eulera. Drzewo wyważone skraca nam drogę poszukiwań średnio o 39%. dr inż. Alina MOMOT Metody dostępu do danych Plan wykładu Wprowadzenie Zadanie o optymalnej strukturze drzewa B-drzewa Bazy danych Struktury danych Średni czas odszukania rekordu Drzewa binarne w pamięci dyskowej 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 log2 N (wysokość drzewa). dr inż. Alina MOMOT Metody dostępu do danych Plan wykładu Wprowadzenie Zadanie o optymalnej strukturze drzewa B-drzewa Bazy danych Struktury danych Średni czas odszukania rekordu Drzewa binarne w pamięci dyskowej 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 log2 N (wysokość drzewa). dr inż. Alina MOMOT Metody dostępu do danych Plan wykładu Wprowadzenie Zadanie o optymalnej strukturze drzewa B-drzewa Bazy danych Struktury danych Średni czas odszukania rekordu Drzewa binarne w pamięci dyskowej 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 log2 N (wysokość drzewa). dr inż. Alina MOMOT Metody dostępu do danych Plan wykładu Wprowadzenie Zadanie o optymalnej strukturze drzewa B-drzewa Bazy danych Struktury danych Średni czas odszukania rekordu Drzewa binarne w pamięci dyskowej 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 log2 N (wysokość drzewa). dr inż. Alina MOMOT Metody dostępu do danych Plan wykładu Wprowadzenie Zadanie o optymalnej strukturze drzewa B-drzewa Bazy danych Struktury danych Średni czas odszukania rekordu Drzewa binarne w pamięci dyskowej Drzewo wielokierunkowe 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. dr inż. Alina MOMOT Metody dostępu do danych Plan wykładu Wprowadzenie Zadanie o optymalnej strukturze drzewa B-drzewa Bazy danych Struktury danych Średni czas odszukania rekordu Drzewa binarne w pamięci dyskowej Drzewo wielokierunkowe dr inż. Alina MOMOT Metody dostępu do danych Plan wykładu Wprowadzenie Zadanie o optymalnej strukturze drzewa B-drzewa Sformułowanie problemu Zależność objętości bazy od wysokości drzewa Maksymalny czas dostępu Zadanie o optymalnej strukturze drzewa Sformułowanie problemu Zadanie o optymalnej strukturze drzewa 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, mi – liczba elementów na stronie poziomu i, TD – czas odczytu strony z dysku, TP – czas realizacji operacji testu na danych w pamięci operacyjnej. dr inż. Alina MOMOT Metody dostępu do danych Plan wykładu Wprowadzenie Zadanie o optymalnej strukturze drzewa B-drzewa Sformułowanie problemu Zależność objętości bazy od wysokości drzewa Maksymalny czas dostępu Zadanie o optymalnej strukturze drzewa Zależność objętości bazy od wysokości drzewa h – liczba poziomów drzewa, mi – liczba elementów na stronie poziomu i. V = m1 + (m1 + 1) · m2 (m1 + 1) · (m2 + 1) · m3 + (m1 + 1) · (m2 + 1) · (m3 + 1) · m4 + ... (m1 + 1) · (m2 + 1) · (m3 + 1) · . . . · (mh−1 + 1) · mh dr inż. Alina MOMOT Metody dostępu do danych Plan wykładu Wprowadzenie Zadanie o optymalnej strukturze drzewa B-drzewa Sformułowanie problemu Zależność objętości bazy od wysokości drzewa Maksymalny czas dostępu Zadanie o optymalnej strukturze drzewa Zależność objętości bazy od wysokości drzewa h – liczba poziomów drzewa, mi – liczba elementów na stronie poziomu i. V = (m1 + 1) + (m1 + 1) · m2 (m1 + 1) · (m2 + 1) · m3 + (m1 + 1) · (m2 + 1) · (m3 + 1) · m4 + ... (m1 + 1) · (m2 + 1) · (m3 + 1) · . . . · (mh−1 + 1) · mh −1 dr inż. Alina MOMOT Metody dostępu do danych Plan wykładu Wprowadzenie Zadanie o optymalnej strukturze drzewa B-drzewa Sformułowanie problemu Zależność objętości bazy od wysokości drzewa Maksymalny czas dostępu Zadanie o optymalnej strukturze drzewa Zależność objętości bazy od wysokości drzewa h – liczba poziomów drzewa, mi – liczba elementów na stronie poziomu i. V = (m1 + 1) · (1 + m2 (m2 + 1) · m3 + (m2 + 1) · (m3 + 1) · m4 + ... (m2 + 1) · (m3 + 1) · . . . · (mh−1 + 1) · mh )−1 dr inż. Alina MOMOT Metody dostępu do danych Plan wykładu Wprowadzenie Zadanie o optymalnej strukturze drzewa B-drzewa Sformułowanie problemu Zależność objętości bazy od wysokości drzewa Maksymalny czas dostępu Zadanie o optymalnej strukturze drzewa Zależność objętości bazy od wysokości drzewa h – liczba poziomów drzewa, mi – liczba elementów na stronie poziomu i. V = (m1 + 1) · (m2 + 1) · (1+ m3 + (m3 + 1) · m4 + ... (m3 + 1) · . . . · (mh−1 + 1) · mh )−1 dr inż. Alina MOMOT Metody dostępu do danych Plan wykładu Wprowadzenie Zadanie o optymalnej strukturze drzewa B-drzewa Sformułowanie problemu Zależność objętości bazy od wysokości drzewa Maksymalny czas dostępu Zadanie o optymalnej strukturze drzewa Zależność objętości bazy od wysokości drzewa h – liczba poziomów drzewa, mi – liczba elementów na stronie poziomu i. V = (m1 + 1) · (m2 + 1) · (m3 + 1) · (1+ m4 + ... . . . · (mh−1 + 1) · mh )−1 dr inż. Alina MOMOT Metody dostępu do danych Plan wykładu Wprowadzenie Zadanie o optymalnej strukturze drzewa B-drzewa Sformułowanie problemu Zależność objętości bazy od wysokości drzewa Maksymalny czas dostępu Zadanie o optymalnej strukturze drzewa Zależność objętości bazy od wysokości drzewa h – liczba poziomów drzewa, mi – liczba elementów na stronie poziomu i. V = (m1 + 1) · (m2 + 1) · (m3 + 1) · . . . · (1 + mh ) − 1 = h Y (mj + 1) − 1 j=1 dr inż. Alina MOMOT Metody dostępu do danych Plan wykładu Wprowadzenie Zadanie o optymalnej strukturze drzewa B-drzewa Sformułowanie problemu Zależność objętości bazy od wysokości drzewa Maksymalny czas dostępu Zadanie o optymalnej strukturze drzewa Maksymalny czas dostępu Maksymalny czas dostępu wyraża się wzorem: Tmax = h · TD + TP · h X mj . j=1 Przy założeniu, że TD = αTP oraz TP = 1 Tmax = h · α + h X j=1 mj = h X (α + mj ). j=1 h – liczba poziomów drzewa, mi – liczba elementów na stronie poziomu i, TD – czas odczytu strony z dysku, TP – czas realizacji operacji testu na danych w pamięci operacyjnej. dr inż. Alina MOMOT Metody dostępu do danych Plan wykładu Wprowadzenie Zadanie o optymalnej strukturze drzewa B-drzewa Sformułowanie problemu Zależność objętości bazy od wysokości drzewa Maksymalny czas dostępu Zadanie o optymalnej strukturze drzewa Maksymalny czas dostępu Maksymalny czas dostępu wyraża się wzorem: Tmax = h · TD + TP · h X mj . j=1 Przy założeniu, że TD = αTP oraz TP = 1 Tmax = h · α + h X j=1 mj = h X (α + mj ). j=1 h – liczba poziomów drzewa, mi – liczba elementów na stronie poziomu i, TD – czas odczytu strony z dysku, TP – czas realizacji operacji testu na danych w pamięci operacyjnej. dr inż. Alina MOMOT Metody dostępu do danych Plan wykładu Wprowadzenie Zadanie o optymalnej strukturze drzewa B-drzewa Sformułowanie problemu Zależność objętości bazy od wysokości drzewa Maksymalny czas dostępu Zadanie o optymalnej strukturze drzewa Zadanie o optymalnej strukturze drzewa Znaleźć min m1 ,m2 ,...,mh ,h Tmax = min m1 ,m2 ,...,mh ,h h X (α + mj ) j=1 przy ograniczeniu h Y (mj + 1) − 1 − V = 0 j=1 dr inż. Alina MOMOT Metody dostępu do danych Plan wykładu Wprowadzenie Zadanie o optymalnej strukturze drzewa B-drzewa Sformułowanie problemu Zależność objętości bazy od wysokości drzewa Maksymalny czas dostępu Zadanie o optymalnej strukturze drzewa Zadanie o optymalnej strukturze drzewa Znaleźć min m1 ,m2 ,...,mh ,h Tmax = min m1 ,m2 ,...,mh ,h h X (α + mj ) j=1 przy ograniczeniu h Y (mj + 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. dr inż. Alina MOMOT Metody dostępu do danych Plan wykładu Wprowadzenie Zadanie o optymalnej strukturze drzewa B-drzewa Sformułowanie problemu Zależność objętości bazy od wysokości drzewa Maksymalny czas dostępu Zadanie o optymalnej strukturze drzewa Zadanie o optymalnej strukturze drzewa - 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: V = (m + 1)h − 1 oraz Tmax = h(α + m). Podsumowując: 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. dr inż. Alina MOMOT Metody dostępu do danych Plan wykładu Wprowadzenie Zadanie o optymalnej strukturze drzewa B-drzewa B-drzewa - wprowadzenie Odszukiwanie w B-drzewie Wstawianie w B-drzewie Usuwanie w B-drzewie Wady drzew BST 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. dr inż. Alina MOMOT Metody dostępu do danych Plan wykładu Wprowadzenie Zadanie o optymalnej strukturze drzewa B-drzewa B-drzewa - wprowadzenie Odszukiwanie w B-drzewie Wstawianie w B-drzewie Usuwanie w B-drzewie B-drzewa - wprowadzenie B-drzewa 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. dr inż. Alina MOMOT Metody dostępu do danych Plan wykładu Wprowadzenie Zadanie o optymalnej strukturze drzewa B-drzewa B-drzewa - wprowadzenie Odszukiwanie w B-drzewie Wstawianie w B-drzewie Usuwanie w B-drzewie B-drzewa - definicja 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. dr inż. Alina MOMOT Metody dostępu do danych Plan wykładu Wprowadzenie Zadanie o optymalnej strukturze drzewa B-drzewa B-drzewa - wprowadzenie Odszukiwanie w B-drzewie Wstawianie w B-drzewie Usuwanie w B-drzewie B-drzewa - wnioski 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: log2m+1 (N + 1) ¬ h ¬ 1 + logm+1 N +1 2 Koszt odszukania w B-drzewach jest co najwyżej proporcjonalny do wysokości drzewa. Duża liczba m (np. 1024) jest kluczowa dla wydajności B-drzew. dr inż. Alina MOMOT Metody dostępu do danych Plan wykładu Wprowadzenie Zadanie o optymalnej strukturze drzewa B-drzewa B-drzewa - wprowadzenie Odszukiwanie w B-drzewie Wstawianie w B-drzewie Usuwanie w B-drzewie Odszukiwanie w B-drzewie Poszukiwanie klucza X rozpoczynamy od korzenia. W aktualnym węźle zawierającym klucze k1 < k2 < . . . < kn 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 ki−1 < x < ki (przy założeniu, że k0 = −∞ oraz kn+1 = ∞), rekurencyjnie poszukujemy klucza x w poddrzewie o korzeniu wskazywanym przez pi . dr inż. Alina MOMOT Metody dostępu do danych Plan wykładu Wprowadzenie Zadanie o optymalnej strukturze drzewa B-drzewa B-drzewa - wprowadzenie Odszukiwanie w B-drzewie Wstawianie w B-drzewie Usuwanie w B-drzewie Przykład odszukiwania w B-drzewie Przykład B-drzewa klasy t(3,2) dr inż. Alina MOMOT Metody dostępu do danych Plan wykładu Wprowadzenie Zadanie o optymalnej strukturze drzewa B-drzewa B-drzewa - wprowadzenie Odszukiwanie w B-drzewie Wstawianie w B-drzewie Usuwanie w B-drzewie Przykład odszukiwania w B-drzewie Szukany rekord o kluczu 40 dr inż. Alina MOMOT Metody dostępu do danych Plan wykładu Wprowadzenie Zadanie o optymalnej strukturze drzewa B-drzewa B-drzewa - wprowadzenie Odszukiwanie w B-drzewie Wstawianie w B-drzewie Usuwanie w B-drzewie Przykład odszukiwania w B-drzewie Szukany rekord o kluczu 15 dr inż. Alina MOMOT Metody dostępu do danych Plan wykładu Wprowadzenie Zadanie o optymalnej strukturze drzewa B-drzewa B-drzewa - wprowadzenie Odszukiwanie w B-drzewie Wstawianie w B-drzewie Usuwanie w B-drzewie Przykład odszukiwania w B-drzewie Szukany rekord o kluczu 16 dr inż. Alina MOMOT Metody dostępu do danych Plan wykładu Wprowadzenie Zadanie o optymalnej strukturze drzewa B-drzewa B-drzewa - wprowadzenie Odszukiwanie w B-drzewie Wstawianie w B-drzewie Usuwanie w B-drzewie Wstawianie 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. dr inż. Alina MOMOT Metody dostępu do danych Plan wykładu Wprowadzenie Zadanie o optymalnej strukturze drzewa B-drzewa B-drzewa - wprowadzenie Odszukiwanie w B-drzewie Wstawianie w B-drzewie Usuwanie w B-drzewie Wstawianie 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. dr inż. Alina MOMOT Metody dostępu do danych Plan wykładu Wprowadzenie Zadanie o optymalnej strukturze drzewa B-drzewa B-drzewa - wprowadzenie Odszukiwanie w B-drzewie Wstawianie w B-drzewie Usuwanie w B-drzewie Przykład wstawiania w B-drzewie Wstawiany rekord o kluczu 34 - odszukanie strony dr inż. Alina MOMOT Metody dostępu do danych Plan wykładu Wprowadzenie Zadanie o optymalnej strukturze drzewa B-drzewa B-drzewa - wprowadzenie Odszukiwanie w B-drzewie Wstawianie w B-drzewie Usuwanie w B-drzewie Przykład wstawiania w B-drzewie Wstawiany rekord o kluczu 34 - dołączenie bezkolizyjne dr inż. Alina MOMOT Metody dostępu do danych Plan wykładu Wprowadzenie Zadanie o optymalnej strukturze drzewa B-drzewa B-drzewa - wprowadzenie Odszukiwanie w B-drzewie Wstawianie w B-drzewie Usuwanie w B-drzewie Przykład wstawiania w B-drzewie Wstawiany rekord o kluczu 48 - przepełnienie dr inż. Alina MOMOT Metody dostępu do danych Plan wykładu Wprowadzenie Zadanie o optymalnej strukturze drzewa B-drzewa B-drzewa - wprowadzenie Odszukiwanie w B-drzewie Wstawianie w B-drzewie Usuwanie w B-drzewie Przykład wstawiania w B-drzewie Wstawiany rekord o kluczu 48 - metoda kompensacji dr inż. Alina MOMOT Metody dostępu do danych Plan wykładu Wprowadzenie Zadanie o optymalnej strukturze drzewa B-drzewa B-drzewa - wprowadzenie Odszukiwanie w B-drzewie Wstawianie w B-drzewie Usuwanie w B-drzewie Przykład wstawiania w B-drzewie Wstawiany rekord o kluczu 48 - przepełnienie dr inż. Alina MOMOT Metody dostępu do danych Plan wykładu Wprowadzenie Zadanie o optymalnej strukturze drzewa B-drzewa B-drzewa - wprowadzenie Odszukiwanie w B-drzewie Wstawianie w B-drzewie Usuwanie w B-drzewie Przykład wstawiania w B-drzewie Wstawiany rekord o kluczu 48 - metoda podziału dr inż. Alina MOMOT Metody dostępu do danych Plan wykładu Wprowadzenie Zadanie o optymalnej strukturze drzewa B-drzewa B-drzewa - wprowadzenie Odszukiwanie w B-drzewie Wstawianie w B-drzewie Usuwanie w B-drzewie Usuwanie w B-drzewie Usuwanie 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 2 w miejsce usuwanego elementu, wpisywany jest element Emin o najmniejszej wartości klucza z poddrzewa wskazywanego przez wskaźnik, stojący bezpośrednio po prawej stronie usuwanego elementu. Element Emin jest następnie wstawiany w miejsce elementu usuwanego i usuwany ze strony liścia. dr inż. Alina MOMOT Metody dostępu do danych Plan wykładu Wprowadzenie Zadanie o optymalnej strukturze drzewa B-drzewa B-drzewa - wprowadzenie Odszukiwanie w B-drzewie Wstawianie w B-drzewie Usuwanie w B-drzewie Usuwanie 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. dr inż. Alina MOMOT Metody dostępu do danych Plan wykładu Wprowadzenie Zadanie o optymalnej strukturze drzewa B-drzewa B-drzewa - wprowadzenie Odszukiwanie w B-drzewie Wstawianie w B-drzewie Usuwanie w B-drzewie Przykład usuwania w B-drzewie Usuwany rekord o kluczu 38 - usunięcie bezkolizyjne dr inż. Alina MOMOT Metody dostępu do danych Plan wykładu Wprowadzenie Zadanie o optymalnej strukturze drzewa B-drzewa B-drzewa - wprowadzenie Odszukiwanie w B-drzewie Wstawianie w B-drzewie Usuwanie w B-drzewie Przykład usuwania w B-drzewie Usuwany rekord o kluczu 48 - problem niedomiaru dr inż. Alina MOMOT Metody dostępu do danych Plan wykładu Wprowadzenie Zadanie o optymalnej strukturze drzewa B-drzewa B-drzewa - wprowadzenie Odszukiwanie w B-drzewie Wstawianie w B-drzewie Usuwanie w B-drzewie Przykład usuwania w B-drzewie Usuwany rekord o kluczu 48 - metoda łączenia dr inż. Alina MOMOT Metody dostępu do danych Plan wykładu Wprowadzenie Zadanie o optymalnej strukturze drzewa B-drzewa B-drzewa - wprowadzenie Odszukiwanie w B-drzewie Wstawianie w B-drzewie Usuwanie w B-drzewie Przykład usuwania w B-drzewie Usuwany rekord o kluczu 25 - znaleziony węzeł nie jest liściem, więc szukany jest element Emin w odpowiednim poddrzewie dr inż. Alina MOMOT Metody dostępu do danych Plan wykładu Wprowadzenie Zadanie o optymalnej strukturze drzewa B-drzewa B-drzewa - wprowadzenie Odszukiwanie w B-drzewie Wstawianie w B-drzewie Usuwanie w B-drzewie Przykład usuwania w B-drzewie Usuwany rekord o kluczu 25 krok 1 - w miejsce usuwanego elementu, wpisywany jest element Emin dr inż. Alina MOMOT Metody dostępu do danych Plan wykładu Wprowadzenie Zadanie o optymalnej strukturze drzewa B-drzewa B-drzewa - wprowadzenie Odszukiwanie w B-drzewie Wstawianie w B-drzewie Usuwanie w B-drzewie Przykład usuwania w B-drzewie Usuwany rekord o kluczu 25 krok 2 - ostateczne usunięcie jest bezkolizyjne dr inż. Alina MOMOT Metody dostępu do danych