Bazy danych. Plan wykładu. Metody organizacji pliku rekordów. Pojcie indeksu. Wykład 11: Indeksy. Pojcie indeksu - rodzaje indeksów

Podobne dokumenty
Bazy danych. Plan wykładu. Klucz wyszukiwania. Pojcie indeksu. Wykład 8: Indeksy. Pojcie indeksu - rodzaje indeksów

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

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

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

sprowadza się od razu kilka stron!

Bazy danych. Andrzej Łachwa, UJ, /15

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

INDEKSY I SORTOWANIE ZEWNĘTRZNE

Tadeusz Pankowski

Bazy danych. Plan wykładu. Metody organizacji pliku rekordów przypomnienie wiadomości. Pojęcie indeksu. Wykład 11: Indeksy. Język DDL i DML.

Podstawy Informatyki. Metody dostępu do danych

Bazy danych. Plan wykładu. Podzapytania - wskazówki. Podzapytania po FROM. Wykład 5: Zalenoci wielowartociowe. Sprowadzanie do postaci normalnych.

Bazy danych. Plan wykładu. Model logiczny i fizyczny. Operacje na pliku. Wykład 10: Fizyczna organizacja danych w bazie danych

Bazy danych. Plan wykładu. Zalenoci funkcyjne. Wykład 4: Relacyjny model danych - zalenoci funkcyjne. SQL - podzapytania A B

Bazy danych. Plan wykładu. Przetwarzanie zapyta. Etapy przetwarzania zapytania. Wykład 12: Optymalizacja zapyta. Etapy przetwarzanie zapytania

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

Temat: Struktury do przechowywania danych w pamici zewntrznej. B - drzewa. B * - drzewa. B + - drzewa.

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

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

Haszowanie (adresowanie rozpraszające, mieszające)

Przykładowe B+ drzewo

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

Bazy danych. Plan wykładu. Proces modelowania i implementacji bazy danych. Elementy ERD. Wykład 2: Diagramy zwizków encji (ERD)

Bazy danych. Plan wykładu. Podstawy modeli relacyjnych. Diagramy ER. Wykład 3: Relacyjny model danych. SQL

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

Bazy danych. Plan wykładu. Proces modelowania i implementacji bazy danych. Elementy ERD. Wykład 2: Diagramy zwizków encji (ERD)

WPROWADZENIE DO BAZ DANYCH

Drzewa poszukiwań binarnych

Tabela wewnętrzna - definicja

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

77. Modelowanie bazy danych rodzaje połączeń relacyjnych, pojęcie klucza obcego.

Definicja pliku kratowego

Drzewa wyszukiwań binarnych (BST)

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

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

Porządek symetryczny: right(x)

Sortowanie. Bartman Jacek Algorytmy i struktury

Tworzenie bazy danych Biblioteka tworzenie tabel i powiza, manipulowanie danymi. Zadania do wykonani przed przystpieniem do pracy:

.! $ Stos jest list z trzema operacjami: dodawanie elementów na wierzch stosu, zdejmowanie elementu z wierzchu stosu, sprawdzanie czy stos jest pusty.

Fizyczna organizacja danych w bazie danych

Przyspieszenie knn. Plan wykładu. Klasyfikacja w oparciu o przykładach. Algorytm klasyfikacji. Funkcja odległoci

Bazy danych wykład ósmy Indeksy

PLAN WYKŁADU BAZY DANYCH HIERARCHIA MECHANIZMÓW SKŁADOWANIA PRZECHOWYWANIA BAZ DANYCH

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

Zazwyczaj rozmiar bloku jest większy od rozmiaru rekordu, tak więc. ich efektywna lokalizacja kiedy tylko zachodzi taka potrzeba.

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

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

Zadania do wykonaj przed przyst!pieniem do pracy:

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

System plików warstwa fizyczna

System plików warstwa fizyczna

System plików warstwa fizyczna

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

WSTĘP DO INFORMATYKI. Drzewa i struktury drzewiaste

