Fizi na organizacija podatkov
This presentation is the property of its rightful owner.
Sponsored Links
1 / 25

Fizična organizacija podatkov PowerPoint PPT Presentation


  • 70 Views
  • Uploaded on
  • Presentation posted in: General

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

Download Presentation

Fizična organizacija podatkov

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Fizi na organizacija podatkov

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

    • nanaša (pojavlja) se pri pol-strukturiranih podatkih kot je XML (znotraj zapisov je zajet tudi format zapisa, t.i. ‘self describing’ data)

  • zapisi fiksnega formata (naš fokus!)

    • format zapisa je znan vnaprej (zapisan je v notranji shemi)

    • ločimo:

      • zapise, ki imajo polja fiksne dolžine ali

      • zapise, ki imajo polja spremenljive dolžine


Izhodi e logi na datoteka mo ica zapisov istega tipa

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

  • zapis – skupina podatkovnih elementov, s katerimi opišemo posamezno dejstvo

  • podatkovni element - najmanjši del podatkov, ki ga ne moremo razstaviti na dva ali več delov, ne da bi pri tem izgubili pomen (ime, datum rojstva, ..)

  • istovrstna dejstva predstavljamo z enako oblikovanimi zapisi, ki pripadajo določenemu tipu zapisa

  • tip zapisa – formalizem, ki ga moramo poznati pri branju in oblikovanju zapisov; s tipom zapisa predstavimo:

    • strukturo zapisa(kateri podatkovni el. sestavljajo zapis)

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


Fizi na organizacija podatkov

logična datoteka


Predstavitev podatkovnih elementov

