3 - 3. čas – Vrste baza podataka i sistemi za upravljanje bazama podataka
Uvod
U prethodnim lekcijama upoznali smo se sa pojmovima podatak, informacija i baza podataka.
Baza podataka omogućava organizovano čuvanje i korišćenje podataka. Međutim, podaci se ne organizuju u svim bazama na isti način. U zavisnosti od problema koji rešavamo i načina korišćenja podataka, postoje različiti modeli baza podataka.
Za rad sa bazom podataka potreban je poseban softver koji se naziva sistem za upravljanje bazama podataka (SUBP), odnosno DBMS.
1. Vrste baza podataka prema načinu organizovanja podataka
Postoji više načina organizovanja podataka u bazi. Među poznatijim modelima su:
-
hijerarhijske baze podataka;
-
mrežne baze podataka;
-
relacionе baze podataka;
-
objektne baze podataka.
Pored njih, postoje i NoSQL baze podataka, koje koriste različite načine organizovanja podataka.
Ne postoji jedan model koji je pogodan za svaki problem. Izbor zavisi od vrste podataka, veza između podataka i načina na koji će se baza koristiti.
Dodatno objašnjenje – modeli baza podataka
Model baze podataka predstavlja način na koji se podaci organizuju, opisuju i povezuju. Model određuje kako će se podaci predstavljati i kako će se pristupati njihovim vezama.
U nastavku predmeta najviše ćemo se baviti relacionim modelom, jer su tabele i SQL osnova za rad sa relacionim bazama podataka.
1.1. Hijerarhijske baze podataka
Kod hijerarhijske baze podataka podaci su organizovani u obliku hijerarhije, odnosno strukture koja podseća na stablo.
Postoji početni element, a ispod njega nalaze se drugi elementi.
ŠKOLA
│
├── II-1
│ ├── Marko
│ ├── Ana
│ └── Nikola
│
├── II-2
│ ├── Jovan
│ └── Milica
│
└── II-3
├── Petar
└── Jelena
U ovom primeru:
-
ŠKOLA je najviši element;
-
odeljenja se nalaze ispod škole;
-
učenici pripadaju određenom odeljenju.


Hijerarhijska organizacija je pogodna kada podaci prirodno imaju strukturu roditelj–dete.
Hijerarhijski model je jedan od starijih modela baza podataka. Njegova struktura može biti efikasna kada podaci prirodno formiraju stablo, ali je manje pogodna za složene veze u kojima jedan podatak treba da bude povezan sa više različitih elemenata.
1.2. Mrežne baze podataka
Kod mrežnog modela podaci mogu biti povezani na složeniji način.
Za razliku od hijerarhijskog modela, jedan element može biti povezan sa više drugih elemenata.
-
jedan učenik može pohađati više predmeta;
-
jedan predmet može pohađati više učenika.
Ovakve veze više liče na mrežu nego na stablo.


