Uvod

Kada projektujemo bazu podataka, nije dovoljno samo da kažemo koje podatke želimo da čuvamo. Potrebno je da razumemo šta ti podaci predstavljaju, kako su međusobno povezani i kakva pravila postoje između njih.

Na primer, zamislimo informacioni sistem fakulteta. U njemu želimo da čuvamo podatke o studentima, predmetima i nastavnicima. Za studenta želimo da znamo ime, prezime i broj indeksa. Za predmet želimo da znamo naziv i broj ESPB bodova. Međutim, nije dovoljno samo sačuvati ove podatke. Moramo znati i:

  • koje predmete student sluša;
  • koji nastavnik predaje određeni predmet;
  • koji studenti pripadaju određenoj grupi;
  • koji student je položio određeni predmet.

Dakle, osim samih podataka, moramo opisati i odnose između podataka.

Za opisivanje takve strukture koristi se ER model.

ER je skraćenica od engleskog izraza Entity-Relationship, odnosno Entity – Relationship model, što možemo prevesti kao model objekti i veze ili model entiteti i veze.

ER model predstavlja način da se, pre izrade same baze podataka, opiše koji objekti postoje u sistemu, koje osobine imaju i na koji način su međusobno povezani.

Drugim rečima, ER model nam omogućava da stvarni svet prevedemo u model koji računar može da koristi kao osnovu za izradu baze podataka.


Šta je ER model?

ER model je konceptualni model baze podataka koji opisuje entitete, njihove atribute i veze između entiteta.

Možemo ga posmatrati kao neku vrstu plana ili nacrta baze podataka.

Pre nego što napravimo kuću, napravimo projekat. Slično tome, pre nego što napravimo bazu podataka, možemo napraviti njen model.

Na primer, ako pravimo bazu podataka za biblioteku, najpre moramo razmisliti:

  • Koji objekti postoje u biblioteci?
  • O kojim objektima želimo da čuvamo podatke?
  • Koje podatke želimo da čuvamo o svakom objektu?
  • Kako su ti objekti povezani?

U tom sistemu postoje, na primer, članovi biblioteke i knjige. Članovi pozajmljuju knjige, pa između njih postoji određeni odnos.

ER model omogućava da takvu situaciju predstavimo na jasan i organizovan način.


Entitet

Jedan od osnovnih pojmova ER modela je entitet.

Entitet je objekat, osoba, predmet, događaj ili pojava o kojoj želimo da čuvamo podatke u bazi podataka.

Entitet može predstavljati nešto što postoji u stvarnom svetu, ali i nešto što postoji kao pojam ili događaj u informacionom sistemu.

Na primer, u informacionom sistemu škole možemo imati sledeće entitete:

  • Učenik
  • Odeljenje
  • Nastavnik
  • Predmet

U informacionom sistemu biblioteke možemo imati:

  • Član
  • Knjiga
  • Autor
  • Izdavač

U informacionom sistemu prodavnice možemo imati:

  • Kupac
  • Proizvod
  • Porudžbina
  • Prodavac

Entitet ne predstavlja jednu konkretnu osobu ili jedan konkretan predmet, već tip objekta o kojem želimo da čuvamo podatke.

Na primer, UČENIK je entitet.

Marko Petrović, koji je učenik, predstavlja jednu konkretnu pojavu, odnosno instancu tog entiteta.


Instanca entiteta

Instanca je konkretna pojava jednog entiteta.

Ako je UČENIK entitet, onda su:

  • Marko Petrović
  • Ana Jovanović
  • Ivana Nikolić

konkretne instance tog entiteta.

Možemo to zamisliti ovako:

  Entitet: UČENIK

  Instance:

  • Marko Petrović
  • Ana Jovanović
  • Ivana Nikolić

Slično tome, ako je KNJIGA entitet, konkretna knjiga „Na Drini ćuprija“ predstavlja jednu instancu tog entiteta.

Baza podataka obično sadrži više instanci istog entiteta.


