Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 13

1.

Definisanje strukture podataka


Osim tzv. logičke strukture podataka postoji još jedan pojam vezan za organizovanje
podataka u programu: tip podataka.
Kada govorimo o sintaksi programskih jezika, termin »struktura podataka« sreće se
znatno ređe od termina »tip podataka«. Odnos ova dva termina nije do kraja definisan.
Neki autori u logičku strukturu podataka ne ubrajaju operacije, a s druge strane skup
operacija je integralni deo definicije svakog tipa podataka.
Ukoliko se prihvati činjenica da je skup operacija neodvojivi deo strukture podataka dolazi se
do zaključka da su strukture i tipovi podataka, dva modela ili pogleda istog entiteta:
organizacije podataka.
Tipovi podataka, kao model, koriste se u programskim jezicima, dok se strukture
podataka upotrebljavaju u fazi projektovanja softvera.
Kao što prema nivou apstrakcije razlikujemo logičke i fizičke strukture
podataka, tako kod tipova razlikujemo apstraktne i konkretne tipove
podataka. Apstraktni tip podataka obuhvata definiciju skupova koji u njemu učestvuju,
kao i sintaksu i semantiku operacija nad tim skupovima. Kada se ovom tipu doda konkretna,
programska realizacija, dobija se konkretni tip podataka.
Komponente opisa tipa podataka su:
 Naziv tipa
 Spisak primitivnih tipova
 Sintaksa operacija obuhvaćenih tipom
 Semantika operacija
Sintaksni deo koji obuhvata tačke 1,2,3 nosi naziv signura tipa. Kada se signaturi tipa
doda opis semantike dobija se specifikacija tipa, odnosno apstraktni tip.
Tipovi koji imaju druge tipove za parametre zovu se generički ili parametrizovani
tipovi.

2.Pojam strukture podataka i klasifikacija strukture podataka


Pod strukturom podataka podrazumeva se skup elemenata podataka između kojih
su
definisane određene relacije.
Element podataka može biti ili atom (tj. sa tačke gledišta programa skalar određenog
tipa–celobrojan, realan itd.) ili struktura podataka.
Relacije između elemenata mogu biti različite, od najjednostavnije relacije poretka kakva
se srećekod vektora kada se kaže “i-ti element i i+1 element su u relaciji zato što i-ti element
prethodi i+1elementu”, preko relacija tipa “element student je u relaciji sa elementom
fakultet s obzirom dastudent studira na datom fakultetu”, pa do mnogo složenijih
relacija.
Jedna od često korišćenih definicija struktura podataka glasi:
Struktura podataka je uređena n+1 – torka (S, r1, r2, ... , rn), n>=1 gde je S skup elemenata
(koji i sami mogu biti strukture), a ri, i=1,2,...,n su relacije definisane naskupu S.

Strukture podataka se klasifikuju na više načina, a ovde će se navesti samo neke klasifikacije.
Prema nivou apstrakcije strukture podataka se dele na:
 Logičke strukture podataka i
 Fizičke strukture podataka.
Prema mestu memorisanja strukture se dele na:
 Operativne strukture ( strukture podataka u operativnoj memoriji ) i
 Strukture podataka na masovnoj memoriji.
Prema tipu relacija strukture podataka se dele na:
 Linearne strukture,
 Strukture tipa stabla i
 Mrežne strukture.