Bazy danych. Plan wykładu. Pierwsza posta normalna. Druga posta normalna. Wykład 7: Sprowadzanie do postaci normalnych. DDL, DML

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

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

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

Bazy danych Podstawy teoretyczne

Temat: Liniowe uporzdkowane struktury danych: stos, kolejka. Specyfikacja, przykładowe implementacje i zastosowania. Struktura słownika.

Temat: Technika zachłanna. Przykłady zastosowania. Własno wyboru zachłannego i optymalnej podstruktury.

Temat: Algorytmy zachłanne

Pojęcie systemu informacyjnego i informatycznego

ALGORYTMY I STRUKTURY DANYCH

Zad. 1. Systemy Baz Danych przykładowe zadania egzaminacyjne

Gramatyki regularne i automaty skoczone

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

Fizyczna struktura bazy danych w SQL Serwerze

Podstawowe zagadnienia z zakresu baz danych

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

Optymalizacja poleceń SQL Metody dostępu do danych

Baza danych - Access. 2 Budowa bazy danych

PODSTAWY BAZ DANYCH. 7. Metody Implementacji Baz Danych. 2009/ Notatki do wykładu "Podstawy baz danych" 1

ALGORYTMY I STRUKTURY DANYCH

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:

Drzewo binarne BST. LABORKA Piotr Ciskowski

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

Struktura drzewa w MySQL. Michał Tyszczenko

Listy i operacje pytania

Modelowanie hierarchicznych struktur w relacyjnych bazach danych

2017/2018 WGGiOS AGH. LibreOffice Base

Wprowadzenie do baz danych

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

Teoretyczne podstawy informatyki

Bazy danych. Plan wykładu. Definicja zalenoci funkcyjnych. Zalenoci funkcyjne. Wykład 4: Relacyjny model danych - zalenoci funkcyjne.

Bazy danych. wprowadzenie teoretyczne. Piotr Prekurat 1

KORPORACYJNE SYSTEMY ZARZĄDZANIA INFORMACJĄ

Bazy danych - BD. Organizacja plików. Wykład przygotował: Robert Wrembel. BD wykład 5 (1)

Fizyczna struktura bazy danych Indeksy Optymalizacja. Fizyczna struktura bazy danych (c.d.) Tadeusz Pankowski

Algorytmy i Struktury Danych, 9. ćwiczenia

Listy, kolejki, stosy

BAZY DANYCH NORMALIZACJA BAZ DANYCH. Microsoft Access. Adrian Horzyk. Akademia Górniczo-Hutnicza

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

Algorytmy i struktury danych

Podstawy obsługi modułu administracyjnego

BAZY DANYCH NORMALIZACJA BAZ DANYCH. Microsoft Access. Adrian Horzyk. Akademia Górniczo-Hutnicza

Algorytmy i struktury danych

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

Systemy baz danych. mgr inż. Sylwia Glińska

Kompresja danych Streszczenie Studia Dzienne Wykład 10,

Transkrypt:

Plan wykładu Bazy Wykład 11: Indeksy Pojcie indeksu - rodzaje indeksów Metody implementacji indeksów struktury statyczne struktury dynamiczne Małgorzata Krtowska Katedra Oprogramowania e-mail: mmac@ii.pb.bialystok.pl Bazy (studia dzienne) 2 Metody organizacji pliku rekordów lik nieuporzdkowany Plik posortowany Plik haszowany Pojcie indeksu Indeks to struktura na dysku umoliwiajca szybkie wyszukiwanie w bazie na podstawie wartoci klucza wyszukiwania jak np. nazwisko osoby. Indeks = skorowidz w ksice. W najprostszej postaci wyszukiwanie polega na tym, e majc warto poszukujemy rekordów, w którym ta warto wystpuje w danym polu. Bazy (studia dzienne) 3 Bazy (studia dzienne) 4

