1. Uvod

U prethodnoj temi upoznali smo se sa osnovnim pojmovima baza podataka. Znamo šta je baza podataka, šta su podaci, čemu služi DBMS i gde se baze podataka koriste.

Pitanje:  Kako se baza podataka pravi?

Baza podataka se ne pravi tako što odmah otvorimo program za rad sa bazama i počnemo da kreiramo tabele.

Pre nego što napravimo tabele, moramo da razumemo šta treba da čuvamo u bazi, kako su podaci međusobno povezani i koja pravila treba da važe.

Taj proces nazivamo projektovanje baze podataka.


2. Šta je projektovanje baze podataka?

Projektovanje baze podataka je proces planiranja organizacije podataka u bazi tako da podaci budu:

  • pravilno organizovani,
  • lako dostupni,
  • tačni i pouzdani,
  • povezani na odgovarajući način,
  • zaštićeni,
  • pogodni za pretraživanje i menjanje.

Jednostavno rečeno:

Projektovanje baze podataka znači osmisliti kako će podaci biti organizovani pre nego što bazu napravimo.

To je . 

Pre nego što se kuća izgradi, arhitekta pravi plan:

  • koliko će biti prostorija,
  • gde će se nalaziti prostorije,
  • kako će biti povezane,
  • gde će biti vrata i prozori,
  • koje dimenzije će imati.

Tek kada je plan napravljen, počinje izgradnja.

Kod baze podataka prvo pravimo plan baze, a tek onda kreiramo njene tabele i druge objekte.


3.  

Zamislimo da treba da napravimo bazu podataka za školu.

Škola ima:

  • učenike,
  • nastavnike,
  • odeljenja,
  • predmete,
  • ocene.

Ako odmah krenemo da pravimo tabele, možemo napraviti veliki broj grešaka.

Na primer, moramo da odgovorimo na pitanja:

  • Koje podatke čuvamo o učeniku?
  • Koje podatke čuvamo o nastavniku?
  • Kako znamo kom odeljenju učenik pripada?
  • Kako znamo koji nastavnik predaje određeni predmet?
  • Kako čuvamo ocene?
  • Kako povezujemo učenika i njegovu ocenu?
  • Kako znamo iz kog je predmeta ocena?

Dakle, pre pravljenja baze moramo da analiziramo sistem.


4. Koraci u projektovanju baze podataka

Projektovanje baze podataka možemo posmatrati kroz nekoliko osnovnih koraka.

Najpre moramo da razumemo sistem za koji pravimo bazu.

Na primer:

Želimo da napravimo bazu podataka za školsku biblioteku.

Moramo da saznamo šta se u biblioteci dešava.

U biblioteci postoje:

  • knjige,
  • učenici,
  • članovi biblioteke,
  • pozajmljivanja,
  • autori.

Postoje i različite veze između tih objekata.


Sledeće pitanje je: Koje podatke treba čuvati?

Na primer, za knjigu možemo čuvati:

  • šifru knjige,
  • naslov,
  • godinu izdanja,
  • ISBN,
  • izdavača.

Za učenika možemo čuvati:

  • šifru učenika,
  • ime,
  • prezime,
  • odeljenje.

Dakle, određujemo koje informacije su nam potrebne.


Podaci u bazi nisu izolovani.

Na primer:

  • učenik pripada odeljenju,
  • nastavnik predaje predmet,
  • učenik dobija ocenu,
  • učenik pozajmljuje knjigu.

Zato moramo utvrditi:

Kako su objekti međusobno povezani?

O ovome ćemo mnogo detaljnije učiti u narednim časovima.


Kada razumemo problem, podatke i njihove veze, pravimo model baze podataka.

Model predstavlja pojednostavljeni prikaz sistema.

Na primer, možemo predstaviti:

UČENIK → pripada → ODELJENJU

ili:

UČENIK → pozajmljuje → KNJIGU

Model nam omogućava da bazu sagledamo pre nego što je fizički napravimo.


Tek nakon projektovanja možemo preći na stvarnu implementaciju baze.

