Upload
nira
View
67
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
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
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)
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
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
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
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))
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})
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
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
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)
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
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
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
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
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)
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
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)
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
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
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
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.
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.
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
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
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)