Za one koji žele da znaju više
Mrežni model baza podataka omogućava složene veze između zapisa. Razvijen je kao pristup koji može da predstavi odnose koje je teško prikazati jednostavnom hijerarhijom.
U poređenju sa relacionim modelom, rad sa mrežnom strukturom može zahtevati složenije načine pristupa podacima.
1.3. Relacione baze podataka
Relacioni model organizuje podatke u obliku tabela.
To je model sa kojim ćemo se najviše baviti u ovom predmetu.
| ID | Ime | Prezime | Odeljenje |
|---|---|---|---|
| 101 | Marko | Marković | II-1 |
| 102 | Ana | Petrović | II-2 |
| 103 | Nikola | Jovanović | II-1 |
Tabela se sastoji od:
-
kolona – predstavljaju osobine, odnosno atribute;
-
redova – predstavljaju pojedinačne zapise;
-
vrednosti – konkretni podaci koji se nalaze u ćelijama.
Relaciona baza obično sadrži više tabela koje su međusobno povezane.
Na primer, školska baza može imati tabele:
-
UČENICI;
-
PREDMETI;
-
OCENE.
Na taj način možemo povezati učenike, predmete i njihove ocene.
1.4. Objektne baze podataka
Kod objektnih baza podataka podaci se organizuju kao objekti.
Ovakav pristup je povezan sa objektno orijentisanim programiranjem.
Objekat može sadržati podatke i osobine koje ga opisuju.
Na primer, objekat učenika može imati:
Učenik
----------------
ime
prezime
odeljenje
ocene
Objektne baze mogu biti korisne kada aplikacija intenzivno koristi složene objekte.
Dodatno objašnjenje
Objektni model pokušava da podatke organizuje na način sličan objektima koji se koriste u objektno orijentisanim programskim jezicima.
U relacionom modelu podaci se organizuju u tabele, dok se u objektnom modelu podaci mogu organizovati kao objekti sa osobinama i ponašanjem.
1.5. NoSQL baze podataka
Pored relacionih baza postoje i NoSQL baze podataka. One koriste različite načine organizovanja podataka.
Podaci mogu biti predstavljeni kao:
- dokumenti;
- ključ–vrednost;
-
....
{
ime: "Marko",
prezime: "Marković",
odeljenje: "II-1"
}
NoSQL baze se koriste u različitim informacionim sistemima i aplikacijama, naročito kada su potrebni drugačiji načini čuvanja i pristupa podacima.
Za one koji žele da znaju više
NoSQL nije jedna konkretna vrsta baze podataka, već naziv za više pristupa organizovanju podataka koji se razlikuju od klasičnog relacionog modela.
Primeri NoSQL sistema su MongoDB, Redis, Cassandra i Neo4j. Oni koriste različite modele, kao što su dokumenti, ključ–vrednost, kolone i grafovi.
1.6. Poređenje osnovnih modela
| Model | Način organizovanja |
|---|---|
| Hijerarhijski | Stablo |
| Mrežni | Mreža veza |
| Relacioni | Tabele |
| Objektni | Objekti |
| NoSQL | Različiti modeli |
Za naš predmet je najvažniji relacioni model, jer ćemo podatke organizovati u tabele i koristiti SQL jezik za rad sa njima.
2. Šta je sistem za upravljanje bazama podataka?
Baza podataka sadrži podatke, ali je za rad sa njima potreban odgovarajući softver.
Sistem za upravljanje bazama podataka, skraćeno SUBP, odnosno DBMS (Database Management System), jeste softver koji omogućava upravljanje bazom podataka.
DBMS predstavlja vezu između korisnika odnosno aplikacije i baze podataka.

