Implementacija trajnosti podatkov

Študijski primer

## Obstajata 2 načina implementacije trajnosti podatkov:

1. t.i. 'klasični način' - podatki se zapisujejo v binarne ali tekstovne datoteke.
2. uporaba podatkovne baze (PB) in sistema za upravljanje s podatkovno bazo (SUPB) - podatki se zapisujejo v podatkovno bazo, SUPB pa omogoča dostop do PB in varuje njeno vsebino.

### Klasični načini implementacije trajnosti

Na nivoju operacijskega sistema je datoteka le zaporedje zlogov. Iz navedenega dejstva izhajajo naslednje posledice:

- Programi za obdelavo podatkov morajo poznati strukturo podatkov - struktura podatkov je zapisana v kodi programa.
- Operacijski sistem ne pozna strukture datotek in zato ne more preprečiti morebitne napake med podatki.
- Vse zaščite in druge omejitve morajo biti realizirane znotraj programa!
- Če več programov oziroma uporabnikov sočasno uporablja eno datoteko, je potrebno programsko zagotoviti zaščito podatkov (in to v vseh programih, ki delajo s podatki).

Premislite, kaj so slabosti 'klasičnega' načina shranjevanja podatkov v datotekah?

Slabosti ‘klasičnih’ sistemov

- Časovno požrešna metoda razvoja programske opreme (veliko programiranja).
- Ni podpore 'ad hoc' poizvedbam.
- Obstajajo izolirani ‘otoki’ informacij (primer: ločene datoteke po različnih oddelkih podjetja).
- Obstaja močna odvisnost med podatki in programi (sprememba strukture datoteke zahteva tudi spremembo vseh programov, ki jo uporabljajo).
- Obstaja možnost večkratnega zapisovanja istih podatkov. To je t.i. nenadzorovana redundanca podatkov. Pri dodajanju, spreminjanju in brisanju podatkov pogosto prihaja do anomalij med podatki.
- Zaradi pomanjkanje kontrole nad podatki lahko prihaja do nekonsistence (neskladnosti) med podatki.
- Podatki, shranjeni s pomočjo ene aplikacije, ne morejo biti obdelani s strani druge aplikacije (zaradi nekompatibilnosti formatov).

### Uporaba podatkovne baze in SUPB-ja za implementacijo trajnosti

Če se odločimo za implementacijo trajnosti podatkov s pomočjo podatkovne baze, potem struktura shranjenih podatkov mora biti podana na način, ki ga SUPB razume. Primer:

> Create Table "Dijak" (
> "DijakID" Integer NOT NULL,
> "Priimek" Char(20) NOT NULL,
> "Ime" Char(10) NOT NULL,
> "Razred" Char(3),
> Primary Key ("DijakID")
> );

Navedite nekaj prednosti uporabe podatkovne baze in sistema za upravljanje s podatkovno bazo!

Prednosti uporabe PB

- SUPB sam odkriva in preprečuje napake.
- Programiranje se poenostavi in se prestavi na višji nivo abstrakcije.
- SUPB je vmesnik med operacijskim sistemom in aplikacijskimi programi oziroma uporabniki.
- Koda SUPB-ja je testirana in dobro optimizirana.
- SUPB-ji imajo vgrajene rutine za razvrščanje in iskanje podatkov, za upravljanje z izrabo datotečnih izravnalnikov (bufferjev), za shranjevanje datotek, statistične funkcije, …
- SUPB je optimiziran za delo z velikimi količinami podatkov in podpira večuporabniško okolje. Ima vgrajene varnostne funkcije, ki preprečujejo dostop do podatkov nepooblaščenim osebam in tudi mehanizme, ki zagotavljajo zaščito podatkov v primeru porušitve sistema ter obnavljanje sistema.
- PB je dostopna le s pomočjo SUPB. Omogočeno je skrivanje ali prikrivanje internih sprememb znotraj podatkovne baze uporabnikom in uporabniškim programom. Vodilo abstraktnih podatkovnih tipov je možnost implementacije sprememb na nižjem nivoju in hkrati ohranjanje vmesnika proti višjem nivoju.