Atribut

Da bismo mogli da opišemo entitet, potrebno je da navedemo njegove osobine.

Te osobine nazivamo atributima.

Atribut je osobina ili karakteristika entiteta o kojoj želimo da čuvamo podatke.

Na primer, entitet UČENIK može imati sledeće atribute:

  • ime;
  • prezime;
  • datum rođenja;
  • adresa;
  • broj telefona;
  • broj indeksa.

Dakle:

 UČENIK

→ ime
→ prezime
→ datum rođenja
→ adresa
→ broj telefona
→ UčenikID

Za entitet PREDMET možemo imati:

  • šifru predmeta;
  • naziv predmeta;
  • broj ESPB bodova;
  • semestar.

Bitno je da razlikujemo entitet i atribut.

Na primer:

Učenik je entitet, dok je ime atribut učenika.

Isto tako:

Knjiga je entitet, dok su naslov i ISBN atributi knjige.


Vrednost atributa

Atribut predstavlja osobinu, dok je vrednost atributa konkretan podatak koji ta osobina ima za određenu instancu.

Na primer:

UčenikID Ime Prezime Godina
101 Ana Jovanović 2005
102 Marko Petrović 2004
103 Ivana Nikolić 2005

Ovde su:

  • Ime – atribut;
  • Ana – vrednost atributa Ime za jednu instancu;
  • Marko – vrednost atributa Ime za drugu instancu.

Dakle, atribut opisuje šta podatak predstavlja, a vrednost atributa predstavlja konkretan podatak.


Jedinstveni identifikator

Kada u bazi imamo veliki broj instanci jednog entiteta, moramo imati način da ih međusobno razlikujemo.

Zamislimo školu u kojoj postoje dva učenika koji se zovu Marko Petrović.

Ako učenika određujemo samo na osnovu imena i prezimena, ne možemo biti sigurni o kom učeniku je reč.

Zato se koristi jedinstveni identifikator.

Jedinstveni identifikator je atribut ili skup atributa koji na jedinstven način identifikuje svaku instancu entiteta.

Za entitet UČENIK možemo imati:

UčenikID

Na primer:

UčenikID Ime Prezime
101 Marko Petrović
102 Marko Petrović

Iako se učenici isto zovu i prezivaju, njihov UčenikID je različit.

Zbog toga možemo tačno razlikovati jednog učenika od drugog.


Veze između entiteta

U stvarnom svetu objekti uglavnom nisu međusobno nezavisni.

Na primer:

  • učenik pripada odeljenju;
  • nastavnik predaje predmet;
  • student polaže ispit;
  • kupac kupuje proizvod;
  • član biblioteke pozajmljuje knjigu.

Zbog toga u ER modelu, osim entiteta i atributa, posmatramo i veze između entiteta.

Veza predstavlja odnos koji postoji između dva ili više entiteta.

Na primer:

UČENIK — pripada — ODELJENJU

Ovde su:

  • UČENIK – entitet;
  • ODELJENJE – entitet;
  • PRIPADA – veza.

Ili:

STUDENT — sluša — PREDMET

Ovde je „sluša“ veza između entiteta STUDENT i PREDMET.

Vezu je često najlakše prepoznati tako što se zapitamo:

Šta jedan entitet radi u odnosu na drugi entitet?


Kardinalnost veze

Kada utvrdimo da između dva entiteta postoji veza, potrebno je da odredimo koliko instanci jednog entiteta može biti povezano sa instancama drugog entiteta.

To opisujemo pomoću kardinalnosti.

Najčešći oblici kardinalnosti su:

  • 1 : 1

  • 1 : N

  • M : N

Oznake N i M označavaju „više“.


Veza 1 : 1

Kod veze 1 : 1, jedna instanca prvog entiteta povezana je sa najviše jednom instancom drugog entiteta, i obrnuto.

Na primer:

OSOBA — ima — LIČNU KARTU

