Preuzmite Baze podataka-Indeksna B stabla i više Slajdovi u PDF od Informatika samo na Docsity!
Indeksne datoteke
s B - stablima
B - stablo, formiranje, traženje,
ažuriranje i obrada indeksne
datoteke sa B - stablom
Organizacija datoteka
OD – Datoteke s B-stablima
Sadržaj
- Osnovno B-stablo
- Formiranje datoteke s B-stablom
- Traženje u datoteci s B - stablom
- Obrada datoteke s B-stablom
- Ažuriranje datoteke s B-stablom
- Ocena karakteristika datoteka s B-stablom
- B*-stablo, B
-stablo, B
-stablo
Osnovno B-stablo
- B-stablo
- čvor = blok zone indeksa
- čvor sadrži niz elemenata
- element = propagirana vrednost ključa iz primarne
zone
- svaki čvor sadrži maksimalno 2r elemenata
- svaki čvor, izuzev korena, sadrži minimalno r
elemenata
- koren sadrži minimalno 1 element
- svaki čvor sa m elemenata, koji ne predstavlja list,
poseduje m + 1 direktno podređenih čvorova
Osnovno B-stablo
- Format čvora B-stabla
- niz elemenata
- svaki element: trojka ( ke , Ae , Pe ), e { 1 ,..., m }
- ke vrednost ključa sloga Si ( i { 1 , 2 ,..., N })
- Ae pridruženi podatak
- Pe pokazivač ka podstablu s većim vrednostima ključa od ke
- Uslovi stabla traženja
- ( i { 1 ,..., m - 1 })( ki < ki+1 )
- ( k K ( P 0 ))( k < k 1 )
- ( i { 1 ,..., m - 1 })( k K ( Pi ))( ki < k < ki + 1 )
- ( k K ( Pm ))( km < k )
Zaglavlje
bloka (^) P 0
Neiskorišćeni
k^ prostor 1 A 1 P 1 k 2 A 2 P 2 ...^ km Am Pm
Osnovno B-stablo
- Popunjenost B-stabla
- za isti broj slogova N i rang r , B-stablo može
posedovati različite visine i različite brojeve čvorova
- Ekstremni slučajevi popunjenosti B-stabla
- poluprazno (polupuno) B-stablo
- svi čvorovi, osim korena, sadrže po r elemenata
- koren sadrži samo 1 element
- stablo ne može biti manje popunjeno od polupraznog
- kompletno (popunjeno) B - stablo
- svi čvorovi sadrže po 2r elemenata
- stablo ne može biti više popunjeno od kompletnog
Osnovno B-stablo
- Broj čvorova i elemenata
- na različitim nivoima hijerarhije B-stabla ranga r
Nivo Visina
Kompletno B-stablo Poluprazno B-stablo
Broj čvorova
Broj elemenata
Broj čvorova
Broj elemenata
0 1 1 2r 1 1
1 2 ( 2r + 1 )^1 2r ( 2r + 1 )^1 2 2r
2 3 ( 2r + 1 )^2 2r ( 2r + 1 )^2 2 ( r + 1 )^1 2r ( r + 1 )^1
... ... … … … …
i - 1 i ( 2r + 1 ) i-^1 2r ( 2r + 1 ) i-^1 2 ( r + 1 ) i–^2 2r ( r + 1 ) i–^2
... ... … … … …
h - 1 h ( 2r + 1 ) h–^1 2r ( 2r + 1 ) h–^1 2 ( r + 1 ) h–^2 2 r ( r + 1 ) h–^2
Osnovno B-stablo
- Broj čvorova i visina stabla
- kompletno stablo
- visina ne može biti manja od hmin
- ukupan broj čvorova ne može biti manji od Cmin
r
r C
h
kp
^2 (^2 ^1 ) ^1
h N rCkp N r
hkp log 2 r 1 ( N 1 ), hmin log 2 r 1 ( N 1 )
r
N
C
r
N
C (^) kp min 2
Osnovno B-stablo
- Broj čvorova i visina stabla
- poluprazno stablo
- visina ne može biti veća od hmax
- ukupan broj čvorova ne može biti veći od Cmax
, 1 ( 1 )
1
pp
h
pp N r C r
r C 2 ( 1 ) 1
1
h N r
, 1 log 2
1 log 1 1
N
h
N
h (^) pp r max r
r
N
C
r
N
C (^) pp max
Sadržaj
- Osnovno B-stablo
- Formiranje datoteke s B-stablom
- Traženje u datoteci s B - stablom
- Obrada datoteke s B-stablom
- Ažuriranje datoteke s B-stablom
- Ocena karakteristika datoteka s B-stablom
- B*-stablo, B
-stablo, B
-stablo
Formiranje datoteke s B-stablom
- Indeksna metoda pristupa
- operativni sistem
- OS mainframe računara poseduju metode pristupa za formiranje, korišćenje i ažuriranje indeksnih datoteka sa B - stablima
- programski jezici
- korišćenje specijalizovanih biblioteka za indeksnu metodu pristupa, ili
- korisnici sami pišu svoje metode
- SUBP
- poseduju sopstvene indeksne metode pristupa
- koriste ih u izgradnji fizičkih struktura baza podataka
Formiranje datoteke s B-stablom
- Formiranje datoteke s B-stablom
- formiranje primarne zone
- preuzimanjem postojeće (serijske) datoteke ili
- sukcesivnim učitavanjem slogova ulazne (serijske) datoteke
- formiranje zone indeksa
- upisivanje zaglavlja stabla traženja u zonu indeksa
- inicijalno, nedefinisane vrednosti pokazivača na koren stabla i krajnji levi čvor stabla
- inicijalizuje se pokazivač na prvi blok u lancu praznih blokova
- formiranje lanca praznih blokova (čvorova)
- sukcesivno čitanje slogova primarne zone i formiranje B- stabla, dinamičkim upisivanjem novih elemenata
- upisivanje prvog elementa formiranje korena stabla
Formiranje datoteke s B-stablom
- Upis novog elementa u B-stablo
- prethodi mu neuspešno traženje elementa (tso)
- započinje u korenu
- uvek završava u listu
- upoređivanjem argumenta traženja s vrednostima ključa u svakom čvoru i
- praćenjem pokazivača na čvorove na jednom pristupnom putu od korena do lista
- započinje na mestu zaustavljanja neuspešnog
traženja u listu
- list može biti potpuno ili delimično popunjen
Formiranje datoteke s B-stablom
- Upis novog elementa u B-stablo
P (^0) k 1 A 1 P 1 ...^ kr+1 Ar+1 Pr+1 ...^ k2r A2r P2r k2r+1 A2r+1 P2r+
P (^0) k 1 A 1 P 1 ...^ kr Ar Pr
Pr+1 (^) k r+2 Ar+2 Pr+2 ...^ k2r+1 A2r+1 P2r+
... (^) ... ... ... k r+1 Ar+ ...
Formiranje datoteke s B-stablom
- Primer
- ulazna serijska datoteka – primarna zona
- N = 18 slogova
- rang stabla: r = 2
- visina stabla: h = 3
- kapacitet svakog čvora: 2r = 4 elementa