Tada se model pretvara u konkretne objekte baze:

  • tabele,
  • kolone,
  • ključeve,
  • veze,
  • ograničenja i druge objekte.

U ovoj fazi možemo koristiti neki DBMS, na primer Microsoft SQL Server.


5. Šta je model podataka?

Da bismo mogli da projektujemo bazu, potrebno je da znamo šta je model podataka.

Model podataka je način na koji opisujemo podatke, njihove osobine, veze između podataka i pravila koja nad njima važe.

Model možemo zamisliti kao plan ili nacrt baze podataka.

Na primer, kada projektujemo školsku bazu, ne moramo odmah da pravimo stvarne tabele.

Možemo prvo nacrtati:

Učenik:
   šifra učenika
   ime
   prezime

Odeljenje:
   šifra odeljenja
   naziv odeljenja

i prikazati da učenik pripada određenom odeljenju.


6. Zašto su nam potrebni modeli?

Model nam pomaže da:

  • razumemo podatke,
  • organizujemo podatke,
  • uočimo veze između objekata,
  • pronađemo moguće probleme,
  • dogovorimo izgled buduće baze,
  • lakše napravimo stvarnu bazu.

Važna prednost je što model možemo promeniti pre nego što napravimo stvarnu bazu.

Mnogo je lakše promeniti crtež ili plan nego menjati već napravljenu bazu sa velikim brojem tabela i podataka.


7. Tri nivoa modelovanja

Kod projektovanja baze podataka možemo posmatrati tri nivoa:

  1. konceptualni model
  2. logički model
  3. fizički model

Ova tri modela predstavljaju različite nivoe posmatranja iste baze.

Možemo ih zamisliti ovako:

IDEJA SISTEMA
↓
KONCEPTUALNI MODEL
↓
LOGIČKI MODEL
↓
FIZIČKA BAZA PODATAKA


7.1.  

Konceptualni model opisuje sistem sa stanovišta korisnika i stvarnog sveta.

U ovom trenutku ne razmišljamo detaljno o tome da li ćemo koristiti SQL Server, MySQL ili neki drugi DBMS.

Zanima nas:

  • koji objekti postoje,
  • koje osobine imaju,
  • kako su povezani.

Na primer, za školu možemo identifikovati:

  • UČENIK
  • ODELJENJE
  • NASTAVNIK
  • PREDMET
  • OCENA

I možemo uočiti veze između njih.

Na primer:

UČENIK — pripada — ODELJENJU

NASTAVNIK — predaje — PREDMET

Konceptualni model odgovara na pitanje:

Šta postoji u sistemu i kako je međusobno povezano?


7.2.  

Kada imamo konceptualni model, prelazimo na logički model.

Logički model opisuje kako će podaci biti organizovani u strukturi baze podataka.

Kod relacionih baza podataka to znači da razmišljamo o:

  • tabelama,
  • kolonama,
  • ključevima,
  • vezama između tabela,
  • ograničenjima.

Na primer, konceptualno imamo:

UČENIK

a u logičkom modelu možemo imati tabelu:

Ucenik

UcenikID Ime Prezime OdeljenjeID
1 Marko Marković 3
2 Ana Anić 2

Dakle, konceptualni model govori šta postoji, a logički model detaljnije opisuje kako će podaci biti organizovani u strukturi baze.


7.3.  

Treći nivo je fizički model.

On opisuje kako će baza zaista biti realizovana u konkretnom DBMS-u.

Na ovom nivou možemo razmišljati o:

  • konkretnom DBMS-u,
  • tipovima podataka,
  • indeksima,
  • fizičkom smeštanju podataka,
  • performansama,
  • drugim tehničkim detaljima.

Na primer, ako koristimo Microsoft SQL Server, možemo definisati:

CREATE TABLE Ucenik
(
    UcenikID INT,
    Ime VARCHAR(30),
    Prezime VARCHAR(30)
);

Ovo je već konkretna implementacija baze.

