25
1 Fizična organizacija Fizična organizacija podatkov podatkov Razpored zapisov v datoteki (zapis Razpored zapisov v datoteki (zapis vrstica tabele) vrstica tabele) zapisi spremenljivega formata zapisi spremenljivega formata število in tip zapisov ni vnaprej znan število in tip zapisov ni vnaprej znan redko pri PB, saj konceptualna in notranja shema redko pri PB, saj konceptualna in notranja shema narekujeta format zapisa narekujeta format zapisa nanaša (pojavlja) se pri pol-strukturiranih nanaša (pojavlja) se pri pol-strukturiranih podatkih kot je XML (znotraj zapisov je zajet podatkih kot je XML (znotraj zapisov je zajet tudi format zapisa, t.i. ‘self describing’ data) tudi format zapisa, t.i. ‘self describing’ data) zapisi fiksnega formata (naš fokus!) zapisi fiksnega formata (naš fokus!) format zapisa je znan vnaprej (zapisan je v format zapisa je znan vnaprej (zapisan je v notranji shemi) notranji shemi) ločimo: ločimo: zapise, ki imajo polja fiksne dolžine ali zapise, ki imajo polja fiksne dolžine ali zapise, ki imajo polja spremenljive dolžine zapise, ki imajo polja spremenljive dolžine

Fizična organizacija podatkov

  • Upload
    nira

  • View
    61

  • Download
    0

Embed Size (px)

DESCRIPTION

Fizična organizacija podatkov. Razpored zapisov v datoteki (zapis  vrstica tabele) zapisi spremenljivega formata število in tip zapisov ni vnaprej znan redko pri PB, saj konceptualna in notranja shema narekujeta format zapisa - PowerPoint PPT Presentation

Citation preview

Page 1: Fizična organizacija podatkov

11

Fizična organizacija Fizična organizacija podatkovpodatkov

Razpored zapisov v datoteki (zapis Razpored zapisov v datoteki (zapis vrstica tabele) vrstica tabele) zapisi spremenljivega formatazapisi spremenljivega formata

– število in tip zapisov ni vnaprej znanštevilo in tip zapisov ni vnaprej znan– redko pri PB, saj konceptualna in notranja shema narekujeta redko pri PB, saj konceptualna in notranja shema narekujeta

format zapisaformat zapisa– nanaša (pojavlja) se pri pol-strukturiranih podatkih kot je XML nanaša (pojavlja) se pri pol-strukturiranih podatkih kot je XML

(znotraj zapisov je zajet tudi format zapisa, t.i. ‘self describing’ (znotraj zapisov je zajet tudi format zapisa, t.i. ‘self describing’ data)data)

zapisi fiksnega formata (naš fokus!)zapisi fiksnega formata (naš fokus!)– format zapisa je znan vnaprej (zapisan je v notranji shemi)format zapisa je znan vnaprej (zapisan je v notranji shemi)– ločimo: ločimo:

zapise, ki imajo polja fiksne dolžine alizapise, ki imajo polja fiksne dolžine ali zapise, ki imajo polja spremenljive dolžinezapise, ki imajo polja spremenljive dolžine

Page 2: Fizična organizacija podatkov

22

Izhodišče:Izhodišče: logična datoteka = možica zapisov logična datoteka = možica zapisov

istega tipaistega tipa zapiszapis – skupina – skupina podatkovnih elementov, s katerimi opišemo podatkovnih elementov, s katerimi opišemo

posamezno dejstvoposamezno dejstvo podatkovni elementpodatkovni element - - najmanjši del podatkov, ki ga ne najmanjši del podatkov, ki ga ne

moremo razstaviti na dva ali vemoremo razstaviti na dva ali večč delov, ne da bi pri tem izgubili delov, ne da bi pri tem izgubili pomenpomen (ime, datum rojstva, ..) (ime, datum rojstva, ..)

iistovrstna dejstva predstavljamo z enako oblikovanimi zapisi, ki stovrstna dejstva predstavljamo z enako oblikovanimi zapisi, ki pripadajo določenemu pripadajo določenemu tipu zapisatipu zapisa