U praksi se najčešće susreću slučajevi struktura podataka sa jednom jedinom relacijom, a i
strukture sa više relacija mogu se posmatrati kao skup struktura sa istim elementima i
jednom relacijom, te ćemo se zadržati na strukturi oblika ( S,r ).
Posmatrana kao uređeni par struktura podataka ne vodi računa o načinu smeštanja u
memoriju već samo o (tzv. logičkim) vezama između elemenata, te iz tog razloga nosi naziv
logička struktura podataka. Fizička struktura podataka predstavlja konkretnu strukturu
onako kako je ona smeštena u memoriju. Logička i fizička struktura po pravilu nisu istovetne.
Podela struktura podataka po mestu nalaženja vrši se iz razloga što je problem obrade
podataka, u slučaju kada su podaci u operativnoj memoriji potpuno različiti od problema
obrade podataka kada se podaci nalaze u masovnoj memoriji. Količina podataka u
operativnoj memoriji je mnogostruko manja od količine podataka u masovnoj memoriji.
Takođe, način pristupa podacima u operativnoj memoriji je suštinski različit od načina
pristupa podacima u masovnoj memoriji.
U slučaju klasifikacije struktura podataka prema tipu relacija, kao model strukture podataka
posmatra se diraf ( orentisani graf ): ( X , U )
gde je :
 X skup čvorova digrafa koji odgovara elementima strukture podataka,
 U skup grana koje predstavljaju navedenu binarnu relaciju u skupu X.
Linearnu strukturu podataka opisuje digraf ( X , U ) čiji se čvorovi mogu rasporediti u niz:
x1, x2, ... , xn tako da skup grana U prestavljaju grane: (xi, xi+1), i=1, 2, ... , (n-1).
Ako se navedenom skupu grana priključi i grana (xn, x1) onda se dobija ciklička struktura
podataka.
Struktura tipa stablo ima tu osobinu da svaki čvor, osim jednog, ima tačno jednog
predhodnika. Čvorovi koji nemaju sledbenika nazivaju se listovi. Stablo kod kojeg svaki čvor,
osim listova, ima najviše dva sledbenika naziva se binarno stablo.
Mrežna struktura podataka predstavlja se opštim digrafom u kojem svaki čvor ima
proizvoljan broj sledbenika.
3.Osnovne operacije nad strukturama podaraka, Operativne strukture
podataka, Staticke strukture podataka
Najvažnije osnovne operacije koje se izvode nad strukturama podataka su:
 Pristup,
 Dodavanje,
 Brisanje,
 Pretraživanje,
 Sortiranje,
 Kopiranje,
 Spajanje,
 Razdvajanje.
Operativne strukture se klasifikuju prema načinu izmene sadržaja i dele na:
 Statičke strukture, kod kojih nije mogućno ni dodavati ni uklanjati elemente.
 Polustatičke strukture, kod kojih su izmene elemenata moguće, ali samo pod
određenimuslovima.
 Dinamičke strukture, kod kojih se izmene elemenata mogu vršiti bez ikakvih
ograničenja.
Najpoznatije statičke strukture su polja (jednodimenzionalna – vektori, dvodimenzionalna
– matrice i višedimenzionalna). Osnovna karakteristika polja je da su svi elementi polja istog
tipa i da se u programskoj deklaraciji polja po pravilu navodi kompletan opseg raspoloživih
vrednosti za svaki indeks koji se ne može menjati.
Najjednostavniji način da se realizuje fizička struktura tipa polje je da se za elemente polja
rezervišu uzastopne memorijske lokacije.
Fizička struktura se dopunjava deskriptorima koji u načelu sadrže opšte podatke o polju kao
što su:
 Indikator koji ukazuje da li je u pitanju polje, a ne neka druga struktura,
 Naziv polja,
 Adresu prvog elementa polja,
 Najmanje i najveće vrednosti indeksa,
 Tip elementa polja,
 Broj lokacija po jednom elementu polja izražen u jedinicama adresiranja (bajt, reč).
4.Polustaticke strukture i stek

Opšta karakteristika polustatičkih struktura ogleda se u tome da je dodavanje i uklanjanje


elemenata kao i pristup elementima moguć samo na tačno određenim mestima u strukturi.
Najpoznatije polustatičke strukture su:
 Stek (magacin, LIFO red),
 Red (FIFO red),
 Dek.
Zajednička karakteristika ovih struktura je da su sve u osnovi linearne, a razlikuju se jedino
pomestu pristupa elementima, odnosno po mestu gde je mogućno dodavati i uklanjati
elemente.