Ako pretpostavimo da svaka osoba ima jednu ličnu kartu i da jedna lična karta pripada samo jednoj osobi, govorimo o vezi:

1 : 1

Možemo postaviti pitanje:

Koliko ličnih karata može imati jedna osoba?

Jednu.

Koliko osoba može imati jednu ličnu kartu?

Jednu.

Zato je kardinalnost 1 : 1.


Veza 1 : N

Kod veze 1 : N, jedna instanca prvog entiteta može biti povezana sa više instanci drugog entiteta.

Na primer:

ODELJENJE — ima — UČENIKA

Jedno odeljenje može imati više učenika.

Ali jedan učenik pripada jednom odeljenju.

Zato imamo:

ODELJENJE 1 : N UČENIK

Možemo postaviti pitanja:

Koliko učenika može pripadati jednom odeljenju?

Više učenika.

Koliko odeljenja pripada jedan učenik?

Jednom odeljenju.

Zato je veza 1 : N.

Ovaj tip veze je veoma čest u bazama podataka.


Veza M : N

Kod veze M : N, više instanci jednog entiteta može biti povezano sa više instanci drugog entiteta.

Na primer:

STUDENT — sluša — PREDMET

Jedan student može slušati više predmeta.

Ali i jedan predmet može slušati više studenata.

Zato imamo:

STUDENT M : N PREDMET

Možemo postaviti dva pitanja:

Koliko predmeta može slušati jedan student?

Više.

Koliko studenata može slušati jedan predmet?

Takođe više.

Zato je kardinalnost M : N.


Participacija u vezi

Pored kardinalnosti, kod veze nas zanima i da li neka instanca mora da učestvuje u toj vezi.

To nazivamo participacija.

Participacija može biti:

  • obavezna;
  • neobavezna.

Na primer, ako kažemo:

Svaki učenik mora pripadati nekom odeljenju.

onda učenik mora učestvovati u vezi „pripada“.

To je obavezna participacija.

Sa druge strane, možemo imati situaciju:

Učenik može, ali ne mora biti član školskog kluba.

U tom slučaju njegovo učešće u toj vezi nije obavezno.

Dakle, kardinalnost odgovara na pitanje „koliko?“, dok participacija odgovara na pitanje „da li mora?“


ER dijagram

ER model možemo predstaviti i grafički, pomoću ER dijagrama.

ER dijagram predstavlja vizuelni prikaz:

  • entiteta;
  • atributa;
  • identifikatora;
  • veza;
  • kardinalnosti;
  • participacije.

Na primer, možemo zamisliti sledeći model:

┌──────────────────┐
│    ODELJENJE     │
├──────────────────┤
│ OdeljenjeID      │
│ Oznaka           │
│ Razred           │
└──────────────────┘
          │
          │ 1
          │
       PRIPADA
          │
          │ N
          │
┌──────────────────┐
│      UČENIK      │
├──────────────────┤
│ UčenikID         │
│ Ime              │
│ Prezime          │
│ DatumRodjenja    │
└──────────────────┘
 

Iz ovog modela možemo pročitati:

  • postoje dva entiteta: ODELJENJE i UČENIK;
  • ODELJENJE ima atribute OdeljenjeID, Oznaka i Razred;
  • UČENIK ima atribute UčenikID, Ime, Prezime i DatumRodjenja;
  • između entiteta postoji veza PRIPADA;
  • jedno odeljenje može imati više učenika;
  • jedan učenik pripada jednom odeljenju;
  • kardinalnost veze je 1:N.

Na taj način ER dijagram omogućava da strukturu sistema vidimo, a ne samo da je opisujemo tekstom.


Kako projektujemo ER model?

Prilikom izrade ER modela možemo postupati u nekoliko koraka.

Najpre analiziramo sistem koji želimo da predstavimo. Pokušavamo da utvrdimo o čemu u tom sistemu treba čuvati podatke.

Na primer, za informacioni sistem fakulteta možemo uočiti entitete:

STUDENT, PREDMET, NASTAVNIK

Zatim za svaki entitet određujemo njegove atribute.

Za STUDENTA možemo imati:

  • StudentID;
  • Ime;
  • Prezime;
  • BrojIndeksa.

Nakon toga određujemo jedinstveni identifikator.

Zatim posmatramo kako su entiteti povezani.

Na primer:

STUDENT — sluša — PREDMET

Na kraju određujemo kardinalnost i participaciju svake veze i sve prikazujemo na ER dijagramu.

Dakle, proces možemo pojednostavljeno prikazati ovako:

sistem → entiteti → atributi → identifikatori → veze → kardinalnosti i participacije → ER dijagram


Primer: informacioni sistem biblioteke

Zamislimo biblioteku.

U biblioteci postoje članovi koji pozajmljuju knjige.

Najpre prepoznajemo entitete:

ČLAN

KNJIGA

Za člana možemo čuvati:

  • ČlanID;
  • Ime;
  • Prezime;
  • Adresa.

Za knjigu možemo čuvati:

  • KnjigaID;
  • Naslov;
  • ISBN;
  • GodinaIzdanja.

Zatim uočavamo vezu:

ČLAN — POZAJMLJUJE — KNJIGU

Sada postavljamo pitanja.

  Da li jedan član može pozajmiti više knjiga?

Da.

Da li jednu knjigu mogu tokom vremena pozajmljivati različiti članovi?

Da.

Zato ovde imamo primer veze:

M : N

Ovaj primer pokazuje zašto nije dovoljno samo pronaći entitete. Potrebno je razumeti i njihove međusobne odnose.


Zašto nam je ER model važan?

ER model je važan zato što nam omogućava da pre izrade baze podataka uočimo probleme u organizaciji podataka.

Ako odmah počnemo da pravimo tabele, bez prethodnog razmišljanja o strukturi sistema, možemo napraviti loše organizovanu bazu podataka.

ER model nam omogućava da najpre napravimo „skicu“ baze.

Na taj način možemo proveriti:

  • da li smo pronašli sve važne entitete;
  • da li smo pronašli njihove atribute;
  • da li svaki entitet ima odgovarajući identifikator;
  • da li su entiteti pravilno povezani;
  • da li je kardinalnost dobro određena;
  • da li postoje nepotrebna ponavljanja podataka.

ER model se koristi kao važan korak u projektovanju baze podataka.


Zaključak

ER model predstavlja konceptualni opis baze podataka. On nam omogućava da stvarni sistem predstavimo pomoću entiteta, njihovih atributa i veza između njih.

Osnovni elementi koje treba zapamtiti su:

Entitet – objekat o kome čuvamo podatke.

Instanca – konkretna pojava entiteta.

Atribut – osobina entiteta.

Jedinstveni identifikator – podatak koji jednoznačno određuje instancu entiteta.

Veza – odnos između entiteta.

Kardinalnost – određuje koliko instanci jednog entiteta može biti povezano sa instancama drugog entiteta.

Participacija – određuje da li instanca mora da učestvuje u vezi.

Najčešće kardinalnosti su:

1 : 1

1 : N

M : N

Sve ove elemente možemo grafički prikazati pomoću ER dijagrama.


Pitanja za proveru znanja

  1. Šta predstavlja ER model?
  2. Šta je entitet? Navedi tri primera.
  3. Koja je razlika između entiteta i instance?
  4. Šta je atribut?
  5. Šta je jedinstveni identifikator i čemu služi?
  6. Šta je veza između entiteta?
  7. Objasni vezu 1:1 na primeru.
  8. Objasni vezu 1:N na primeru.
  9. Objasni vezu M:N na primeru.
  10. Koja je razlika između kardinalnosti i participacije?
  11. Šta je ER dijagram?
  12. Koje elemente prikazujemo u ER dijagramu?

...

Last modified: Monday, 19 October 2026, 8:46 AM