tip zapisatip zapisa – formalizem, ki ga moramo poznati pri branju in – formalizem, ki ga moramo poznati pri branju in oblikovanju zapisov; soblikovanju zapisov; s tipom zapisa predstavimo: tipom zapisa predstavimo: – strukturo zapisastrukturo zapisa ((katerikateri podatkovni el. sestavljajo zapis) podatkovni el. sestavljajo zapis)

– vrsto in obliko podatkovnih elementov, ki sestavljajo zapise vrsto in obliko podatkovnih elementov, ki sestavljajo zapise ((kakšnikakšni so podatkovni elementi, ki sestavljajo zapis) so podatkovni elementi, ki sestavljajo zapis)

Page 3: Fizična organizacija podatkov

33

pepe11 pepe22 …… pepenn pepe11 pepe22 pepenn ………….. pepe11 pepe22 …… pepenn

logični zapislogični zapis 1 1 logični zapislogični zapis 2 2 ………….. logični zapislogični zapis m m

logična datoteka

Page 4: Fizična organizacija podatkov

44

Predstavitev podatkovnih Predstavitev podatkovnih elementovelementov

integer (2 bytes); primer 35=integer (2 bytes); primer 35= boolean – primer: boolean – primer:

FALSEFALSE

TRUETRUE real, float - real, float - nn bitov za osnovo; bitov za osnovo; mm za eksponent za eksponent datum – primer:datum – primer:

Integer (število dni od 1. 1. 1900)Integer (število dni od 1. 1. 1900) 8 znakov (DDMMLLLL)8 znakov (DDMMLLLL)

čas – primer: čas – primer: Integer (število sekund od polnoči)Integer (število sekund od polnoči) 6 znakov (uummss)6 znakov (uummss)

datum & čas – realna številadatum & čas – realna števila znaki – ASCII, Scan Code, Unicode, … - primer (8-bitni ASCII):znaki – ASCII, Scan Code, Unicode, … - primer (8-bitni ASCII):

AA aa LFLF

00 00 00 00 00 00 00 00 00 00 11 00 00 00 11 11

00 00 00 00 00 00 00 00

11 11 11 11 11 11 11 11

00 11 00 00 00 00 00 11

00 11 11 00 00 00 00 11

00 00 00 00 11 00 11 00

Page 5: Fizična organizacija podatkov

55

Delitev zapisov glede na Delitev zapisov glede na strukturo:strukturo:

1.1. zapiszapisii nespremenljive nespremenljive doldolžžineine – – primer: rojstni primer: rojstni podatkipodatki

zapis 0zapis 0 MihaMiha 14.5.199014.5.1990 LjubljanaLjubljana

zapis 1zapis 1 JanaJana 29.11.198929.11.1989 KranjKranj

zapis 2zapis 2 TomiTomi 16.1.198016.1.1980 KranjKranj

zapis 3zapis 3 AnaAna 22.6.199122.6.1991 KoperKoper

2. zapisi spremenljive dolžine - dopustno je ponavljanje posameznih podatkovnih elementov /denimo ponavljanje opravljanja izpitov :)/ v enem zapisu lahko predstavimo več dejstev hkrati – primer: podatki o opravljanju izpitov

zapis 0zapis 0 MihaMiha MATMAT 33 SJKSJK 33

zapis 1zapis 1 JanaJana FIZFIZ 44 ANJANJ 44 MATMAT 33 ZGOZGO 44 SOCSOC 44

zapis 2zapis 2 TomiTomi

zapis 3zapis 3 AnaAna ANJANJ 55 NEJNEJ 55

Page 6: Fizična organizacija podatkov

66

Tip zapisa z nespremenljivo Tip zapisa z nespremenljivo dolžinodolžino

tip <ime_tipa_zapisa> = (<ime pod el 1>:<tip_1>, <ime_pod_el_2>: tip_2>, ..... <ime_pod_el_n>:<tip_n>)

<ime_tipa_zapisa>• služi za identifikacijo tipa; • z njim poimenujemo tudi logično datoteko, ki jo

zapisi tega tipa sestavljajo

<ime_podatkovnega_elementa>• služi za sklicevanje na podat.