Za element xn se kaže da je navrhu steka, a za element x1 da je na dnu steka.Pristup je


dozvoljen samo elementu xn. Logička operacija pristupa ostvaruje se funkcijom koja ima
opšte prihvaćeni naziv TOP (vrh). Dodavanje elemenata u stek vrši se isključivo na vrh,
odnosno ispred elementa xn. Procedura za dodavanje nosi standardan naziv PUSH (u
prevodu sa engl. gurati).
Uklanjanje elemenata iz steka se takođe vrši na vrhu steka. Treba imati u vidu da se u slučaju
praznog steka ne može vršiti operacija uklanjanja.
Dakle, kod steka se može ukloniti samo onaj element koji je hronološki poslednji dodat u
stek. Zato se stek naziva i LIFO red (Last In First Out).
Fizički se stek može realizovati na različite načine, ali su najpoznatiji:
 Sekvencijalna organizacija steka i
 Spregnuta organizacija steka
Sekvencijalna realizacija steka podrazumeva predstavljanje steka pomoću fizičkog vektora
(odnosno niza memorijskih lokacija) dopunjenog deskriptorom.
Kod spregnute realizacije steka memorijski prostor dodeljen svakom elementu steka
dopunjuje se ukazivačem (adresom) sledećeg po redu elemenata steka.
5.Red i deg
Ova struktura je slična steku, isto je linearna, a razlikuje se od steka po mestu dodavanja tj.
uklanjanja elemenata. Kod reda se elementi dodaju na jednom kraju linearne strukture, a
pristupa se ili uklanja na suprotnom kraju, tj. najpre se pristupa onom elementu koji je prvi
ušao u red. Otuda i potiče naziv FIFO (First In First Out).
Kao i kod steka najpoznatije fizičke realizacije reda su sekvencijalna i spregnuta. Operacije
nad redom su praktično identične kao operacije nad stekom s tim što se dodavanje
elemenata vrši iza poslednjeg elementa, a uklanja se prvi element.

Naziv dek (engl. deque) je akronim od double ended queue (>>red sa dva kraja<<) i po
svojim osobina predstavlja sintezu steka i reda s obzirom da je i pristup, dodavanje i
uklanjanje elemenata dozvoljeno na oba kraja.
Osnovne operacije na deku su:
 FRONT (prvi)
 REAR (poslednji)
 POPF (uklanjanje prvog)
 POPR (uklanjanje poslednjeg)
 PUSHF (dodavanje prvog)
 PUSHR (dodavanje poslednjeg)
i potpuno su analogne operacijama kod steka i reda.
6.Dinamicke strukture podatak, liste, jednostruko spregnite liste

Osnovna karakteristika ovih struktura jeste mogućnost pristupa svakom elementu (čvoru) u
strukturi bez menjanja strukture, kao i mogućnost dodavanja ili uklanjanja čvorova bez
ikakvih ograničenja. Broj čvorova je teorijski neograničen, a u fizičkoj strukturi se logički
susedni čvorovi (čvorovi x i y ili y i x su logički ako su u relaciji) u načelu ne nalaze na fizički
susednim memorijskim lokacijama. Osnovne dinamičke strukture su liste i stabla.

Liste su najjednostavnije dinamičke strukture i dele se na:


 Jednostruko spregnute liste (ili linearne liste),
 Dvostruko spregnute liste i
 Višestruke liste.

Jednostruko spregnute liste se karakterišu sledećim osobinama:


 Struktura je linearna (svaki čvor osim jednog ima svog prethodnika i svaki čvor osim
 jednog ima svog sledbenika; čvor bez prethodnika zove se indeks početka i označava
se sa IP).
 Moguć je pristup svakom elementu bez izmene strukture.
 Dozvoljeno je dodavanje elementa iza svakog elementa i ispred svakog elementa
osim ispred indeksa početka.
 Dozvoljeno je uklanjanje svakog elementa osim indeksa početka.