Korisnik preko aplikacije zada zahtev, aplikacija ga prosleđuje DBMS-u, a DBMS radi sa bazom podataka.
Dodatno objašnjenje
Baza podataka i DBMS nisu isto.
Baza podataka predstavlja organizovane podatke.
DBMS je softver koji omogućava kreiranje, održavanje i korišćenje baze podataka.
DBMS može da upravlja podacima, kontroliše prava pristupa i podrži rad više korisnika.
2.1. Šta radi DBMS?
DBMS ima veliki broj zadataka. Najvažniji su:
1. Kreiranje baze - Omogućava kreiranje baze podataka i njenih elemenata.
2. Unos podataka - Omogućava dodavanje novih podataka.
3. Izmena podataka - Omogućava promenu postojećih podataka.
4. Brisanje podataka - Omogućava uklanjanje podataka koji više nisu potrebni.
5. Pretraživanje podataka - Omogućava pronalaženje podataka koji zadovoljavaju određene uslove.
6. Zaštita podataka - Omogućava kontrolu pristupa podacima.
7. Rad više korisnika - Omogućava da više korisnika radi sa istom bazom podataka.
Funkcije DBMS-a mogu se posmatrati kroz nekoliko grupa:
definisanje strukture podataka;
manipulacija podacima;
postavljanje upita;
upravljanje korisnicima i pravima pristupa;
kontrola integriteta;
upravljanje istovremenim radom korisnika;
zaštita i oporavak podataka.
Ove funkcije ćemo postepeno upoznavati tokom kursa.
2.2. Primeri sistema za upravljanje bazama podataka
Postoji veliki broj DBMS sistema.
Neki od poznatih su:
-
Microsoft SQL Server – relacioni sistem koji se koristi u različitim poslovnim informacionim sistemima;
-
MySQL – relacioni DBMS koji se često koristi za web aplikacije;
-
PostgreSQL – relacioni DBMS sa velikim brojem mogućnosti;
-
Oracle Database – DBMS koji se koristi u velikim informacionim sistemima;
-
Microsoft Access – sistem namenjen radu sa bazama podataka, naročito u manjim aplikacijama.
Važno – SQL i DBMS nisu isto
SQL je jezik koji se koristi za rad sa relacionim bazama podataka.
DBMS je softverski sistem koji upravlja bazom i omogućava rad sa njom.
Na primer, Microsoft SQL Server je DBMS, dok je SQL jezik koji se koristi za rad sa relacionom bazom.
3. Baza podataka, DBMS i aplikacija – nisu isto
Ova tri pojma treba razlikovati.
| Pojam | Uloga |
|---|---|
| Baza podataka | Sadrži podatke |
| DBMS | Upravlja bazom podataka |
| Aplikacija | Omogućava korisniku rad sa podacima |
Primer iz školskog informacionog sistema:
Nastavnik u aplikaciji izabere učenika i unese ocenu.
Aplikacija prosleđuje zahtev DBMS-u, a DBMS upisuje podatak u bazu.
Nastavnik ne mora direktno da pristupa fizičkim podacima na disku.
Dodatno objašnjenje – tok rada
Pojednostavljen tok rada može se prikazati ovako:
Korisnik → aplikacija → DBMS → baza podataka
Nakon obrade zahteva rezultat se vraća aplikaciji, koja ga prikazuje korisniku.
Ovakvo razdvajanje omogućava da korisnik radi sa bazom kroz odgovarajući interfejs, bez potrebe da poznaje način fizičkog čuvanja podataka.
4. Šta treba zapamtiti?
-
Postoji više modela organizovanja baza podataka.
-
Hijerarhijski model organizuje podatke u obliku stabla.
-
Mrežni model omogućava složene veze između elemenata.
-
Relacioni model organizuje podatke u tabele.
-
Objektni model organizuje podatke kao objekte.
-
NoSQL baze koriste različite modele organizovanja podataka.
-
SUBP/DBMS je softver za upravljanje bazama podataka.
-
DBMS omogućava kreiranje, unos, izmenu, brisanje i pretraživanje podataka.
-
DBMS omogućava zaštitu podataka i podršku za rad više korisnika.
-
Baza podataka, DBMS i aplikacija nisu isto.
-
SQL je jezik za rad sa relacionim bazama podataka, dok je DBMS softver koji upravlja bazom.
5. Pitanja za proveru znanja
-
Zašto postoje različite vrste baza podataka?
-
Kako su organizovani podaci u hijerarhijskoj bazi?
-
Po čemu se mrežni model razlikuje od hijerarhijskog?
-
Kako su organizovani podaci u relacionoj bazi?
-
Koji model baza podataka ćemo najviše koristiti u ovom predmetu?
-
Šta je SUBP?
-
Šta znači skraćenica DBMS?
-
Navesti najmanje četiri zadatka DBMS-a.
-
Navesti tri sistema za upravljanje bazama podataka.
-
Koja je razlika između baze podataka i DBMS-a?
-
Koja je razlika između SQL-a i DBMS-a?
- - Zadatak - -
Zamisli informacioni sistem škole.
-
Navesti najmanje pet podataka koji bi se čuvali u bazi.
-
Navesti tri tabele koje bi mogle da postoje.
-
Navesti najmanje tri vrste korisnika informacionog sistema.
-
Objasniti zašto različiti korisnici ne bi trebalo da imaju ista prava pristupa podacima.
Dodatni zadatak za učenike koji žele više
Objasniti razliku između relacionog i hijerarhijskog modela na primeru organizacije podataka o učenicima.