Indeksowanie w DBMS: co to jest, rodzaje indeksów z PRZYKŁADAMI

Co to jest indeksowanie?

Indeksowanie to technika struktury danych, która umożliwia szybkie pobieranie rekordów z pliku bazy danych. Indeks to mała tabela mająca tylko dwie kolumny. Pierwsza kolumna zawiera kopię klucza podstawowego lub klucza kandydującego tabeli. Druga kolumna zawiera zestaw wskaźniki do przechowywania adresu bloku dysku, w którym przechowywana jest ta konkretna wartość klucza.

Indeks –

  • Jako dane wejściowe pobiera klucz wyszukiwania
  • Efektywnie zwraca kolekcję pasujących rekordów.

Rodzaje indeksowania w DBMS

Rodzaje indeksowania w DBMS
Typ indeksów w bazie danych

Indeksowanie w Bazie Danych jest definiowane na podstawie jej atrybutów indeksujących. Dwa główne typy metod indeksowania to:

  • Indeksowanie podstawowe
  • Indeksowanie wtórne

Indeks podstawowy w systemie DBMS

Indeks podstawowy to uporządkowany plik o stałej długości i dwóch polach. Pierwsze pole jest tym samym kluczem podstawowym, a drugie pole wskazuje na ten konkretny blok danych. W indeksie podstawowym zawsze istnieje relacja jeden do jednego pomiędzy wpisami w tabeli indeksu.

Podstawowe indeksowanie w systemie DBMS jest również dalej podzielone na dwa typy.

  • Gęsty indeks
  • Rzadki indeks

Gęsty indeks

W gęstym indeksie tworzony jest rekord dla każdego klucza wyszukiwania o wartości w bazie danych. Pomaga to w szybszym wyszukiwaniu, ale wymaga więcej miejsca do przechowywania rekordów indeksu. W tym indeksowaniu rekordy metod zawierają wartość klucza wyszukiwania i wskazują rzeczywisty rekord na dysku.

Gęsty indeks

Rzadki indeks

Jest to rekord indeksu, który pojawia się tylko dla niektórych wartości w pliku. Sparse Index pomaga rozwiązać problemy związane z gęstym indeksowaniem DBMS. W tej metodzie indeksowania zakres kolumn indeksu przechowuje ten sam adres bloku danych, a gdy trzeba pobrać dane, zostanie pobrany adres bloku.

Jednak rzadki indeks przechowuje rekordy indeksu tylko dla niektórych wartości klucza wyszukiwania. Potrzebuje mniej miejsca, mniej narzutów na konserwację podczas wstawiania i usuwania, ale jest wolniejszy w porównaniu do gęstego indeksu do lokalizowania rekordów.

Poniżej znajduje się indeks bazy danych. Przykład indeksu rzadkiego

Rzadki indeks

Indeks wtórny w DBMS

Indeks wtórny w DBMS może być generowany przez pole, które ma unikalną wartość dla każdego rekordu i powinno być kluczem kandydującym. Jest on również znany jako indeks nieklastrowy.

Ta dwupoziomowa technika indeksowania bazy danych jest używana do zmniejszenia rozmiaru mapowania pierwszego poziomu. Dla pierwszego poziomu wybierany jest z tego powodu duży zakres liczb; rozmiar mapowania zawsze pozostaje mały.

Przykład indeksu dodatkowego

Przyjrzyjmy się indeksowaniu wtórnemu na przykładzie indeksu bazy danych:

W bazie rachunków bankowych dane zapisywane są sekwencyjnie według acc_no; możesz chcieć znaleźć wszystkie rachunki w konkretnym oddziale banku ABC.

Tutaj możesz mieć dodatkowy indeks w DBMS dla każdego klucza wyszukiwania. Rekord indeksu to punkt rekordu wiadra, który zawiera wskaźniki do wszystkich rekordów z ich określoną wartością klucza wyszukiwania.

Przykład indeksu dodatkowego

ClusterIndeks w DBMS

W indeksie klastrowym same rekordy są przechowywane w indeksie, a nie wskaźniki. Czasami indeks jest tworzony na kolumnach niebędących kluczami podstawowymi, które mogą nie być unikalne dla każdego rekordu. W takiej sytuacji możesz zgrupować dwie lub więcej kolumn, aby uzyskać unikalne wartości i utworzyć indeks, który jest nazywany indeksem klastrowym. Pomaga to również szybciej zidentyfikować rekord.

Przykład:

Załóżmy, że firma rekrutuje wielu pracowników w różnych działach. W takim przypadku indeksowanie klastrowe w DBMS powinno zostać utworzone dla wszystkich pracowników należących do tego samego działu.

Jest on rozpatrywany w pojedynczym klastrze, a punkty indeksu wskazują na klaster jako całość. Tutaj Department _no jest kluczem nieunikalnym.

Co to jest indeks wielopoziomowy?

Indeksowanie wielopoziomowe w Baza danych jest tworzony, gdy indeks podstawowy nie mieści się w pamięci. W przypadku tego typu metody indeksowania można zmniejszyć liczbę dostępów do dysku, aby skrócić dowolny rekord i przechowywać go na dysku jako plik sekwencyjny, a następnie utworzyć na tym pliku rzadką bazę.

Indeks wielopoziomowy

Indeks B-drzewa

Indeks B-tree jest szeroko stosowaną strukturą danych do indeksowania drzewiastego w systemie DBMS. Jest to wielopoziomowy format indeksowania opartego na drzewie w technice DBMS, który jest zrównoważony drzewa wyszukiwania binarnego. Wszystkie węzły-liście drzewa B oznaczają rzeczywiste wskaźniki danych.

Co więcej, wszystkie węzły-liście są powiązane listą łączy, która pozwala drzewu B na obsługę zarówno dostępu losowego, jak i sekwencyjnego.

Indeks B-drzewa

  • Węzły prowadzące muszą mieć od 2 do 4 wartości.
  • Każda ścieżka od korzenia do liścia ma przeważnie tę samą długość.
  • Węzły inne niż liście, poza węzłem głównym, mają od 3 do 5 węzłów potomnych.
  • Każdy węzeł, który nie jest korzeniem lub liściem, ma od n/2] do n dzieci.

Zalety indeksowania

Ważne zalety/zalety indeksowania to:

  • Pomaga ograniczyć całkowitą liczbę operacji wejścia/wyjścia potrzebnych do pobrania danych, dzięki czemu nie trzeba uzyskiwać dostępu do wiersza w bazie danych z poziomu struktury indeksu.
  • Oferuje szybsze wyszukiwanie i odzyskiwanie danych dla użytkowników.
  • Indeksowanie pomaga również zmniejszyć obszar tabel, ponieważ nie trzeba łączyć się z wierszem w tabeli, ponieważ nie ma potrzeby przechowywania identyfikatora ROWID w indeksie. W ten sposób będziesz mógł zmniejszyć obszar tabel.
  • Nie można sortować danych w węzłach wiodących, ponieważ klasyfikuje je wartość klucza podstawowego.

Wady indeksowania

Ważne wady/wady indeksowania to:

  • Aby móc wykonać indeksowanie systemu zarządzania bazami danych, potrzebny jest klucz podstawowy w tabeli o unikalnej wartości.
  • Na zaindeksowanych danych nie można wykonywać żadnych innych indeksów w Bazie Danych.
  • Nie wolno dzielić tabeli zorganizowanej według indeksu.
  • Indeksowanie SQL Zmniejsza wydajność zapytań INSERT, DELETE i UPDATE.

Podsumowanie

  • Indeksowanie to mała tabela składająca się z dwóch kolumn.
  • Dwa główne typy metod indeksowania to: 1) Indeksowanie pierwotne 2) Indeksowanie wtórne.
  • Indeks podstawowy to uporządkowany plik o stałej długości i dwóch polach.
  • Podstawowe indeksowanie jest również podzielone na dwa typy: 1) Indeks gęsty 2) Indeks rzadki.
  • W gęstym indeksie tworzony jest rekord dla każdego klucza wyszukiwania o wartości w bazie danych.
  • Metoda rzadkiego indeksowania pomaga rozwiązać problemy związane z gęstym indeksowaniem.
  • Indeks wtórny w systemie DBMS to metoda indeksowania, której klucz wyszukiwania określa kolejność inną niż kolejność pliku.
  • ClusterIndeks definiowany jest jako plik danych zamówienia.
  • Indeksowanie wielopoziomowe powstaje, gdy indeks główny nie mieści się w pamięci.
  • Największą zaletą indeksowania jest to, że pozwala ono ograniczyć całkowitą liczbę operacji wejścia/wyjścia niezbędnych do pobrania danych.
  • Największą wadą wykonywania indeksowania systemu zarządzania bazami danych jest konieczność posiadania klucza podstawowego w tabeli o unikalnej wartości.