Napomena: U ovom momentu ne treba da učimo SQL. SQL ćemo koristiti kasnije, kada za to dođe vreme.


7.4.  

Možemo ih jednostavno uporediti:

Model Osnovno pitanje Primer
Konceptualni Šta postoji u sistemu? Učenik, predmet, odeljenje
Logički Kako organizujemo podatke? Tabele, kolone, ključevi
Fizički Kako će baza biti konkretno realizovana? SQL Server, tipovi podataka, indeksi

Zapamtite:

Konceptualni model – šta postoji?

Logički model – kako organizujemo podatke?

Fizički model – kako će to biti konkretno realizovano?


8. 

Posmatrajmo školsku biblioteku.

Stvarni svet

U biblioteci postoje:

  • učenici,
  • knjige,
  • autori,
  • pozajmice.

Učenik može pozajmiti knjigu.

To je stvarna situacija.


Konceptualni model

Možemo izdvojiti:

UČENIK

KNJIGA

POZAJMICA

i njihove veze.

Na primer:

UČENIK → pozajmljuje → KNJIGU


Logički model

Podaci mogu biti organizovani u tabele:

Ucenik

UcenikID Ime Prezime

Knjiga

KnjigaID Naslov Godina

Pozajmica

PozajmicaID UcenikID KnjigaID Datum

Fizički model

Sada se određuje kako će ove tabele konkretno biti napravljene u izabranom DBMS-u.

Na primer:

  • UcenikID – INT
  • Ime – VARCHAR(30)
  • Datum – DATE

i slično.


9. Veza sa prethodnom temom

U prethodnoj temi smo učili da baza podataka treba da bude:

  • organizovana,
  • pouzdana,
  • bez nepotrebnog ponavljanja podataka,
  • bezbedna,
  • jednostavna za pretraživanje i ažuriranje.

Sada vidimo da se te osobine ne postižu slučajno.

One zavise od toga kako smo bazu projektovali.

Ako loše projektujemo bazu, kasnije možemo imati:

  • nepotrebno ponavljanje podataka,
  • teško održavanje,
  • greške,
  • komplikovane veze,
  • probleme prilikom izmene podataka.

Zato je projektovanje veoma važan deo rada sa bazama podataka.


10. Najvažniji pojmovi

Projektovanje baze podataka

Projektovanje baze podataka je proces planiranja organizacije podataka i veza između njih pre izrade stvarne baze.

Model podataka

Model podataka predstavlja način opisivanja podataka, njihovih osobina, veza i pravila.

Konceptualni model

Prikazuje objekte stvarnog sistema i njihove veze.

Logički model

Opisuje organizaciju podataka u strukturi baze, na primer kroz tabele, kolone i ključeve.

Fizički model

Opisuje konkretnu realizaciju baze u izabranom DBMS-u.


11.   

  1. Šta je projektovanje baze podataka? >
  2. Zašto bazu ne treba praviti bez prethodnog planiranja?
  3. Šta je model podataka?
  4. Zašto koristimo modele podataka?
  5. Koja su tri nivoa modelovanja baze podataka?
  6. Šta opisuje konceptualni model?
  7. Šta opisuje logički model?
  8. Šta opisuje fizički model?
  9. Koja je osnovna razlika između konceptualnog i logičkog modela?
  10. Koja je osnovna razlika između logičkog i fizičkog modela?


Zaključak

Kada projektujemo bazu podataka, ne počinjemo od tabela i SQL naredbi.

Prvo posmatramo stvarni sistem.

Pokušavamo da utvrdimo:

Šta postoji?

Koje podatke treba čuvati?

Kako su objekti povezani?

Koja pravila treba da važe?

Tek nakon toga prelazimo na izradu modela, a zatim i na stvarnu bazu podataka.

Zato možemo zapamtiti jednostavan redosled:

STVARNI SISTEM → ANALIZA → MODEL → BAZA PODATAKA

U narednom času počinjemo od jednog od najvažnijih pojmova u konceptualnom modelovanju:   ENTITET.

Last modified: Monday, 28 September 2026, 5:39 PM