Upload
enisa-ismajli
View
237
Download
0
Embed Size (px)
DESCRIPTION
Kapitulli4 DB(1)
Citation preview
1Kapitulli 4
Strukturat e Indeksuara te Skedareve
2OBJEKTIVAT Tipet e Indekseve Single-level Ordered
Primary Indexes Clustering Indexes Secondary Indexes
Indekset Multilevel Dynamic Multilevel Indexes Using B-
Trees and B+-Trees Indexes on Multiple Keys
3Blloqet e Regjistrimeve Regjistrimet e nje skedari mund te
vendosen ne disk ne blloqe Nje bllok eshte njesia e te dhenes se
transferuar ndermjet diskut dhe memories
Kur madhesia e bllokut eshte me e madhe se madhesia e regjistrimit, cdo bllok do te permbaje disa regjistrime
4Blloqet e Regjistrimeve(vazhdim)
Nese madhesia e nje blloku eshte B bytes atehere per nje skedar regjistrimesh me madhesi fikse R bytes ne mund te vendosim Bfr = B Div R regjistrime per bllok
Bfr blocking factor per skedarin
5Skedaret e Regjistrimeve te Renditura (Sorted Files)
Fizikisht regjistrimet e nje skedari ne disk mund te renditen ne baze te vlerave te nje fushe ordering field.
Ky quhet ordered ose sequential file. Ne se ordering field eshte nje key field
atehere fusha quhet gjithashtu ordering key.
6Avantazhet e Sorted Files
Leximi i regjistrimeve behet me eficient Gjetja e regjistrimit pasardhes duke u nisur
nga ai korrent nuk kerkon aksesim te blloqeve te tjere
Duke perdorur nje search condition bazuar ne vleren e e nje ordering key field con ne nje aksesim me te shpejte kur perdoret teknika e kerkimit binar qe eshte nje permiresim i kerkimit linear
7Sorted Files(vazhdim) Nje kerkim binar per skedaret ne disk mund
te behet ne blloqe me teper se ne regjistrime Nese nje file ka b blloqe 1, 2, .., b;
regjistrimet jane te renditur sipas rendit rrites te fushes se tyre celes; dhe ne po kerkojme per nje regjistrim ku ordering key field = K
Nje kerkim linear akseson (b/2) blloqe nese regjistrimi gjendet dhe b blloqe nese regjistrimi nuk gjendet
Nje kerkim binar zakonisht akseson log2(b) blloqe nese regjistrime gjendet ose jo
8Indekset si Access Paths
Nje indeks single-level eshte nje skedar ndihmes qe e ben me eficient kerkimin per nje record ne nje skedar te dhenash.
Indeksi zakonisht specifikohet ne nje nga fushat e skedarit (megjithese ai mund te jete i specifikuar ne fusha te ndryshme).
Nje forme e nje indeksi eshte nje skedar elementesh , i cili eshte i renditur sipas fushes se vleres
Indeksi quhet nje access path ne fushe.
9Indekset si Access Paths (vazhdim)
Skedari indeks zakonisht okupon ne menyre te konsiderueshme me pak disk blocks se sa skedari i te dhenave sepse elementet e tij jane shume me te vogla
Nje kerkim binar ne indeks jep si rezultat (yields) nje pointer tek regjistrimi i skedarit
Indekset gjithashtu mund te karakterizohen si te dendur (dense) ose te rralle (sparse). Nje dense index ka nje element indeks per cdo search key
value (pra per cdo record) ne skedarin e te dhenave. Nje sparse (ose nondense) index, nga ana tjeter, ka
elemente indeks per vetem disa prej search values
10
Indekset si Access Paths (vazhdim)Shembull: Jepet skedari I meposhtem I te dhenave:PUNONJESI(EMRI, ID, ADRESA, DETYRA, PAGA, ... )Supozojme qe:record size R=150 bytesblock size B=512 bytesr=30000 records
Me pas , kemi :blocking factor Bfr= B div R= 512 div 150= 3 records/blocknumber of file blocks b= (r/Bfr)= (30000/3)= 10000 blocks
Per nje indeks ne fushen ID, marrim field size VID=9 bytes,marrim record pointer size PR=7 bytes. Atehere:index entry size RI=(VID+ PR)=(9+7)=16 bytesindex blocking factor BfrI= B div RI= 512 div 16= 32 entries/blocknumber of index blocks bI= (r/ BfrI)= (30000/32)= 938 blocksbinary search needs log2bI= log2938= 10 block accesses
Krahasuar me nje kosto mesatare te kerkimit linear prej:(b/2)= 30000/2= 15000 block accesses
Nese regjistrimet ne skedar jane te renditura, kosto e krkimit binar mund te jete:log2b= log230000= 15 block accesses
11
Tipet e Indekseve Single-Level Primary Index
Percaktohet ne nje data file te renditur Data file eshte i renditur sipas nje key field Perfshin nje element index per cdo bllok te dhenash
ne skedarin e te dhenave; elementi index ka vleren e fushes celes per regjistrimin e pare ne bllok, qe quhet block anchor
Nje skeme e ngjashme mund te perdori regjistrimin e fundit ne nje bllok.
Nje primary index eshte nje indeks nondense (sparse), sepse ai permban nje element per cdo bllok disku te skedarit te te dhenave dhe celesat e regjistrimit te tij anchor ne vend te cdo vlere kerkimi.
12
FIGUREPrimaryindex ne fushen celes te renditjes per nje skedar
13
Tipet e Indekseve Single-Level
Clustering Index Percaktohet per nje skedar te dhenash te renditura Skedari i te dhenave eshte i renditur sipas nje non-
key field ndryshe nga primary index, i cili kerkon qe fusha e renditjes se te dhenave te kete nje vlere te vetme per cdo regjistrim.
Perfshin nje index entry per cdo vlere te ndryshme te fushes; index entry shenon tek e dhena e pare e bllokut qe permban regjistrimet me kete vlere te fushes.
Eshte nje shembull tjeter i nondense index ku Insertion dhe Deletion eshte relativisht i drejtperdrejte me nje clustering index.
14
Nje clustering index ne fushen e
renditur jo celes te nje skedari Punonjesi.
15
ClusteringIndexme blloqete vecantaper cdogrupregjistrimesh
16
Tipet e Indekseve Single-Level Secondary Indexes
Eshte gjithashtu nje skedar i renditur me dy fusha Fusha e pare eshte e te njejtit tip si disa fusha jo
te renditura te data file dhe quhet indexing field e skedarit
Fusha e dyte eshte ose nje block pointer ose nje record pointer
Nje strukture aksesimi te tille e konsiderojme ne nje fushe celes- qe ka vlera te ndryshme per cdo regjistrim ne skedar
Nje fushe e tille shpesh quhet secondary key
17
Secondary Indexes(vazhdim) Ekziston nje element i indeksit per cdo
regjistrim ne data file, qe permban vleren e secondary key per regjistrimin dhe nje pointer ose tek blloku ku eshte ruajtur regjistrimi ose tek vete regjistrimi
Eshte nje dense index; permban nje element per cdo regjistrim ne data file
Kerkon, zakonisht me teper hapesire kujtese dhe nje kohe me te gjate kerkimi se primary index
18
Nje dense secondaryindex