elemente v zapisih in za predstavitev strukture zapisov

<tip_pod_el>• podaja način kodiranja in velikost

pomnilnega prostora, ki ga pod. el. zaseda (znakovni(n), celoštevilčni, realni, ...)

Primer: tip rojstva =( ime: znakovni(10), datum : datumski, kraj: znakovni(20))

Page 7: Fizična organizacija podatkov

77

Tip zapisa s spremenljivo dolžinoTip zapisa s spremenljivo dolžino spremenljivost dolžine spremenljivost dolžine povzropovzroččajo ponavljajoči se podatkovni ajo ponavljajoči se podatkovni

elementi elementi znotraj enega zapisaznotraj enega zapisa ponovljivost predstavponovljivost predstavimoimo z uporabo zavitih oklepajev z uporabo zavitih oklepajev

tip <ime_tipa_zapisa> =tip <ime_tipa_zapisa> =

(<ime_pod_el_1> : <tip_1>,(<ime_pod_el_1> : <tip_1>,

{{<ime_pod_el_2> : <tip_2>,<ime_pod_el_2> : <tip_2>,

{{<ime_pod_el_3> : <tip_3><ime_pod_el_3> : <tip_3>}}}},,

<ime_pod_el_4> : <tip_4>)<ime_pod_el_4> : <tip_4>)

Primer:tip izpit =( ime_dijaka : znakovni(10), { predmet : znakovni(3), ocena : celoštevilski})

Page 8: Fizična organizacija podatkov

88

zapisa =zapisa =ppodatkovnodatkovnii element element(i)(i), na osnovi katerih je , na osnovi katerih je momožžna enolična identifikacija posameznih na enolična identifikacija posameznih

zapisovzapisov dejstva dejstva morajo biti morajo biti predstavljena z zapisi tako, da lahko njihove predstavljena z zapisi tako, da lahko njihove

predstavitve predstavitve loloččimoimo med sebojmed seboj

ključ=ključ= <ime_pod_el_1>,..<ime_pod_el_m>):<vrsta_ključa><ime_pod_el_1>,..<ime_pod_el_m>):<vrsta_ključa>

vrstvrste e ključključev:ev:– razlorazloččevalevalnini (v datoteki ne smeta obstajati dva zapisa z enako (v datoteki ne smeta obstajati dva zapisa z enako

vrednostjo ključa)vrednostjo ključa) – EMŠO, davčna številka – EMŠO, davčna številka– nerazlonerazloččevalnevalni i -- priimekpriimek

pri nekaterih vrstah fizičnih datotekpri nekaterih vrstah fizičnih datotek ključ zapisa ključ zapisa predstavlja osnovo za predstavlja osnovo za urejanje zapisovurejanje zapisov

Page 9: Fizična organizacija podatkov

99

Logična datoteka Logična datoteka Fizična Fizična datotekadatoteka

•llogiogiččnnaa datotek datotekaa– obstaja le kot konceptobstaja le kot koncept– nima neposredne fizične predstavitvenima neposredne fizične predstavitve– zzapisi logapisi logičnihičnih datotek s datotek s shranjujejo s pomočjo shranjujejo s pomočjo blokov blokov

fizifiziččnih datoteknih datotek

•ppovezava med logiovezava med logiččnimi in fizinimi in fiziččnimi datotekami je nimi datotekami je preslikava: LD -> FDpreslikava: LD -> FD; ;

– mmoožžnosti za prenosti za presslikavo: likavo: 1:11:1 M:1 M:1 (MSAccess)(MSAccess) 1:M 1:M (Paradox)(Paradox) M:NM:N

Page 10: Fizična organizacija podatkov

1010

Preslikava logični zapis Preslikava logični zapis fizični fizični zapiszapis

logični zapisi logični zapisi – zapisi – zapisi logičnih datoteklogičnih datotek– – shranjujejo se v blokih fizičnihshranjujejo se v blokih fizičnih datoteke s pomočjo datoteke s pomočjo fizičnih fizičnih

zapisovzapisov