Klucz wyszukiwania Plik indeksowy Klucz wyszukiwania dla indeksu jest to wybrane pole lub pola rekordu, wzgldem których ma odbywa si wyszukiwanie. Indeks jest to struktura składajca si z wzłów, w których s zapisywane rekordy indeksu w nastepujcej postaci: pozycje k* okrelane wzgldem wartoci klucza wyszukiwania k tzn sam rekord o kluczu k para (k,w) gdzie k jest kluczem rekordu, a w jest wskanikiem do rekordu o tym kluczu para (k,w 1,.., w n ), gdzie k jest kluczem rekordu, a w 1,.., w n s wskanikami do rekordów o kluczu k (wymaga zmiennej liczby pól) pozycje indeksu kierujce wyznaczeniem właciwej pozycji k* w oparciu o wartoc klucza wyszukiwania k (np. para (warto klucza, wskanik do wzła w indeksie) Bazy (studia dzienne) 5 Zawarto indeksu jest przechowywana w pliku indeksowym W skład pliku indeksowego wchodz rekordy indeksu bdce pozycjami lub pozycjami indeksu. Wzeł odpowiada na ogół stronie dyskowej i zawiera albo pozycje albo pozycje indeksu. Bazy (studia dzienne) 6 Rodzaje indeksów Indeksy wewntrzne i zewntrzne Wewntrzny - gdy plik indeksu zawiera w sobie plik tzn. pozycje indeksu pokrywaj si z rekordami (tabela jest zorganizowana przez indeks) Wewntrzny pogrupowany - gdy pozycje s zapisywane w kolejnoci uporzdkowanej wzgldem wartoci pewnego klucza wyszukiwania tak jak w pliku posortowanym Wewntrzny niepogrupowany - przykład: organizacja pliku haszowego Zewntrzny - indeks, który nie jest indeksem wewntrznym. Moe by tylko jeden indeks wewntrzny i wiele indeksów zewntrznych Adamski Lech Rudek Indeks wewntrzny pogrupowany wzgldem nazwiska Adamski, 56, 2000 Bakowski, 25, 1000 Kasacki, 29, 3000 Lech, 60, 2000 Modrzewski, 25,2000 Michalski, 30, 3000 Rudek, 31, 5000 Zybert, 45, 4400 25 25 29 30 31 45 56 60 Bazy (studia dzienne) 7 Plik Indeks zewntrzny (niepogrupowany) wzgldem wieku Bazy (studia dzienne) 8

Złoone klucze wyszukiwania Metody implementacji indeksów Pojedyncze klucze wyszukiwania - wyszukiwanie według pojedynczego pola Złoone klucze wyszukiwania - wyszukiwanie według kombinacji wikszej liczby pól 11,80 12,10 12,20 13,75 <wiek, zarobki> 10,12 20,12 75,13 80,11 ala 12 10 ela 11 80 iza 12 20 ola 13 75 Rekordy posortowane wzgldem imienia 11 12 12 13 <wiek> 10 20 75 80 Indeksy statyczne Indeksy dynamiczne <zarobki, wiek> <zarobki> Bazy (studia dzienne) 9 Bazy (studia dzienne) 10 Statyczne drzewo ISAM (indexed sequential access method) Wyszukiwanie binarne - (pliki posortowane) porównujemy poszukiwany klucz z kluczem rekordu znajdujcym si w rodku ciagu i w zalenoci od wyniku porównania poszukujemy klucza albo w lewej czci albo w prawej, stosujc rekurencyjnie opisywan metod Poszukiwanie binarne łatwiej zastosowa jest nie bezporednio do pliku rekordów, ale do pliku zawierajcego same klucze rekordów k 1 <k 2 <...<k N, gdzie k i jest najmniejszym kluczem na stronie o numerze i. Plik z kluczami stanowi plik indeksowy Po wyznaczeniu najbliszego pasujcego klucza wystarczy przej do strony z rekordami, na której znajduje si rekord o danym kluczu. Jednopoziomowy plik indeksowy k1 k2 kn Plik indeksowy Statyczne drzewo ISAM Strona indeksu jednopoziomowego (wzeł) składa si z pozycji indeksu <k i, P i >, gdzie k i jest kluczem, a P i jest wskanikiem na stron zawierajc wartoci klucza >= od klucza k i. P 0 stanowi wskanik na stron o wartociach klucza <k 1. Pozycja indeksu p 0 k 1 p 1 k 2 p 2... k m p m Zasady poszukiwania danego klucza 21 34 56 Strona indeksu k 1 <k 2 <...<k m Strona 1 Strona 2 Strona 3 strona N Plik wartociami klucza <21 21<=k <34 34<=k <56 k >=56 Bazy (studia dzienne) 11 Bazy (studia dzienne) 12

Indeks wielopoziomowy (drzewo ISAM) Struktura drzewa ISAM Strona indeksu wielopoziomowego (wzeł) składa si z pozycji indeksu <k i, P i >, gdzie k i jest kluczem, a P i jest wskanikiem do wzła niszego poziomu zawiarajacego wartoci kluczy >= od klucza k i. P 0 stanowi wskanik do wzła wyszego poziomu zawierajcego wartoci klucza <k 1. Wzły wewntrzne Pozycja indeksu p 0 k 1 p 1 k 2 p 2... k m p m Strona indeksu k 1 <k 2 <...<k m licie i na wzły wyszego poziomu Strony nadmiarowe Strony główne Bazy (studia dzienne) 13 Bazy (studia dzienne) 14 Problemy Podsumowanie drzew ISAM Dodawanie i usuwanie rekordów w przypadku indeksu głównego jest to problem złoony, gdy musimy wstawi rekord na odpowiedniej pozycji w pliku. Wie si to z przeniesieniem czci rekordów w pliku, a co za tym idzie zmiany wpisu w indeksie, gdy przesunicie rekordów powoduje zmiany wartoci kluczy w danym bloku. Próby rozwizania problemu: Wykorzystanie nieuporzdkowanego pliku przepełnienia Uycie listy jednokierunkowej rekordów przepełnienia dla kadego bloku w pliku (przykład indeksu - kolejny slajd) Drzewa ISAM dobrze sprawdzaj si do wyszukiwania rekordu na podstawie wartoci jego klucza, a take rekordów z zakresu wartoci klucza: A<=klucz<=B; A<=klucz, klucz<=b Gdy liczba rekordów w pliku jest mniej wicej stała struktura ISAM jest dobra Niebezpieczestwo grupowania si kluczy w cigi na stronach nadmiarowych (rozwizanie struktury dynamiczne) Bazy (studia dzienne) 15 Bazy (studia dzienne) 16

Indeksy zewntrzne Indeks dla klucza unikalnego budowa pliku indeksowego: pary: <wartoc pola indeksu, wskanik na blok> bloki w kolejnoci dowolnej Dynamiczne indeksy wielopoziomowe B-drzewa Indeks dla pola dowolnego budowa pliku indeksowego pary: <warto pola, wskanik na blok wskaników na rekordy> B + - drzewa Bazy (studia dzienne) 17 Bazy (studia dzienne) 18 B-drzewo B-drzewo B-drzewo rzdu p: kady wierzchołek wewntrzny na posta: <P 1, <K 1, Pr 1 >, P 2, <K 2, Pr 2 >,...,<K q-1, P q-1 >, P q > gdzie q<=p. Kade P i oznacza wskanik drzewa - wskanik na inny wierzchołek w B-drzewie. Kade Pr i oznacza wskanik - wskanik na rekord, którego warto pola klucza wyszukiwania jest równa K i (lub blok w pliku zawierajcy ten rekord) w kadym wierzchołku K 1 <K 2 <...<K q-1 dla wszystkich wartoci pola wyszukiwania X w poddrzewie, na które wskazuje wskanik P i mamy K i-1 <X<K i, dla 1<i<q oraz K i-1 <X dla i=q Kady wierzchołek prócz korzeni i lici posiada co najmniej ceil(p/2) wskaników drzewa Wszystkie licie znajdujsi na tym samym poziomie. Licie posiadaj tak sam struktur co wierzchołki wewntrzne poza tym, e ich wskaniki drzewa s zerowe P 1 K 1 Pr 1 P 2 K i-1 Pr i-1 P i K i Pr i K q-1 Pr q-1 P q X<K 1 K i-1 <X<K i K q-1 <X Z powodu niejednolitosci wzłów dla B drzew operacje INSERT i DELETE s bardziej skomplikowane => B + - drzewa. Bazy (studia dzienne) 19 Bazy (studia dzienne) 20

B + - drzewo Wykorzystywane przez wiekszo implemantacji dynamicznych indeksów Wyróniamy wierzchołki wewntrzne i licie (róne struktury ) Wymagana zajto strony indeksu wynosi minimum 50% ( z wyjtkiem korzenia) Zajeto kadej strony licia wynosi minimum 50%. Wierzchołki lici s zwykle połczone razem, co zapewnia moliwo uzyskiwania uporzdkowanego dostpu do rekordów wzgldem pola wyszukiwania B + - drzewo jest wywaone tzn. kady li znajduje si na tej samej głbokoci Wierzchołki wewntrzne Struktura wierzchołków wewntrznych B+ - drzewa rzdu p: Kady wierzchołek wewntrzny ma posta <P 1, K 1, P 2,K 2,..., P q-1, K q-1, P q > gdzie q<=p i kade p i jest wskanikiem drzewa W kadym wierzchołku wewntrznym K 1 <K 2 <...<K q-1. Dla wszystkich wartoci pola wyszukiwania X w podrzewie, na które wskazuje wskanik p i mamy: K i-1 <X<K i, dla 1<i<q oraz K i-1 <X dla i=q Kady wierzchołek wewntrzny posiada najwyej p wskaników drzewa Kady wierzchołek wewntrzny oprócz korzenia i lici posiada posiada co najmniej ceil(p/2) wskaników drzewa. Korze posiada co najmniej 2 wskaniki drzewa. Wierzchołek wewntrzny o q wskanikach drzewa, gdzie q<=p posiada q-1 wartoci pola wyszukiwania Bazy (studia dzienne) 21 Bazy (studia dzienne) 22 Wierzchołki wewntrzne Wierzchołki lici P 1 K 1 P i-1 K i K q-1 P q i drzewa X<=K 1 K i-1 <X<=K i K q-1 <X Struktura wierzchołków lici B + - drzewa rzdu p: Kady wierzchołek licia ma posta: <<K 1, Pr 1>,<K 2,Pr 2 >,..., <K q-1, Pr q-1 >, P nast > gdzie q<=p i kade Pr i jest wskanikiem, za P nast wskazuje na nastpny wierzchołek licia w B + -drzewie. W kadym wierzchołku liscia K 1 <K 2 <.., K q-1, dla q<=p Kade Pr i jest wskanikiem wskazujcych na rekord, którego warto pola wyszukiwania jest równa k i lub na blok pliku zawierajcy dany rekord (lub na blok rekordu wskaników wskazujcych na rekordy, których wartoci pola wyszukiwania jest K i, jeeli pole wyszukiwania nie jest kluczem) Kady wierzchołek licia posiada co najmniej ceil(p/2) wskaników drzewa Wszystkie wierzchołki znajduj si na tym samym poziomie Bazy (studia dzienne) 23 Bazy (studia dzienne) 24

Wierzchołki lici K 1 Pr 1 K 2 Pr 2 K i Pr i K q-1 Pr q-1 P nast na nastpny wierzchołek licia w drzewie Podsumowanie drzew Zastosowania indeksów o strukturze drzewiastej wyszukiwanie zakresowe wyszukiwanie równowartociowe sortowanie (order by) wyszukiwanie przy uzgadnianiu wierszy w trakcie złczania tabel Drzewo ISAM - struktura statyczna struktura prostsza ni B + -drzewa modyfikowane s tylko licie wymagane s strony nadmiarowe, mogce pogorszyc czas wykonywania wyszukiwania B + -drzewo - struktura dynamiczna w praktyce wysoko<=3 zakładajc, e korze drzewa jest zawsze trzymany w buforze RAM, koszt wyszukania pozycji dancyh rekordu wynosi co najwyej 3 operacje we/wy Bazy (studia dzienne) 25 Bazy (studia dzienne) 26