Neovisnost podataka u DBMS-u: fizička i logička s primjerima
⚡ Pametni sažetak
Neovisnost podataka je svojstvo DBMS-a koje omogućuje promjenu sheme na jednoj razini bez prisiljavanja promjene na sljedećoj višoj razini. Dolazi u dva oblika, fizičkom i logičkom, i drži podatke odvojenima od programa koji ih koriste.

Što je neovisnost podataka u DBMS-u?
Neovisnost podataka definira se kao svojstvo sustava za upravljanje bazama podataka koje vam pomaže promijeniti shemu baze podataka na jednoj razini sustava baze podataka bez potrebe za promjenom sheme na sljedećoj višoj razini. Neovisnost podataka pomaže vam da podatke držite odvojenima od svih programa koji ih koriste.
Ove pohranjene podatke možete koristiti za računanje i prezentaciju. U mnogim sustavima, neovisnost podataka je bitna funkcija za komponente sustava.
Vrste neovisnosti podataka
In DBMS Postoje dvije vrste neovisnosti podataka:
- Fizička neovisnost podataka.
- Logička neovisnost podataka.
Obje vrste počivaju na slojevitom dizajnu baze podataka, stoga je korisno prvo pregledati te razine.
Razine baze podataka
Prije nego što naučimo o neovisnosti podataka, važno je podsjetiti se na razine baze podataka. Baza podataka ima tri razine, kao što je prikazano na donjem dijagramu:
- Fizičko / Interno
- pojmovni
- Vanjski

To su isti slojevi detaljno opisani pod DBMS shemeRazmotrimo primjer sveučilišne baze podataka. Na različitim razinama, implementacija izgleda ovako:
| Vrsta sheme | Izvršenje |
|---|---|
| Vanjska shema |
Prikaz 1: Informacije_o_tečaju(cid:int, cname:string) Prikaz 2: student_info(id:int, ime:string) |
| Konceptualna shema |
Students(id: int, name: string, login: string, age: integer) Courses(id: int, cname: string, credits: integer) Enrolled(id: int, grade: string) |
| Fizička shema |
|
Neovisnost fizičkih podataka
Fizička neovisnost podataka pomaže vam odvojiti konceptualnu razinu od interne ili fizičke razine. Omogućuje vam logičan opis baze podataka bez potrebe za određivanjem fizičkih struktura. U usporedbi s logičkom neovisnošću, lako je postići fizičku neovisnost podataka.
S fizičkom neovisnošću možete mijenjati fizičke strukture ili uređaje za pohranu bez ikakvog utjecaja na konceptualnu shemu. Svaku napravljenu promjenu apsorbira mapa.ping između konceptualne i interne razine. Fizička neovisnost podataka postiže se prisutnošću interne razine baze podataka i transformacijom s konceptualne na internu razinu.
Primjeri promjena pod uvjetom fizičke neovisnosti podataka
Zbog fizičke neovisnosti, nijedna od dolje navedenih promjena neće utjecati na konceptualni sloj:
- Korištenje novog uređaja za pohranu podataka kao što je tvrdi disk ili magnetska vrpca.
- Modificiranje tehnike organizacije datoteka u bazi podataka.
- Prelazak na različite strukture podataka.
- Promjena načina pristupa.
- Modificiranje indeksa.
- Promjene tehnika kompresije ili algoritmi za raspršivanje.
- Promjena lokacije baze podataka, na primjer s pogona C na pogon D.
Logička neovisnost podataka
Logička neovisnost podataka je sposobnost promjene konceptualne sheme bez promjene:
- Vanjski pogledi.
- Vanjski API-ji ili programi.
Svaku napravljenu promjenu apsorbira kartaping između vanjske i konceptualne razine. U usporedbi s fizičkom neovisnošću podataka, teško je postići logičku neovisnost podataka.
Primjeri promjena pod logičkom neovisnošću podataka
Zbog logičke neovisnosti, nijedna od dolje navedenih promjena neće utjecati na vanjski sloj:
- Dodavanje, mijenjanje ili brisanje novog atributa, entiteta ili odnosa moguće je bez prepisivanja postojećih aplikacijskih programa.
- Spajanje dva zapisa u jedan.
- Razdvajanje postojećeg zapisa na dva ili više zapisa.
Razlika između fizičke i logičke neovisnosti podataka
| Logička neovisnost podataka | Neovisnost fizičkih podataka |
|---|---|
| Uglavnom se odnosi na strukturu ili promjenu definicije podataka. | Uglavnom se bavi pohranjivanjem podataka. |
| Teško, jer dohvaćanje podataka uglavnom ovisi o logičkoj strukturi. | Jednostavan za preuzimanje. |
| U usporedbi s fizičkom neovisnošću, teško ju je postići. | U usporedbi s logičkom neovisnošću, lako ju je postići. |
| Morate napraviti promjene u aplikacijskom programu ako se dodaju ili brišu nova polja. | Promjena na fizičkoj razini obično ne zahtijeva promjenu na razini aplikacijskog programa. |
| Modifikacija na logičkoj razini je značajna kad god se mijenjaju logičke strukture baze podataka. | Modifikacije na internoj razini mogu, ali i ne moraju biti potrebne za poboljšanje performansi. |
| Zabrinut zbog konceptualne sheme. | Zabrinut zbog unutarnje sheme. |
| Primjer: dodavanje, izmjena ili brisanje novog atributa. | Primjer: promjena tehnika kompresije, algoritama za hashiranje, uređaja za pohranu itd. |
Važnost neovisnosti podataka
- Pomaže vam poboljšati kvalitetu podataka.
- Čini održavanje sustava baze podataka pristupačnijim.
- Provodi standarde i poboljšava sigurnost baze podataka.
- Ne morate mijenjati strukture podataka u aplikacijskim programima.
- Omogućuje programerima da se usredotoče na opću strukturu baze podataka, a ne na internu implementaciju.
- Značajno smanjuje nekonzistentnost baze podataka.
- Omogućuje vam izmjene na fizičkoj razini kako biste poboljšali performanse sustava.