Predstavitev podatkovnih elementov

  • integer (2 bytes); primer 35=

  • boolean – primer:

    FALSE

    TRUE

  • real, float - n bitov za osnovo; m za eksponent

  • datum – primer:

    • Integer (število dni od 1. 1. 1900)

    • 8 znakov (DDMMLLLL)

  • čas – primer:

    • Integer (število sekund od polnoči)

    • 6 znakov (uummss)

  • datum & čas – realna števila

  • znaki – ASCII, Scan Code, Unicode, … - primer (8-bitni ASCII):

    • A

    • a

    • LF


  • Delitev zapisov glede na strukturo

    Delitev zapisov glede na strukturo:

    • zapisi nespremenljivedolžine – primer: rojstni podatki

    • 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


    Tip zapisa z nespremenljivo dol ino

    Tip zapisa z nespremenljivo dolžino

    • <ime_tipa_zapisa>

    • služi za identifikacijo tipa;

    • z njim poimenujemo tudi logično datoteko, ki jo zapisi tega tipa sestavljajo

    tip <ime_tipa_zapisa> = (<ime pod el 1>:<tip_1>,

    <ime_pod_el_2>: tip_2>,

    .....

    <ime_pod_el_n>:<tip_n>)

    • <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))

    • <ime_podatkovnega_elementa>

    • služi za sklicevanje na podat. elemente v zapisih in za predstavitev strukture zapisov


    Tip zapisa s spremenljivo dol ino

    Tip zapisa s spremenljivo dolžino

    • spremenljivost dolžine povzročajo ponavljajoči se podatkovni elementi znotraj enega zapisa

    • ponovljivost predstavimo z uporabo zavitih oklepajev

      tip <ime_tipa_zapisa> =

      (<ime_pod_el_1> : <tip_1>,

      {<ime_pod_el_2> : <tip_2>,

      {<ime_pod_el_3> : <tip_3>}},

      <ime_pod_el_4> : <tip_4>)

    Primer:

    tip izpit =

    ( ime_dijaka : znakovni(10),

    { predmet : znakovni(3),

    ocena : celoštevilski})


    Zapisa p odatkovn i element i na osnovi katerih je mo na enoli na identifikacija posameznih zapisov

    zapisa =podatkovni element(i), na osnovi katerih je možna enolična identifikacija posameznih zapisov

    • dejstva morajo biti predstavljena z zapisi tako, da lahko njihove predstavitve ločimomed seboj

      ključ=

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

      vrste ključev:

      • razločevalni(v datoteki ne smeta obstajati dva zapisa z enako vrednostjo ključa) – EMŠO, davčna številka

      • nerazločevalni -priimek

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


    Logi na datoteka fizi na datoteka

    Logična datoteka  Fizična datoteka

    • logična datoteka

      • obstaja le kot koncept

      • nima neposredne fizične predstavitve

      • zapisi logičnih datotek sshranjujejo s pomočjo blokov fizičnih datotek

    • povezava med logičnimi in fizičnimi datotekami je preslikava: LD -> FD;

      • možnosti za preslikavo:

        • 1:1

        • M:1 (MSAccess)

        • 1:M (Paradox)

        • M:N


    Preslikava logi ni zapis fizi ni zapis

    Preslikava logični zapis  fizični zapis

    logični zapisi – zapisi logičnih datotek

    – shranjujejo se v blokih fizičnih

    datoteke s pomočjo fizičnih zapisov

    struktura fizičnega zapisa:

    • je lahko enaka strukturi logičnega zapisa

    • je razširjena z meta podatki (kazalci, števci ponovljivosti podatkovnih elementov)

    • obsega le del podatkovnih elementov logičnega zapisa (logični zapis je predstavljen z dvema ali več fizičnimi zapisi)


    Fizi na organizacija podatkov

    logični zapis nespremenljive dolžine fizični zapisnespremenljive dolžine

    logični zapis spremenljive dolžine

    2.1. fizični zapis spremenljive dolžine: pred ponavljajočimi podatkovnimi elementi oziroma skupinami ponovljivih podatkovnih elementov dodamo števce ponovljivosti

    tip <ime_tipa_zapisa> =

    (<ime_pe1> : <tip_1>,

    <števec_1>

    {<ime_pe2> : <tip_2>,

    <števec_2>

    {<ime_pe3> : <tip_3>}},

    <ime_pe4> : <tip_4>)

    tip <ime_tipa_zapisa> =

    (<ime_pe1> : <tip_1>,

    {<ime_pe2> : <tip_2>,

    {<ime_pe3> : <tip_3>}},

    <ime_pe4> : <tip_4>)


    Fizi na organizacija podatkov

    2.2. fizični zapis nespremenljive dolžine:

    2.2.1.  ponavljajo se celotni zapisi

    2.2.2.  uporabimo povezovanje zapisov s kazalci

    tip <FZ1> =

    (<ime_pe1> : <tip_1>,

    K1 : kazalec,

    <ime_pe3> : <tip_3>)

    tip <ime_tipa_zapisa> =

    (<ime_pe1> : <tip_1>,

    {<ime_pe2> : <tip_2>},

    <ime_pe3> : <tip_3>)

    tip <FZ2> =

    (<ime_pe2> : <tip_2>,

    K2 : kazalec)

    primer ponavljanja celotnih zapisov


    Fizi na organizacija podatkov

    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


    Zapisi s podatkovnimi elementi fiksne dol ine fizi ni zapis nespremenljive dol ine

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

    • dolžine in offseti (odmiki) podatkovnih elementov so konstantni, to lahko vnaprej izračunamo iz sheme

    • primer:

      CREATE TABLE Oseba (Sifra INT,

      Ime CHAR(10),

      Priimek CHAR (10));

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

    Ime

    Priimek

    Sifra

    Zapis tabele Oseba


    Shranjevanje zapisov nespremenljive dol ine v fizi ne bloke

    Shranjevanje zapisov nespremenljive dolžine v fizične bloke

    • posamezen fizičniblok razdelimo na enako velika polja

    • 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 jefiksna delitev(relativne lege polj v vseh blokih so enake)


    Zapisi s podatkovnimi elementi spremenljivke dol ine fizi ni zapis spremenljive dol ine

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

    • Dolžin in odmikov podatkovnih elementov ne moremo izračunati iz sheme ( so ‘nepredvidljivi’)

    • Več možni pristopov

    • Pomembno: vsa polja (podatkovne elemente) spremenljive dolžine postavi na konec zapisa!

    • primer:

      CREATE TABLE Oseba (Sifra INT,

      Ime VARCHAR(10),

      Priimek VARCHAR (10));

    • Pristop 1: uporabi ločila med pod. elementi

    • Pristop 2: uporabi tabelo odmikov


    Fizi ni zapisi spremenljive dol ine nad

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

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

    • Razvrstitev (postavitev) zapisov v komercialnih DB

      • DB2, SQL Server, Informix, Sybase inačice uporabljajo tabele odmikov (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)

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

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

      CREATE TABLE Oseba (Sifra INT, Ime CHAR(10),

      Priimek CHAR (10), Slika BLOB(32000));

    • DBMS samodejno shrani LOB podatek na neko ‘drugo’ mesto, ta postopek je uporabniku neviden; konceptualno gledano, DBMS razdeli tabelo na dva dela: Oseba (Sifra, Ime, Priimek, ID_slika) in Slika(ID_slika, slika)


    Shranjevanje zapisov spremenljive dol ine v fizi ne bloke dinami na delitev

    polje1

    polje2

    polje3

    polje4

    polje5

    p61

    p62

    polje7

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

    • če želimo izkoristiti blok v celoti

    • če shranjujemo zapise spremenljive dolžine

    • če shranjujemo zapise, ki so daljši od fizičnih blokov

      nekatera polja se delijo preko dveh ali več logično sosednjih blokov.

    polje8

    polje1

    polje2

    p31

    p32

    polje4

    fizični blok 1

    fizični blok 2

    • to jedinamična delitev

    • izvede se ob vpisu posameznega zapisa v fizično datoteko


    Ozna evanje prostih zapisov znotraj bloka

    Označevanje prostih zapisov znotraj bloka

    • status polja: zasedeno (vsebuje zapis) / prosto

      a) uporabimo posebno oznako

      • oznako zapiši na začetek prostega polja

      • pozor: z uporabo oznake je omejena dopustna vrednost zapisa - veljaven zapis se ne sme pričeti z vrednostjo, ki pripada omenjeni oznaki!

    • 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


    Nsm oz n ary storage model

    NSM oz. N-ary Storage Model

    • Uporablja ga večina komercialnih SUPB-jev

    • Zapisi se shranjujejo od začetka bloka naprej

    • Na koncu vsakega bloka je t.i. ‘slot directory’, namen:

      • Lociranje (iskanje) zapisov in upravljanje z nezasedenim prostorom bloka

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

    • 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


    Zvrsti datotek 1 goste redke

    Zvrsti datotek (1)goste / redke

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

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

    • redke datoteke- prosta polja se lahko pojavljajo v kateremukoli fizičnem bloku

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


    Zvrsti datotek 2 vezani nevezani zapisi

    Zvrsti datotek (2)vezani / nevezani zapisi

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

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

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


    Operacije nad zapisi

    Operacije nad zapisi

    ažuriranje = spreminjanje vsebine logičnih datotek

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

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

      Štiri osnovne operacije nad zapisi fizičnih datotek:

    • iskanje

    • dodajanje

    • spreminjanje

    • brisanje


    1 iskanje

    1. iskanje

    • osnovna operacija

    • sestavni del vseh operacij ažuriranj

    • iskanje = iskanje naslova polja, v katerem se (naj bi se) nahajal iskani zapis oz. iskanje naslova polja, v katerega želimo shraniti zapis, ki se dodaja datoteki.

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

    • osnova za iskanje zapisa je lahko:

      • vrednost enega ali več podatkovnih elementov, pogosto ključa, ki jih iskani zapis ali zapis, ki ga dodajamo datoteki vsebuje

      • naslov polja ali fizičnega bloka ali skupine fizičnih blokov, ki vsebuje ali naj bi vseboval zapis

      • kombinacija vrednosti podatkovnih elementov in naslovov


    2 dodajanje

    2. dodajanje

    • poišči ustrezno prosto polje, v katerega (po kriteriju urejenosti datoteke) sodi novi zapis

    • vpiši zapis v poiskano polje v fizičnem bloku, ki se je v okviru iskanja prenesel v datotečni vmesnik

    • prepiši fizični blok iz datotečnega vmesnika na prejšnjo lokacijo na disku

    3. brisanje

    • poišči polje z zapisom

    • v fizičnem bloku označi, da je polje prazno

    • prepiši fizični blok iz datotečnega vmesnika nazaj na disk

    4. spreminjanje

    • podobno brisanju - polje z zapisom se ne označi kot prosto, pač se vanj vpiše nova vsebina

    • (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)


  • Login