sstruktura fizičnega zapisatruktura fizičnega zapisa: : – je lahko je lahko enaka strukturi logičnega zapisaenaka strukturi logičnega zapisa – je je razširjena z meta podatki razširjena z meta podatki ((kazalcikazalci, , števci števci

ponovljivosti ponovljivosti podatkovnih elementov)podatkovnih elementov)– obsega le del podatkovnih elementov logiobsega le del podatkovnih elementov logiččnega nega

zapisa (logizapisa (logiččni zapis je predstavljen z dvema ali več ni zapis je predstavljen z dvema ali več fizifiziččnimi zapisi)nimi zapisi)

Page 11: Fizična organizacija podatkov

1111

1.1. logilogiččni zapis nespremenljive dolni zapis nespremenljive dolžžineine fizifiziččnnii zapiszapis nespremenljive dolnespremenljive dolžžineine

2.2. logični zapis spremenljive dolžinelogični zapis spremenljive dolžine2.1. 2.1. fizičnfizičnii zapis spremenljive dolžine zapis spremenljive dolžine: : pred ponpred ponaavljvljajočimi ajočimi

ppodatkovnimi elementi oziroma skupinami ponovljivih odatkovnimi elementi oziroma skupinami ponovljivih podatkovnih elementov dodamo podatkovnih elementov dodamo števce ponovljivostištevce ponovljivosti

tip <ime_tipa_zapisa> =(<ime_pe1> : <tip_1>, {<ime_pe2> : <tip_2>, {<ime_pe3> : <tip_3>}}, <ime_pe4> : <tip_4>)

tip <ime_tipa_zapisa> = (<ime_pe1> : <tip_1>, <števec_1> {<ime_pe2> : <tip_2>, <števec_2> {<ime_pe3> : <tip_3>}}, <ime_pe4> : <tip_4>) zapis 0zapis 0 MihaMiha 22 MATMAT 33 SJKSJK 33

zapis 1zapis 1 JanaJana 55 FIZFIZ 44 ANJANJ 44 MATMAT 33 ZGOZGO 44 SOCSOC 44

zapis 2zapis 2 TomiTomi 00

zapis 3zapis 3 AnaAna 22 ANJANJ 55 NEJNEJ 55

Page 12: Fizična organizacija podatkov

1212

2.2. 2.2. fizifiziččnnii zapis zapis nenespremenljive dolžinespremenljive dolžine: :

2.2.1. 2.2.1. ponavljajo se celotni zapisiponavljajo se celotni zapisi

2.2.2. 2.2.2. uporabimo povezovanje zapisov s uporabimo povezovanje zapisov s kazalcikazalci

tip <ime_tipa_zapisa> =

(<ime_pe1> : <tip_1>,

{<ime_pe2> : <tip_2>},

<ime_pe3> : <tip_3>)

tip <FZ1> =(<ime_pe1> : <tip_1>, K1 : kazalec, <ime_pe3> : <tip_3>)

tip <FZ2> =(<ime_pe2> : <tip_2>, K2 : kazalec)

zapis 0zapis 0 MihaMiha MATMAT 33

zapis 1zapis 1 MihaMiha SJKSJK 33

zapis 2zapis 2 JanaJana FIZFIZ 44

zapis 3zapis 3 JanaJana ANJANJ 44

zapis 4zapis 4 JanaJana MATMAT 33

zapis 5zapis 5 JanaJana ZGOZGO 44

primer ponavljanja celotnih zapisov

Page 13: Fizična organizacija podatkov

1313

Fizična datoteka 1Fizična datoteka 1

zapis 0zapis 0 MihaMiha 00

zapis 1zapis 1 JanaJana 22

zapis 2zapis 2 TomiTomi nullnull

zapis 3zapis 3 AnaAna 77Fizična datoteka 2Fizična datoteka 2

zapis 0zapis 0 MATMAT 33 11

zapis 1zapis 1 SJKSJK 33 nullnull

zapis 2zapis 2 FIZFIZ 44 33

zapis 3zapis 3 ANJANJ 44 44

zapis 4zapis 4 MATMAT 33 55

zapis 5zapis 5 ZGOZGO 44 66

zapis 6zapis 6 SOCSOC 44 nullnull

zapis 7zapis 7 ANJANJ 55 88