Najvažnija primitivna funkcija je funkcija sledeći koja za dati element, kao rezultat daje
njegovog
neposrednog sledbenika.
Za jednostruko spregnute liste su od značaja i sledeće operacije:
 Određivanje broja elemenata u listi (ne računajući indeks početka),
 Formiranje kopije liste,
 Spajanje dve ili više lista u jednu,
 Razdvajanje listi na dve ili više listi,
 Sortiranje liste (izmena postojeće relacije u drugu, istog tipa, ali različitog sadržaja, a
na
 bazi informacionog sadržaja elementa).
Fizička realizacija jednostruko spregnutih lista je identična sa spregnutim realizacijama
polustatičkih struktura, s tim što se u deskriptorskom polju obično nalaze sledeće
informacije:
 Kod strukture podataka,
 Naziv liste,
 Indeks početka,
 Opis elementa,
 Broj elemenata u listi.
7.Dvostruke spregnute liste, visestruko spregnute liste i stablo

Dvostruko spregnute liste predstavljaju uopštenje jednostruko spregnutih lista kod kojih se
svakom uređenom paru (a,b) iz relacije r u jednostrukoj spregnutoj listi pridružuje uređeni
par (b,a). Dakle, susedni elementi su povezani u oba smera. Dvostruko spregnuta lista može
biti i cirkularna, ako su prvi i poslednji element spregnuti u oba smera.

Višestruko spregnute liste predstavljaju uopštenje jednostruko i dvostruko spregnutih lista


tako što je jedan elemenat spregnut sa više elemenata.

Stablo (ili drvo) je najčešće korišćena dinamička struktura sa sledećim osobinama:


 Svaki element (čvor) ima najviše jednog neposrednog prethodnika,
 Postoji tačno jedan element bez neposrednog prethodnika, koji se naziva koren
stabla.
 Elementi koji nemaju sledbenike nazivaju se listovi.
Pod redom stabla podrazumeva se najveći broj sledbenika nekog elementa. Broj
elemenata
najdužeg puta naziva se visina stabla. Svaki element stabla sa svim svojim sledbenicima
sve do
listova čini podstablo datog stabla. Pristup elementu stabla vrši se isključivo na osnovu
njegovog informacionog sadržaja. Da bi se obezbedilo da se pristup datom elementu
ostvaruje
putem koji vodi ka tom elementu, neophodno je skup sledbenika urediti po određenim
pravilima. Zato postoje funkcije sledeći, funkcija izaberi (koja za skup sledbenika
omogućava
izbor jedinstvenog sledećeg elementa na osnovu nekog kriterijuma), funkcija koren (koja
ima za
zadatak da odredi koren stabla), funkcija pristupi.
8.Struktura podataka smestena na masovnoj memoriji, osnovni pojmovi i
operacije nad datotekama

Struktura podataka smeštene na masovnu memoriju tradicionalno se nazivaju organizacija


podataka. Podaci na masovnim memorijama se organizuju u datotekama. Datoteka
predstavlja
uređeni skup srodnih slogova.
 Slog - predstavlja uredjeni skup polja koji se mogu tretirati kao jedinica koju
obrađuje neki program.
 Polje - jeste osobina entiteta relevantna za posmatrani informacioni sistem i
predstavlja elementarni podatak.

Operacije nad datotekama su sledeće:


 Kreiranje datoteke (CREATE ILI MAKE),
 Proširenje datoteke (EXTEND),
 Otvaranje datoteke (OPEN),
 Zatvaranje datoteke (CLOSE),
 Brisanje datoteke (DELETE).
Pre nego što se podaci mogu upisati u datoteku, neophodno je uraditi proces kreiranja:
 Identifikovati perifernu jedinicu gde će se datoteka smestiti nakon kreiranja,
 Dati datoteci naziv, kako bi se mogla identifikovati među ostalim datotekama na
računarskom sistemu,
 Definisati veličinu datoteku, kako bi se na medijumu nosača podataka rezervisao
prostor za smeštanje podataka u datoteku,
 Definisati nacin organizacije datoteke,
 Definisati veličinu bloka,
 Definisati veličinu sloga.
