Indexarea în DBMS: Ce este, Tipuri de indexuri cu EXEMPLE

Ce este indexarea?

Indexarea este o tehnică de structură a datelor care vă permite să preluați rapid înregistrări dintr-un fișier de bază de date. Un index este un tabel mic care are doar două coloane. Prima coloană cuprinde o copie a cheii primare sau candidate a unui tabel. A doua coloană conține un set de indicii pentru păstrarea adresei blocului de disc în care a fost stocată acea valoare cheie specifică.

Un index -

  • Preia o cheie de căutare ca intrare
  • Returnează eficient o colecție de înregistrări care se potrivesc.

Tipuri de indexare în DBMS

Tipuri de indexare în DBMS
Tipul de indici din baza de date

Indexarea în baza de date este definită pe baza atributelor sale de indexare. Două tipuri principale de metode de indexare sunt:

  • Indexarea primară
  • Indexare secundară

Index primar în DBMS

Primary Index este un fișier ordonat cu lungime fixă ​​cu două câmpuri. Primul câmp este același cu o cheie primară, iar al doilea, fișier este indicat către acel bloc de date specific. În Indexul primar, există întotdeauna o relație unu la unu între intrările din tabelul de index.

Indexarea primară în DBMS este, de asemenea, împărțită în două tipuri.

  • Index dens
  • Index rar

Index dens

Într-un index dens, o înregistrare este creată pentru fiecare cheie de căutare evaluată în baza de date. Acest lucru vă ajută să căutați mai rapid, dar are nevoie de mai mult spațiu pentru a stoca înregistrările index. În această indexare, înregistrările metodei conțin valoarea cheii de căutare și indică către înregistrarea reală de pe disc.

Index dens

Index rar

Este o înregistrare index care apare doar pentru unele dintre valorile din fișier. Sparse Index vă ajută să rezolvați problemele de indexare densă în Baze de date. În această metodă de tehnică de indexare, o serie de coloane de index stochează aceeași adresă de bloc de date, iar atunci când datele trebuie preluate, adresa blocului va fi preluată.

Cu toate acestea, Indexul rară stochează înregistrări de index doar pentru unele valori ale cheilor de căutare. Are nevoie de mai puțin spațiu, mai puțină întreținere pentru inserare și ștergere, dar este mai lent în comparație cu Indexul dens pentru localizarea înregistrărilor.

Mai jos este un index al bazei de date Exemplu de index rar

Index rar

Index secundar în DBMS

Indexul secundar din DBMS poate fi generat de un câmp care are o valoare unică pentru fiecare înregistrare și ar trebui să fie o cheie candidată. Este, de asemenea, cunoscut ca un index non-clustering.

Această tehnică de indexare a bazei de date pe două niveluri este utilizată pentru a reduce dimensiunea mapării primului nivel. Pentru primul nivel, o gamă largă de numere este selectată din acest motiv; dimensiunea cartografierii rămâne întotdeauna mică.

Exemplu de index secundar

Să înțelegem indexarea secundară cu un exemplu de index al bazei de date:

Într-o bază de date de cont bancar, datele sunt stocate secvenţial prin acc_no; poate doriți să găsiți toate conturile într-o anumită sucursală a băncii ABC.

Aici, puteți avea un index secundar în DBMS pentru fiecare cheie de căutare. Înregistrarea index este un punct de înregistrare către o găleată care conține indicatorii către toate înregistrările cu valoarea cheie de căutare specifică.

Exemplu de index secundar

Clustering Index în DBMS

Într-un index grupat, înregistrările în sine sunt stocate în index și nu pointeri. Uneori, Indexul este creat pe coloane non-cheie primară care ar putea să nu fie unice pentru fiecare înregistrare. Într-o astfel de situație, puteți grupa două sau mai multe coloane pentru a obține valorile unice și a crea un index care se numește Index grupat. Acest lucru vă ajută, de asemenea, să identificați mai rapid înregistrarea.

Exemplu:

Să presupunem că o companie a recrutat mulți angajați în diverse departamente. În acest caz, indexarea grupării în DBMS ar trebui creată pentru toți angajații care aparțin aceluiași departament.

Este considerat într-un singur cluster, iar punctele index indică clusterul în ansamblu. Aici, Departamentul _nu este o cheie neunică.

Ce este Indexul pe mai multe niveluri?

Indexarea pe mai multe niveluri în Baza de date este creat atunci când un index primar nu se încadrează în memorie. În acest tip de metodă de indexare, puteți reduce numărul de accesări la disc pentru a scurta orice înregistrare și păstrată pe un disc ca fișier secvențial și puteți crea o bază rară pe acel fișier.

Index pe mai multe niveluri

B-Tree Index

Indexul B-tree este structurile de date utilizate pe scară largă pentru indexarea bazată pe arbore în DBMS. Este un format pe mai multe niveluri de indexare bazată pe arbore în tehnica DBMS care a fost echilibrată arbori binari de căutare. Toate nodurile frunze ale arborelui B semnifică indicatorii de date reale.

Mai mult, toate nodurile frunză sunt interconectate cu o listă de legături, ceea ce permite unui arbore B să accepte atât acces aleatoriu, cât și secvenţial.

B-Tree Index

  • Nodurile conducătoare trebuie să aibă între 2 și 4 valori.
  • Fiecare cale de la rădăcină la frunză este în cea mai mare parte pe o lungime egală.
  • Nodurile care nu sunt frunze, în afară de nodul rădăcină, au între 3 și 5 noduri copii.
  • Fiecare nod care nu este o rădăcină sau o frunză are între n/2] și n copii.

Avantajele indexării

Avantajele/avantajele importante ale indexării sunt:

  • Vă ajută să reduceți numărul total de operațiuni I/O necesare pentru a prelua acele date, astfel încât să nu aveți nevoie să accesați un rând din baza de date dintr-o structură de index.
  • Oferă utilizatorilor o căutare și o recuperare mai rapidă a datelor.
  • Indexarea vă ajută, de asemenea, să reduceți spațiul tabelului, deoarece nu trebuie să vă conectați la un rând dintr-un tabel, deoarece nu este nevoie să stocați ROWID-ul în Index. Astfel, veți putea reduce spațiul de masă.
  • Nu puteți sorta datele în nodurile principale, deoarece valoarea cheii primare le clasifică.

Dezavantajele indexării

Dezavantajele/contraxele importante ale indexării sunt:

  • Pentru a efectua sistemul de management al bazei de date de indexare, aveți nevoie de o cheie primară pe tabel cu o valoare unică.
  • Nu puteți efectua niciun alt index în baza de date pe datele indexate.
  • Nu aveți voie să partiționați un tabel organizat în index.
  • Indexarea SQL Scăderea performanței în interogarea INSERT, DELETE și UPDATE.

Rezumat

  • Indexarea este un tabel mic format din două coloane.
  • Două tipuri principale de metode de indexare sunt 1) Indexarea primară 2) Indexarea secundară.
  • Primary Index este un fișier ordonat cu lungime fixă ​​cu două câmpuri.
  • Indexarea primară este, de asemenea, împărțită în două tipuri: 1) Index dens 2) Index rar.
  • Într-un index dens, o înregistrare este creată pentru fiecare cheie de căutare evaluată în baza de date.
  • O metodă de indexare rară vă ajută să rezolvați problemele de indexare densă.
  • Indexul secundar în DBMS este o metodă de indexare a cărei cheie de căutare specifică o ordine diferită de ordinea secvențială a fișierului.
  • Clusterindex este definit ca un fișier cu date de comandă.
  • Indexarea pe mai multe niveluri este creată atunci când un index primar nu se potrivește în memorie.
  • Cel mai mare beneficiu al indexării este că vă ajută să reduceți numărul total de operațiuni I/O necesare pentru a prelua acele date.
  • Cel mai mare dezavantaj al efectuării sistemului de management al bazei de date de indexare, aveți nevoie de o cheie primară pe tabel cu o valoare unică.