zapis 8zapis 8 NEJNEJ 55 nullnull

primer uporabe kazalcev

Del logičnega zapisa, ki je fiksne dolžine + kazalec na del zapisa spremenljive dolžine

Del logičnega zapisa, ki je spremenljive dolžine + kazalec na ostanek zapisa

Page 14: Fizična organizacija podatkov

1414

Zapisi s podatkovnimi elementi fiksne Zapisi s podatkovnimi elementi fiksne dolžine => fizični zapis nespremenljive dolžine => fizični zapis nespremenljive

dolžinedolžine dolžine in offseti (odmiki) podatkovnih elementov so konstantni, to dolžine in offseti (odmiki) podatkovnih elementov so konstantni, to

lahko vnaprej izračunamo iz shemelahko vnaprej izračunamo iz sheme primer: primer: CREATE TABLE Oseba (Sifra INT, CREATE TABLE Oseba (Sifra INT,

Ime CHAR(10), Ime CHAR(10), Priimek CHAR (10));Priimek CHAR (10));

// predpostavimo, da je int 4 bytno celo število// predpostavimo, da je int 4 bytno celo število

00 44 1414

55 00 22 44 MM ii hh aa NN oo vv aa kk

Sifra Ime Priimek

Zapis tabele Oseba

Page 15: Fizična organizacija podatkov

1515

Shranjevanje zapisov nespremenljive Shranjevanje zapisov nespremenljive dolžine v fizične blokedolžine v fizične bloke

posamezenposamezen fizični fizični blok razdelimo na enako blok razdelimo na enako velika poljavelika polja

polje1polje1 polje2polje2 polje3polje3 polje4polje4 polje5polje5

– dolžina polj je prilagojena dolžini zapisov– fizičnega bloka (največkrat) ni mogoče razdeliti na

polja brez ostanka v bloku ostane tudi nekaj neizkoriščenega prostora

– to je fiksna delitev (relativne lege polj v vseh blokih so enake)

Page 16: Fizična organizacija podatkov

1616

Zapisi s podatkovnimi elementi Zapisi s podatkovnimi elementi spremenljivke dolžine => spremenljivke dolžine => fizični zapis fizični zapis

spremenljive dolžinespremenljive dolžine Dolžin in odmikov podatkovnih elementov ne moremo izračunati iz sheme Dolžin in odmikov podatkovnih elementov ne moremo izračunati iz sheme ( so ‘nepredvidljivi’)( so ‘nepredvidljivi’)

Več možni pristopovVeč možni pristopov Pomembno: vsa polja (podatkovne elemente) spremenljive dolžine postavi na Pomembno: vsa polja (podatkovne elemente) spremenljive dolžine postavi na

konec zapisa! konec zapisa! primer: primer: CREATE TABLE Oseba (Sifra INT, CREATE TABLE Oseba (Sifra INT, Ime VARCHAR(10), Ime VARCHAR(10), Priimek VARCHAR (10));Priimek VARCHAR (10)); Pristop 1: uporabi ločila med pod. elementiPristop 1: uporabi ločila med pod. elementi

Pristop 2: uporabi tabelo odmikovPristop 2: uporabi tabelo odmikov

00 44 99

5 0 2 45 0 2 4 M i h a\0M i h a\0 N o v a k\0N o v a k\0

00 …… 44 55 66 77 88 99 1010 1111 1212 1313 1414 1515

55 00 22 44 1010 1515 MM ii hh aa NN oo vv aa kk

Page 17: Fizična organizacija podatkov

1717

Fizični zapisi spremenljive dolžine Fizični zapisi spremenljive dolžine (nad.)(nad.)

Spreminjanje podatkovSpreminjanje podatkov, če se s tem spreminja tudi dolžina , če se s tem spreminja tudi dolžina podatkovnega elementa, je podatkovnega elementa, je zahtevnozahtevno

Razvrstitev (postavitev) zapisov v komercialnih DBRazvrstitev (postavitev) zapisov v komercialnih DB– DB2, SQL Server, Informix, Sybase inačice uporabljajo tabele odmikov DB2, SQL Server, Informix, Sybase inačice uporabljajo tabele odmikov