Ove informacije koje karakterišu datoteku nazivaju se atributi, osim informacije o
identifikaciji periferne jedinice koja se upisuje u zaglavlje (deskriptor) datoteke. Ove
operacije se mogu izvršiti samo ako je datoteka otvorena. Operacija brisanja datoteke
omogućava da se data datoteka ukloni iz sistema i dodeli drugoj datoteci, a ova operacija se
može izvršiti samo ako je zatvorena.
9.Operacije u datoteci (na zapisima), Razmena zapisa između programa
korisnika i datoteke (baferovanje)

Na zapisima se mogu vrsiti sledece operacije:


 Pristup sloga (POSITION) - omogućava korisniku da se pozicionira na odabrani zapis u
datoteci. Korisnik ovom operacijom želi samo da proveri da li dati zapis postoji ili ne.
 Čitanje sloga (READ), čitanje narednog sloga (READ NEXT) - mogućuje da se
odabrani zapis prebaci iz datoteke u radnu oblast korisnika u operativnoj memoriji.
Za izvršenje ove operacije potrebno je da korisnik saopšti jedinstveni idenntifikator
datoteke.
 Pisanje sloga (WRITE) - omogućuje da u datoteku upiše nov zapis.
 Modifikacija sloga (UPDATE) - omogućuje promenu sadržaja postojećeg zapisa u
datoteci. Da bi se to ostvarilo, korisnik obezbeđuje jedinstveni identifikator datoteke,
adresu u radnoj oblast programa korisnika koja sadrži modifikovani sadržaj zapisa i
veličinu zapisa.
 Uklanjanje sloga (DELETE) – omogućuje ukidanje zapisa korisniku da se iz datoteke
logički izbriše zapi. Za obavljanje ove operacije korisniku je dovoljan identifikator
datoteke.
Kada je odgovarajući blok koji sadrži željeni slog pronađen i ako se želi izvršiti operacija
čitanja, blok se sa medijima nosača podataka na perifernoj jedinici prebacuje u ulazno/izlazni
bafer. Ovaj bafer mora biti dovoljno velik da prihvati blok podataka. Tek iz ovog bafera
podaci se prenose u radnu oblast programa korisnika. U slučaju operacije pisanja situacija je
obrnuta.
10.Metode organizacije datoteka i sekvencijalne datoteke

Već je napred napomenuto da je jedna od osnovnih operacija nad strukturom podataka


pristup. Kod struktura na masovnim memorijama ima se u vidu pristup slogu u datoteci, a na
raspolaganju su dve osnovne tehnike pristupa:
Sekvencijalna (redosledna), gde se slogovima pristupa sekvencijalno onim redosledom kako
su smešteni u datoteci,
Slučajna (direktna), gde se slogovima ne pristupa ni prema kakvom unapred ustanovljenom
redosledu, već na slučajan način.
S obzirom na osnovne metode pristupa slogovima u datotekama, realizuju se sledeće
osnovne metode organizacije datoteka:
 Sekvencijalne datoteke,
 Relativne datoteke,
 Direktne i
 Indeks-sekvencijalne datoteke.
Razvijen je i čitav niz datoteka koje eliminišu nedostatke navedenih, kao na primer:
 Indeksne ili indeks nesekvencijalne datoteke,
 VSAM (Virtual Sequential Access Method),
 Inverzne datoteke.

