Sustavi baza podataka sastoje se od složenih struktura podataka. Kako bi sustav bio učinkovit u smislu dohvaćanja podataka i smanjio kompleksnost u smislu upotrebljivosti korisnika, programeri koriste apstrakciju, tj. skrivaju nebitne detalje od korisnika. Ovaj pristup pojednostavljuje dizajn baze podataka.
Razina apstrakcije u DBMS-u
Uglavnom postoje 3 razine apstrakcije podataka:
- Fizička ili unutarnja razina
- Logička ili konceptualna razina
- Pogled ili vanjska razina
Fizička ili unutarnja razina
Ovo je najniža razina apstrakcije podataka. Govori nam kako su podaci zapravo pohranjeni u memoriji. Za isto se koriste metode pristupa poput sekvencijalnog ili nasumičnog pristupa i metode organizacije datoteka poput B+ stabala i hashiranja. Upotrebljivost veličine memorije i broj zapisa čimbenici su koje moramo znati prilikom dizajniranja baze podataka.
Pretpostavimo da trebamo pohraniti podatke o zaposleniku. Blokovi pohrane i količina memorije koja se koristi u te svrhe ostaju skriveni od korisnika.
Logička ili konceptualna razina
Ova razina obuhvaća informacije koje su zapravo pohranjene u bazi podataka u obliku tablica. Također pohranjuje odnos između podatkovnih entiteta u relativno jednostavnim strukturama. Na ovoj razini informacije dostupne korisniku na razini prikaza su nepoznate.
Možemo pohraniti različite atribute zaposlenika i odnose, npr. kod upravitelja također se mogu pohraniti.
Logička razina tako opisuje cjelokupnu bazu podataka u smislu malog broja relativno jednostavnih struktura. Iako implementacija jednostavnih struktura na logičkoj razini može uključivati složene strukture fizičke razine, korisnik logičke razine ne mora biti svjestan ove složenosti. To se naziva fizička neovisnost podataka. Administratori baze podataka koji moraju odlučiti koje će informacije zadržati u bazi podataka koriste logičku razinu apstrakcije.
Pogled ili vanjska razina
Ovo je najviša razina apstrakcije. Korisnici vide samo dio stvarne baze podataka. Ova razina postoji kako bi se olakšala dostupnost baze podataka pojedinačnim korisnicima. Korisnici pregledavaju podatke u obliku redaka i stupaca. Tablice i relacije služe za pohranu podataka. Može postojati više prikaza iste baze podataka. Korisnici mogu samo pregledavati podatke i komunicirati s pohranom baze podataka, a detalji implementacije su skriveni od njih. Iako logička razina koristi jednostavnije strukture, ostaje složenost zbog raznolikosti informacija pohranjenih u velikoj bazi podataka. Mnogi korisnici sustava baze podataka ne trebaju sve te informacije; umjesto toga trebaju pristupiti samo dijelu baze podataka. Razina apstrakcije pogleda postoji kako bi se pojednostavila njihova interakcija sa sustavom
Primjer: U slučaju pohrane podataka o kupcima
j e s t
- Fizička razina - sadržavat će blok pohrane (bytesGBTBetc)
- Logička razina - sadržavat će polja i atribute podataka.
- Razina prikaza - radi s CLI ili GUI pristup bazi podataka
Glavna svrha apstrakcije podataka je postići neovisnost podataka kako bi se uštedjelo vrijeme i troškovi potrebni kada se baza podataka modificira ili mijenja.
Neovisnost podataka
Neovisnost podataka se uglavnom definira kao svojstvo DBMS-a koje vam pomaže promijeniti shemu baze podataka na jednoj razini sustava bez potrebe za promjenom sheme na sljedećoj razini. pomaže u održavanju podataka odvojenim od svih programa koji ih koriste.
Naime, imamo dvije razine neovisnosti podataka koje proizlaze iz ovih razina apstrakcije:
- Phys ja neovisnost podataka na kal. razini
- Neovisnost podataka na logičkoj razini
Neovisnost podataka na fizičkoj razini
Odnosi se na značajku mogućnosti modificiranja fizičke sheme bez ikakvih izmjena konceptualne ili logičke sheme u svrhu optimizacije, npr. konceptualnu strukturu baza podataka neće biti pod utjecajem bilo kakve promjene u veličini pohrane poslužitelja sustava baze podataka. Promjena sa sekvencijalnog na datoteke s nasumičnim pristupom jedan je takav primjer. Te izmjene ili modifikacije fizičke strukture mogu uključivati:
- Korištenje novih uređaja za pohranu.
- Promjena struktura podataka korištenih za pohranu.
- Mijenjanje indeksa ili korištenje alternativnih tehnika organizacije datoteka itd.
Neovisnost podataka logičke razine
Odnosi se na karakteristiku mogućnosti modificiranja logičke sheme bez utjecaja na vanjsku shemu ili aplikacijski program. Na korisnički prikaz podataka ne bi utjecale promjene konceptualnog prikaza podataka. Ove promjene mogu uključivati umetanje ili brisanje atributa koji mijenjaju entitete strukture tablice ili odnose s logičkom shemom itd.