(DBMS v fiksni del zapisa shrani offset in dolžino polj spremenljive (DBMS v fiksni del zapisa shrani offset in dolžino polj spremenljive dolžine, odmik kaže na začetek polja v delu zapisa, ki je spremenljive dolžine, odmik kaže na začetek polja v delu zapisa, ki je spremenljive dolžine)dolžine)

– Oracle: zapisi so strukturirani tako, kot da bi bila vsa polja potencialno Oracle: zapisi so strukturirani tako, kot da bi bila vsa polja potencialno spremenljive dolžine (zapis je zaporedje: (dolžina,podatki) parov, pri spremenljive dolžine (zapis je zaporedje: (dolžina,podatki) parov, pri čemer posebna vrednost dolžine opredeljuje NULL vrednost)čemer posebna vrednost dolžine opredeljuje NULL vrednost)

Podatkovni elementi tipa LOBPodatkovni elementi tipa LOB (large objects) – (large objects) – slike, glasba, …slike, glasba, …

CREATE TABLE Oseba (Sifra INT, Ime CHAR(10), CREATE TABLE Oseba (Sifra INT, Ime CHAR(10), Priimek CHAR (10),Priimek CHAR (10), Slika BLOB(32000)); Slika BLOB(32000)); DBMS samodejno shrani LOB podatek na neko ‘drugo’ mesto, ta postopek DBMS samodejno shrani LOB podatek na neko ‘drugo’ mesto, ta postopek

je uporabniku neviden; konceptualno gledano, DBMS razdeli tabelo na dva je uporabniku neviden; konceptualno gledano, DBMS razdeli tabelo na dva dela: Oseba (dela: Oseba (SifraSifra, Ime, Priimek, ID_slika) in Slika(, Ime, Priimek, ID_slika) in Slika(ID_slikaID_slika, slika), slika)

Page 18: Fizična organizacija podatkov

1818

Shranjevanje zapisov spremenljive Shranjevanje zapisov spremenljive dolžine v fizične bloke – dinamična dolžine v fizične bloke – dinamična

delitevdelitev čče želimo e želimo izkoristiti blok v celotiizkoristiti blok v celoti če če shranjujemo zapise spremenljive dolžineshranjujemo zapise spremenljive dolžine če shranjujemo če shranjujemo zapise, ki so daljši od fizičnih blokovzapise, ki so daljši od fizičnih blokov

nekatera nekatera polja polja se se delijo preko dveh ali več logičndelijo preko dveh ali več logičnoo sossoseednjih blokovdnjih blokov. .

polje1 polje2 polje3 polje4 polje5 p61 p62 polje7 polje8

– to je dinamična delitev– izvede se ob vpisu posameznega zapisa v fizično datoteko

polje1 polje2 p31 p32 polje4

fizični blok 1 fizični blok 2

Page 19: Fizična organizacija podatkov

1919

Označevanje prostih zapisov znotraj Označevanje prostih zapisov znotraj blokabloka status polja: zasedeno (vsebuje zapis) / prostostatus polja: zasedeno (vsebuje zapis) / prosto

a) uporabimo a) uporabimo posebno oznakoposebno oznako– ooznakznako zapiši na začetek prostega poljao zapiši na začetek prostega polja– pozor: zpozor: z uporabo oznake je omejena dopustna vrednost uporabo oznake je omejena dopustna vrednost

zapisa - veljaven zapis se ne sme pričeti z vrednostjo, ki zapisa - veljaven zapis se ne sme pričeti z vrednostjo, ki pripada omenjeni oznakipripada omenjeni oznaki!!

Z1Z1 Z2Z2 Z3Z3

b) uporabimo bitno sliko – vsakemu polju priredi bit: (1 - polje zasedeno; 0 – prosto)– bitna slika sodi med meta podatke, ki so zapisani na

začetku (koncu) bloka metapodatki zmanjšajo efektivno kapaciteto fizičnega bloka

1011011010

Z1Z1 Z2Z2 Z3Z3

Page 20: Fizična organizacija podatkov

2020