Kod ovog tipa datoteke slogovi se memorišu neposredno jedan iza drugog i ovde se ne
uspostavlja odnos između mesta sloga u datoteci i sadržaja sloga. Zato su ove datoteke
nezavisne od memorijskih jedinica na kojima se realizuju, tj. mogu se smeštati na raznim
perifernim jedinicama.
Slogovi se smeštaju u datoteku logičkim ili hronološkim redosledom, što znači da se novi slog
može dodati samo na logičkom kraju datoteke. Dakle, svaki slog osim prvog i poslednjeg ima
svog prethodnika i sledbenika. Slogovi se u cilju racionalnog korišćenja prostora na
medijumu nosača podataka, udružuju u blokove.
Sekvencijalne datoteke mogu da budu hronološki uređene (kada se nazivaju
sekvencijalne
nesortirane ili serijske datoteke) ili da budu uređene prema logičkom redosledu (kada
se
nazivaju sekvencijalne sortirane datoteke).
Struktura sekvencijalne datoteke je sledeća:
 Blok zaglavlja datoteke, (sadrži potrebne informacije koje koriste programi za
upravljanje datotekom (file system) koji ulaze u sastav operativnih sistema),
 Blokovi podataka,
 Oznaka logičkog kraja datoteke, (neophodna je da bi se imala informacija o zauzeću
memorijskog prostora koji je dodeljen datoteci),
 Oznaka fizičkog kraja datoteke, (da bi se imala informacija posle kojeg bloka više
nema mogućnosti za dodavanje blokova (slogova) u datoteku).
11.Relativna datoteka

Relativne datoteke se realizuju na masovnim memorijama sa slučajnim pristupom.


Relativne datoteke se sastoje od blokova fiksne dužine. Svaka ćelija može da sadrži samo
jedan slog bez obzira na njegovu dužinu. Zbog toga se veličina ćelije definiše na osnovu
veličine najvećeg sloga. Svaka ćelija ne mora da sadrži slog. Kod relativnih datoteka slog se
smešta u bilo koju ćeliju koja mu se pridruži. Zato svaki slog kod relativnih datoteka podataka
sadrži i ključ koji služi da se slogovi smeštaju u datoteku, kao i da bi se slogovi „zahvatali“ iz
datoteke.
Prvi blok kod relativne datoteke sadrži zaglavlje datoteke. Identifikator koji nosi naziv
relativna adresa i koji služi za adresiranje slogova predstavlja redni broj sloga u datoteci.
Slogovi u relativnoj datoteci se numerišu od 1 do n. Blok koji predstavlja zaglavlje numeriše
se sa „0“.
Ako je u datoteci popunjen mali broj ćelija, kaže se da je datoteka retka, a ako je većina ćelija
popunjena, kaže se da je gusto popunjena datoteka.
Da bi se pristupilo datom slogu potrebno je da se broj sloga konvertuje u broj bloka i broj
ćelije u bloku. Neka je m-broj ćelija u bloku i k-broj željenog sloga.
BrojBloka = 𝑘𝑘−1+𝑚𝑚
𝑚𝑚
BrojCelijeUBloku = 1+mod((k-1+m)/m)
12.Direktne datoteke

Direktna organizacija datoteka (rasute ili hash datoteke) su slične relativnim datotekama,
ali su eliminisani neki osnovni nedostaci relativnih datoteka. Kod datoteka sa direktnom
organizacijom slogovi mogu biti različite dužine i u okviru bloka slede neposredno jedan iza
drugog.
Najveći nedostatak relativne datoteke je što se zapisu ne pristupa na osnovu vrednost
ključa, već prema vrednosti rednog broja sloga u datoteci, koji nije sastavni deo sloga.
Direktne datoteke predstavljaju način za uspostavljanje veze između ključa koji je sastavni
deo sloga i relativne adrese koja omogućava direktan pristup traženom slogu.
U opštem slučaju postupak za određivanje adrese sloga na osnovu vrednosti njegovog ključa
sastoji se od sledećih koraka:
 Pretvaranje alfanumeričke vrednosti ključa u numeričku (ako ključ već nije
numerički),
 Generisanje pseudoslučajnog broja na bazi numeričke vrednosti ključa,
 Pretvaranje pseudoslučajnog broja u relativnu adresu,
 Pretvaranje relativne adrese u fizičku (efektivnu) adresu.
