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



Podobne dokumenty
Bazy danych. Plan wykładu. Metody organizacji pliku rekordów. Pojcie indeksu. Wykład 11: 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.

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.

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!

Tadeusz Pankowski

Bazy danych. Andrzej Łachwa, UJ, /15

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

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

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

INDEKSY I SORTOWANIE ZEWNĘTRZNE

Bazy danych wykład ósmy Indeksy

Podstawy Informatyki. Metody dostępu do danych

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. Proces modelowania i implementacji bazy danych. Elementy ERD. Wykład 2: Diagramy zwizków encji (ERD)

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

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

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. Przetwarzanie zapyta. Etapy przetwarzania zapytania. Wykład 12: Optymalizacja zapyta. Etapy przetwarzanie zapytania

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

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

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

WSTĘP DO INFORMATYKI. Drzewa i struktury drzewiaste

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

Struktury danych i optymalizacja

Haszowanie (adresowanie rozpraszające, mieszające)

Przykładowe B+ drzewo

Drzewa poszukiwań binarnych

Drzewa wyszukiwań binarnych (BST)

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

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

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.

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

WPROWADZENIE DO BAZ DANYCH

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

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

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

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

Sortowanie. Bartman Jacek Algorytmy i struktury

Temat: Algorytmy zachłanne

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

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

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

Definicja pliku kratowego

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

Zadania do wykonaj przed przyst!pieniem do pracy:

Bazy danych Podstawy teoretyczne

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

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

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

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

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

Porządek symetryczny: right(x)

Fizyczna struktura bazy danych w SQL Serwerze

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

Tabela wewnętrzna - definicja

Fizyczna organizacja danych w bazie danych

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

Struktury danych: stos, kolejka, lista, drzewo

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

ALGORYTMY I STRUKTURY DANYCH

Obsługa pakietu biurowego OFFICE

Drzewo binarne BST. LABORKA Piotr Ciskowski

ALGORYTMY I STRUKTURY DANYCH

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

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

Pojęcie systemu informacyjnego i informatycznego

Podstawy obsługi modułu administracyjnego

Optymalizacja poleceń SQL Metody dostępu do danych

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

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

Gramatyki regularne i automaty skoczone

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

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:

Listy i operacje pytania

ang. file) Pojęcie pliku (ang( Typy plików Atrybuty pliku Fragmentacja wewnętrzna w systemie plików Struktura pliku

Bazy danych. Plan wykładu. Dekompozycja relacji. Anomalie. Wykład 5: Projektowanie relacyjnych schematów baz danych. SQL - funkcje grupujce

Listy, kolejki, stosy

Teoretyczne podstawy informatyki

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

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

Podstawowe zagadnienia z zakresu baz danych

Drzewa poszukiwań binarnych

Algorytmy i struktury danych

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

Algorytm obejścia drzewa poszukiwań i zadanie o hetmanach szachowych

Wprowadzenie do algorytmów. START

VPN Virtual Private Network. Uycie certyfikatów niekwalifikowanych w sieciach VPN. wersja 1.1 UNIZETO TECHNOLOGIES SA

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

Struktura drzewa w MySQL. Michał Tyszczenko

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

Zadania z kolokwiów ze Wst pu do Informatyki. Semestr II.

Wykład 7 Abstrakcyjne typy danych słownik (lista symboli)

System plików warstwa logiczna

Transkrypt:

Plan wykładu Bazy Wykład 8: 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 zaoczne) 2 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 zaoczne) 3 Klucz wyszukiwania 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 nastpujcej 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 warto klucza wyszukiwania k (np. para (warto klucza, wskanik do wzła w indeksie) Bazy (studia zaoczne) 4

Plik indeksowy 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. Rodzaje indeksów 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 Bazy (studia zaoczne) 5 Bazy (studia zaoczne) 6 Indeksy wewntrzne i zewntrzne Złoone klucze wyszukiwania 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 Plik Bazy (studia zaoczne) 7 25 25 29 30 31 45 56 60 Indeks zewntrzny (niepogrupowany) wzgldem wieku 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 <zarobki, wiek> ala 12 10 ela 11 80 iza 12 20 ola 13 75 Rekordy posortowane wzgldem imienia Bazy (studia zaoczne) 8 11 12 12 13 <wiek> 10 20 75 80 <zarobki>

Metody implementacji indeksów Indeksy statyczne Indeksy dynamiczne Statyczne drzewo ISAM (indexed sequential access method) Wyszukiwanie binarne - (pliki posortowane) porównujemy poszukiwany klucz z kluczem rekordu znajdujcym si w rodku cigu 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 Strona 1 Strona 2 Strona 3 strona N Plik Bazy (studia zaoczne) 9 Bazy (studia zaoczne) 10 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 Indeks wielopoziomowy (drzewo 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 zawierajcego wartoci kluczy >= od klucza k i. P 0 stanowi wskanik do wzła wyszego poziomu zawierajcego wartoci klucza <k 1. Pozycja indeksu p 0 k 1 p 1 k 2 p 2... k m p m i na wzły wyszego poziomu Strona indeksu k 1 <k 2 <...<k m wartociami klucza <21 21<=k <34 34<=k <56 k >=56 Bazy (studia zaoczne) 11 Bazy (studia zaoczne) 12

Struktura drzewa ISAM Problemy Wzły wewntrzne 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. licie Strony nadmiarowe Strony główne 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) Bazy (studia zaoczne) 13 Bazy (studia zaoczne) 14 Podsumowanie drzew ISAM 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) Indeksy zewntrzne Indeks dla klucza unikalnego budowa pliku indeksowego: pary: <warto pola indeksu, wskanik na blok> bloki w kolejnoci dowolnej Indeks dla pola dowolnego budowa pliku indeksowego pary: <warto pola, wskanik na blok wskaników na rekordy> Bazy (studia zaoczne) 15 Bazy (studia zaoczne) 16

Dynamiczne indeksy wielopoziomowe B-drzewa B + - drzewa 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 znajduj si na tym samym poziomie. Licie posiadaj tak sam struktur co wierzchołki wewntrzne poza tym, e ich wskaniki drzewa s zerowe Bazy (studia zaoczne) 17 Bazy (studia zaoczne) 18 B-drzewo 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 niejednolitoci wzłów dla B drzew operacje INSERT i DELETE s bardziej skomplikowane => B + - drzewa. B + - drzewo Wykorzystywane przez wikszo implementacji dynamicznych indeksów Wyróniamy wierzchołki wewntrzne i licie (róne struktury ) Wymagana zajto strony indeksu wynosi minimum 50% ( z wyjtkiem korzenia) Zajto 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 Bazy (studia zaoczne) 19 Bazy (studia zaoczne) 20

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 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 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 Wierzchołki wewntrzne 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 Bazy (studia zaoczne) 21 Bazy (studia zaoczne) 22 Wierzchołki lici Wierzchołki lici 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 licia 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 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 Bazy (studia zaoczne) 23 Bazy (studia zaoczne) 24

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 pogorszy 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 rekordu wynosi co najwyej 3 operacje we/wy Bazy (studia zaoczne) 25