NSM oz. N-ary Storage NSM oz. N-ary Storage ModelModel Uporablja ga večina komercialnih SUPB-jevUporablja ga večina komercialnih SUPB-jev

Zapisi se shranjujejo od začetka bloka naprejZapisi se shranjujejo od začetka bloka naprej Na koncu vsakega bloka je t.i. ‘slot directory’, namen:Na koncu vsakega bloka je t.i. ‘slot directory’, namen:

– Lociranje (iskanje) zapisov in upravljanje z nezasedenim prostorom blokaLociranje (iskanje) zapisov in upravljanje z nezasedenim prostorom bloka

– Določitev začetka/konca podatkovnih elementov spremenljive dolžineDoločitev začetka/konca podatkovnih elementov spremenljive dolžine

10241024 MihaMiha NovakNovak 10991099 AnjaAnja

KraljKralj

23442344 MatejMatej KosKos

Opcije pri spreminjanju podatkov•Reorganizacija po izvedbi vsakega brisanja / spreminjanja podatkov izognemo se ‘luknjam’ med podatki v povprečju moramo prepisati ½ bloka•Za zapise fiksne dolžine: reorganizacija po brisanju ( v slot direktoriju imej kazalec na prvo prosto polje)•Sploh ne izvajaj reorganizacije: v slot direktoriju hrani bitno sliko, ki kaže zasedenost/nezasedenost posameznih zapisov

Page 21: Fizična organizacija podatkov

2121

Zvrsti datotek (1)Zvrsti datotek (1)goste / redkegoste / redke

GledeGlede na na pojavljanje prostih polj v fizični datoteki pojavljanje prostih polj v fizični datoteki ločimoločimo: :

– goste datoteke goste datoteke - p- prosta polja se pojavljajo le v rosta polja se pojavljajo le v zadnjem delu logično zadnjega fizičnega bloka, zadnjem delu logično zadnjega fizičnega bloka, sicer pa vsa polja vsebujejo zapise, sicer pa vsa polja vsebujejo zapise,

– redke datotekeredke datoteke - p- prosta polja se lahko pojavljajo v rosta polja se lahko pojavljajo v kateremukoli fizičnem blokukateremukoli fizičnem bloku

Pri istem številu zapisov obsega gosta datoteka v Pri istem številu zapisov obsega gosta datoteka v splošnem manj fizičnih blokov kot redka datoteka.splošnem manj fizičnih blokov kot redka datoteka.

Page 22: Fizična organizacija podatkov

2222

Zvrsti datotek (2)Zvrsti datotek (2)vezani / nevezani zapisivezani / nevezani zapisi

Glede Glede na to, ali smemo zapis, ki je bil ob dodajanju v datoteko na to, ali smemo zapis, ki je bil ob dodajanju v datoteko shranjen v določeno polje, shranjen v določeno polje, premakniti premakniti kdaj kasneje v kako drugo kdaj kasneje v kako drugo polje, s čimer polje, s čimer mmu spremenimo naslov ločimo:u spremenimo naslov ločimo:

– vezane zapisevezane zapise - - zapisi so vezani na polje, v katerega so zapisi so vezani na polje, v katerega so shranjeni, ker so naslovi polj v katerih se nahajajo shranjeni shranjeni, ker so naslovi polj v katerih se nahajajo shranjeni kot kazalci v drugih zapisih. Če bi vezani zapiskot kazalci v drugih zapisih. Če bi vezani zapisii zamenjal zamenjalii svoj naslov, bi svoj naslov, bi bilibili s pomočjo prvotnega naslova s pomočjo prvotnega naslova izgubljeni izgubljeni (denimo, če je ključ zapisa podatek tipa autoincrement in velja, da je (denimo, če je ključ zapisa podatek tipa autoincrement in velja, da je fizični naslov enak logičnemu naslovu)fizični naslov enak logičnemu naslovu)

– nevezane zapisenevezane zapise - - pri nevezanih zapisi ni omejitve glede pri nevezanih zapisi ni omejitve glede zamenjave polj. Po potrebi se lahko premaknejo v katerokoli zamenjave polj. Po potrebi se lahko premaknejo v katerokoli polje, le da ostanejo v zanje namenjenih blokih.polje, le da ostanejo v zanje namenjenih blokih.

