Dodatak: Entitet i instanca
1. Uvod
Na prethodnom času naučili smo da se baza podataka ne pravi odmah. Najpre moramo da proučimo sistem za koji pravimo bazu.
Na primer, ako pravimo bazu za školu, možemo uočiti:
- učenike,
- nastavnike,
- odeljenja,
- predmete,
- učionice,
- ocene.
Ako pravimo bazu za biblioteku, možemo uočiti:
- knjige,
- učenike,
- autore,
- izdavače,
- pozajmice.
Ovi objekti iz stvarnog sveta predstavljaju osnovu za projektovanje baze.
Danas ćemo uvesti dva veoma pojma: ENTITET i INSTANCA.
2. Šta je entitet?
Entitet je objekat, pojava ili pojam iz realnog sistema o kome želimo da čuvamo podatke u bazi podataka.
Jednostavnije rečeno:
Entitet je nešto o čemu želimo da sačuvamo podatke.
Na primer, možemo imati entitete
-
UČENIK
-
NASTAVNIK
-
ODELJENJE
-
PREDMET
-
KNJIGA
-
UČENIK
-
AUTOR
-
POZAJMICA
-
PROIZVOD
-
KUPAC
-
RAČUN
-
PRODAVAC
3. Kako prepoznajemo entitet?
Postavimo jednostavno pitanje:
Da li o ovome treba da čuvamo podatke u bazi?
Ako je odgovor da, moguće je da se radi o entitetu.
Na primer, škola želi da čuva podatke o učenicima. Tada se pojavljuje UČENIK. O učeniku možemo čuvati: ime, prezime, datum rođenja, odeljenje, adresu. Dakle, UČENIK je entitet.
4. Entitet nije jedan konkretan objekat
Ovo je veoma važno.
Ako kažemo da imamo entitet UČENIK ne mislimo na jednog konkretnog učenika. Mislimo na vrstu objekta o kojoj želimo da čuvamo podatke.
Na primer, entitet UČENIK može predstavljati: Marka Markovića, Anu Jovanović, Nikolu Petrovića, Milicu Ilić, i mnoge druge učenike.
Iz toga sledi: UČENIK = tip objekta
5. Šta je instanca?
Instanca je jedan konkretan primer entiteta.
Ako je UČENIK entitet, onda su: Marko Marković, Ana Jovanović, Nikola Petrović konkretne instance tog entiteta.
Možemo zapisati:
ENTITET: UČENIK
INSTANCE:
-
- Marko Marković
- Ana Jovanović
- Nikola Petrović
6. Još jedan primer – knjiga
Posmatrajmo biblioteku.
Imamo entitet: KNJIGA
Jedna konkretna knjiga može biti: „Na Drini ćuprija“
Druga: „Prokleta avlija“
Treća: „Orlovi rano lete“
Sve one pripadaju istom entitetu: KNJIGA
Dakle:
| Entitet | Instance |
|---|---|
| KNJIGA | „Na Drini ćuprija“ |
| KNJIGA | „Prokleta avlija“ |
| KNJIGA | „Orlovi rano lete“ |
7. Zapamtite:
Entitet predstavlja tip objekta.
Instanca predstavlja jedan konkretan objekat tog tipa.
8. Još jedan primer – škola
Zamislimo školsku bazu podataka.
Možemo imati sledeće entitete:
UČENIK
Instance:
-
Marko Marković
-
Ana Jovanović
-
Nikola Petrović
NASTAVNIK
Instance:
-
Jelena Jovanović
-
Petar Petrović
-
Milan Nikolić
PREDMET
Instance:
-
Programiranje
-
Baze podataka
-
Matematika
-
Engleski jezik
ODELJENJE
Instance:
-
I-1
-
II-3
-
III-2
-
IV-1
9. Da li je sve entitet?
Ne.
U realnom sistemu postoji veliki broj stvari, ali ne moramo za svaku od njih praviti entitet.
Na primer, u školi postoje: zidovi, prozori, stolice, table, sijalice, ...
Ali ako škola želi bazu podataka za praćenje učenika i ocena, možda joj podaci o sijalicama nisu potrebni.
Zato nije dovoljno pitati:
„Da li ovo postoji u stvarnom svetu?“
Bolje pitanje je:
„Da li nam je potrebno da o ovome čuvamo podatke?“
10. Kako biramo entitete?
Kada analiziramo sistem, možemo koristiti sledeći postupak:
Korak 1 - Proučimo sistem.
Korak 2 - Navedemo objekte koji postoje.
Korak 3 - Razmislimo o tome koje podatke treba čuvati.
Korak 4 - Izdvojimo objekte o kojima ćemo čuvati podatke.
Korak 5 - Te objekte možemo predstaviti kao entitete.
11. Primer – internet prodavnica
Zamislimo da pravimo bazu za internet prodavnicu.
U prodavnici postoje:
-
proizvodi,
-
kupci,
-
narudžbine,
-
prodavci.
O svakima želimo da čuvamo određene podatke.
Zato možemo izdvojiti entitete:
PROIZVOD
KUPAC
NARUDŽBINA
PRODAVAC
Na primer: za Entitet PROIZVOD instance mogu biti:
-
Laptop Lenovo
-
Miš Logitech
-
Tastatura HP
-
Monitor Samsung
12. Veći broj instanci
Jedan entitet može imati veliki broj instanci.
Na primer, škola može imati: Entitet: UČENIK i 500 učenika.
Tada imamo: 1 entitet → mnogo instanci
Možemo zamisliti:
UČENIK
↓
- Marko
- Ana
- Nikola
- Milica
- Stefan
- ...
Važno je razumeti da entitet nije jedan red u tabeli.
O tome ćemo detaljnije govoriti kada budemo povezivali konceptualni model sa relacionim bazama.
13. Kako predstavljamo entitet u modelu?
U ER modelu entitet se najčešće predstavlja pravougaonikom.
Na primer:
+-------------+
| UČENIK |
+-------------+
ili:
+-------------+
| KNJIGA |
+-------------+
Ovo predstavlja tip entiteta, a ne jednog konkretnog učenika ili jednu konkretnu knjigu.
Kasnije ćemo uz entitete dodavati njihove atribute i veze.
15. Entiteti u različitim sistemima
Pogledajmo nekoliko primera.
| Sistem | Mogući entiteti |
|---|---|
| Škola | UČENIK, NASTAVNIK, ODELJENJE, PREDMET |
| Biblioteka | KNJIGA, ČLAN, AUTOR, POZAJMICA |
| Prodavnica | PROIZVOD, KUPAC, RAČUN |
| Bolnica | PACIJENT, LEKAR, ODELJENJE |
| Hotel | GOST, SOBA, REZERVACIJA |
| Bioskop | FILM, SALA, GLEDALAC, PROJEKCIJA |
| Sportski klub | IGRAČ, TRENER, TIM, UTAKMICA |
16. Kako prepoznati instancu?
Kod instance moramo biti konkretniji.
Ako se pomene UČENIK to je entitet.
Ako se pomene Marko Marković, III-2 to je konkretna instanca učenika.
Ako se pomene KNJIGA to je entitet.
Ako se pomene „Na Drini ćuprija“, Ivo Andrić to je konkretna instanca knjige.
17. Najčešća greška
Učenici često pomešaju: UČENIK i Marko Marković.
Zapamtite:
UČENIK → entitet
Marko Marković → instanca
Isto:
KNJIGA → entitet
„Na Drini ćuprija“ → instanca
I:
PROIZVOD → entitet
Laptop Lenovo IdeaPad 3 → instanca
18. Još jedan važan pojam – objekat
U svakodnevnom govoru možemo reći:
„Učenik je objekat u školskom sistemu.“
Kada taj objekat posmatramo u okviru projektovanja baze i želimo da o njemu čuvamo podatke, možemo ga modelovati kao entitet.
Zato je korisno napraviti sledeći prelaz:
STVARNI SISTEM → OBJEKAT → ENTITET → INSTANCE
Na primer:
Škola → učenik → UČENIK → Marko Marković
19. Primer od početka do kraja
Zadatak:
Škola želi da napravi bazu podataka za evidenciju učenika.
Korak 1 – stvarni sistem
Postoje učenici.
Korak 2 – šta želimo da čuvamo?
Podatke o učenicima.
Korak 3 – entitet
UČENIK
Korak 4 – instance
-
Marko Marković
-
Ana Jovanović
-
Nikola Petrović
Dakle:
UČENIK
|
-------------------------
| | |
Marko Ana Nikola
U ovom primeru: UČENIK je entitet. Marko, Ana i Nikola su instance.
20. Veza sa sledećim pojmom – atribut
Do sada smo govorili: UČENIK i njegove konkretne instance.
Ali odmah se postavlja pitanje:
Koje podatke čuvamo o učeniku?
Na primer: ime, prezime, datum rođenja, adresa, odeljenje.
Ovi podaci opisuju entitet.
U sledećem delu učenja naučićemo da se takve osobine nazivaju: ATRIBUTI.
Na primer:
UČENIK
/ | \
ime prezime datum rođenja
Ovo će biti tema sledećeg časa.
21. Najvažniji pojmovi
Entitet
Entitet je objekat, pojava ili pojam o kome želimo da čuvamo podatke u bazi.
Primeri:
-
UČENIK
-
KNJIGA
-
PROIZVOD
-
KUPAC
Instanca
Instanca je jedan konkretan primer entiteta.
Primer:
-
UČENIK → Marko Marković
-
KNJIGA → „Na Drini ćuprija“
-
PROIZVOD → Laptop Lenovo
-
KUPAC → Ana Jovanović
Najkraće:
Entitet = vrsta objekta
Instanca = konkretan objekat
22. Pitanja za proveru znanja
-
Šta je entitet?
-
Šta je instanca?
-
Koja je razlika između entiteta i instance?
-
Navedi tri moguća entiteta u školskoj bazi.
-
Navedi tri instance entiteta UČENIK.
-
Da li je „UČENIK“ entitet ili instanca?
-
Da li je „Marko Marković“ entitet ili instanca?
-
Da li je „KNJIGA“ entitet ili instanca?
-
Da li je „Na Drini ćuprija“ entitet ili instanca?
-
Da li sve što postoji u realnom svetu mora biti entitet u bazi?
23. Zadatak za samostalan rad
Izaberite jedan sistem:
-
škola,
-
biblioteka,
-
prodavnica,
-
bioskop,
-
hotel,
-
sportski klub.
Navedite najmanje 5 entiteta.
Za svaki entitet navedite najmanje 3 konkretne instance.
Primer:
Sistem: Biblioteka
Entitet: KNJIGA
Instance:
-
„Na Drini ćuprija“
-
„Prokleta avlija“
-
„Orlovi rano lete“
Entitet: ČLAN
Instance:
-
Marko Marković
-
Ana Jovanović
-
Nikola Petrović
Zaključak
Kada projektujemo bazu podataka, moramo najpre da utvrdimo o čemu želimo da čuvamo podatke.
Takve objekte predstavljamo kao entitete.
Svaki konkretan objekat koji pripada tom entitetu predstavlja njegovu instancu.
Zapamtite:
ENTITET → šta predstavljamo
INSTANCA → konkretan primer
Na primer:
UČENIK → Marko Marković
KNJIGA → „Na Drini ćuprija“
PROIZVOD → Laptop Lenovo
U sledećem času ćemo nastaviti od pitanja:
„Koje podatke čuvamo o jednom entitetu?“
Tada uvodimo pojam ATRIBUTA.