Zbog nepostojanja metoda koja vrednost ključa jednoznačno preslikava u relativnu adresu,
dva različita ključa se mogu preslikati u istu relativnu adresu Slogovi čiji se ključevi
preslikavaju u istu adresu nazivaju se slogovi sinonimi. Pojava slogova sinonima se zove
kolizija.
Postoji više metoda za razrešavanje problema slogova sinonima. Najčešće korišćena metoda
koristi dve oblasti u adresnom polju datoteke.
Prilikom upisivanja sloga u datoteku, najpre se vrši pokušaj upisivanja u slog u
odgovarajući
blok (baket), koji pripada tzv. primarnoj (matičnoj) oblasti. Ukoliko je primarni
(matični) blok popunjen, formira se lanac sinonima organizovan kao jednostruke
spregnute strukture i slog se upisuje u taj lanac. Oblast koja sadrži sve lance sinonima naziva
se oblast prekoračenja (overflow area). Izloženi postupak usložnjava (i poskupljuje)
postupak dodavanja sloga u datoteku. Iz tih razloga, a da bi se poboljšala ekonomičnost u
korišćenju memorijskog prostora na medijumu nosača podataka kod direktnih datoteka se
ne dozvoljava sekvencijalno čitanje sloga iz datoteke. Dakle, kod direktnih datoteka ne
postoji relacija prethodni i naredni slog.
Iz napred navedenog se može zaključiti da kod direktnih datoteka ne postoji jedinstveno
mesto u datoteci na koje se dati slog upisuje, a kao posledica se javlja poboljšanje
ekonomičnosti korišćenja memorijskog prostora, ali se usporava proces pristupa datom
slogu.
13. Indeks-sekvencijalne datoteke

Kod indeks-sekvencijalnih (ISAM) datoteka slogovi se fizički ređaju po logičkom redosledu


(sekvencijalno sa porastom ključa), ali se na početku datoteke formira tzv. indeksna
struktura koja omogućava slučajan pristup.

Indeksna struktura je hijerarhijski uređena i predstavlja strukturu stabla. Na najvišem


hijerarhijskom nivou nalazi se osnovni indeks (master index) poznat i pod nazivom
koren indeksa (root of the index).

Slog u okviru indeksa sadrži najveću vrednost ključa i ukazivač na niži nivo indeksa. Prvi niži
nivo indeksa poznat je pod nazivom indeks cilindra, a sledeći niži nivo se zove indeks
traga (ili staze).

Slučajan pristup se ostvaruje prolaženjem kroz indeksnu strukturu, a sekvencijalni pristup


prolaženjem kroz sortiranu sekvencijalnu datoteku.

Slogovi podataka u datoteci sadrže slogove podataka korisnika. Skup podataka na koje
ukazuju ukazivači iz indeksa tragova predstavljaju primarnu oblast prekoračenja.
Blokovi koji ne ulaze u primarnu oblast podataka, a sadrže slogove podataka korisnika
obrazuju oblast prekoračenja. Kod ISAM datoteke oblast prekoračenja sastoji se od
oblasti prekoračenja cilindra i oblasti prekoračenja datoteke.

Oblast prekoračenja cilindra se sastoji od jednog ili više tragova na datom cilindru
namenjenim za prihvatanje slogova koji ne mogu da budu smešteni u primarno oblasti
podataka u datom cilindru. Slogovi u oblasti prekoračenja cilindra povezani su jedan sa
drugim preko rastuće vrednosti ključa, dok je poslednji slog na tragu cilindra u primarnoj
oblasti cilindra povezan sa prvim slogom u oblasti prekoračenja cilindra.

U slučaju da ni u oblasti prekoračenja cilindra nema dovoljno memorijskog prostora za


smeštanje slogova pridruženih datom cilindru, formira se oblast prekoračenja datoteke.
Oblastprekoračenja datoteka prihvata prekoračenja iz oblasti prekoračenja svih cilindara.
Popunjavanjem oblasti prekoračenja datoteke, datoteka je u potpunosti popunjena i dalje
dodavanje sloga u datoteku nije moguće bez kompletne reorganizacije datoteke.

You might also like