Page 23: Fizična organizacija podatkov

2323

Operacije nad zapisiOperacije nad zapisiažuriranje ažuriranje = s= spreminjanjpreminjanjee vsebine logičnih datotek vsebine logičnih datotek

– obsega dodajanje novih zapisov ter spreminjanje in brisanje obsega dodajanje novih zapisov ter spreminjanje in brisanje obstoječih zapisov. obstoječih zapisov.

– Logična datoteka ima svojo fizično predstavitev v obliki ene ali Logična datoteka ima svojo fizično predstavitev v obliki ene ali več fizičnih datotekveč fizičnih datotek p posamezna operacija ažuriranja logične osamezna operacija ažuriranja logične datoteke se dejansko izvede kot eno ali več ažuriranj fizičnih datoteke se dejansko izvede kot eno ali več ažuriranj fizičnih datotek. datotek.

Štiri Štiri osnovne operacije nad zapisi fizičnih datotek:osnovne operacije nad zapisi fizičnih datotek: iskanjeiskanje dodajanjedodajanje spreminjanjespreminjanje brisanjebrisanje

Page 24: Fizična organizacija podatkov

2424

1. iskanje1. iskanjeosnovna operacijaosnovna operacijasestavni del vseh sestavni del vseh operacij operacij ažuriranjažuriranjiskanje = iskanje = iskanje naslova poljaiskanje naslova polja, v katerem se , v katerem se (naj bi se) (naj bi se)

nahajanahajall iskani zapis oz iskani zapis oz.. iskanje naslova polja, v katerega iskanje naslova polja, v katerega želimo shraniti zapis, ki se dodaja datoteki. želimo shraniti zapis, ki se dodaja datoteki.

kk iskanju prištevamo tudi branje fizičnega bloka, v katerem se iskanju prištevamo tudi branje fizičnega bloka, v katerem se polje s poiskanim naslovom nahaja, v datotečni vmesnik polje s poiskanim naslovom nahaja, v datotečni vmesnik

oosnova za iskanje snova za iskanje zapisa je lahkozapisa je lahko: : –vrednostvrednost enega ali več enega ali več podatkovnih elementovpodatkovnih elementov, pogosto , pogosto

ključa, ki jih iskani zapis ali zapis, ki ga dodajamo datoteki ključa, ki jih iskani zapis ali zapis, ki ga dodajamo datoteki vsebujevsebuje

–naslov poljanaslov polja ali fizičnega bloka ali skupine fizičnih bl ali fizičnega bloka ali skupine fizičnih blookov, ki kov, ki vsebuje ali naj bi vseboval zapisvsebuje ali naj bi vseboval zapis

–kombinacija vrednosti podatkovnih elementov in kombinacija vrednosti podatkovnih elementov in naslovovnaslovov

Page 25: Fizična organizacija podatkov

2525

2. dodajanje2. dodajanje1.1. poišči ustrezno prosto polje, v poišči ustrezno prosto polje, v katerega katerega ((po kriteriju urejenosti po kriteriju urejenosti

datotekedatoteke)) sodi novi zapis sodi novi zapis2.2. vpivpišiši zapis v poiskano polje v fizičnem bloku, ki se je v okviru zapis v poiskano polje v fizičnem bloku, ki se je v okviru

iskanja prenesel v datotečni vmesnikiskanja prenesel v datotečni vmesnik3.3. prepiši prepiši fizični blok iz datotečnega vmesnika na prejšnjo fizični blok iz datotečnega vmesnika na prejšnjo

lokacijo na diskulokacijo na disku

3. brisanje1. poišči polje z zapisom2. v fizičnem bloku označi, da je polje prazno3. prepiši fizični blok iz datotečnega vmesnika nazaj na disk

4. spreminjanje1. podobno brisanju - polje z zapisom se ne označi kot prosto,

pač se vanj vpiše nova vsebina 2. (pogoj: da ne spremenimo vrednosti ključa zapisa; če

nameravamo spremeniti vrednost ključa, izvedemo najprej brisanje prvotnega zapisa in nato dodajanje novega/spremenjenega zapisa)