Iz 2.razreda -> Entiteti i atributi u bazama podataka
208. Među ponuđenim entitetima, odrediti entitet sa atributima koji NISU odgovarajući. Zaokružiti broj ispred traženog odgovora: 1. Entitet: STUDENT – Atributi: ime, prezime, smer, broj bodova, prosek 2. Entitet: DRŽAVA – Atributi: naziv, broj stanovnika, površina 3. Entitet: KNJIGA – Atributi: naslov, autor, godina izdanja, izdavač, adresa izdavača, telefon izdavača 4. Entitet: AVION – Atributi: proizvođač, marka, godina proizvodnje, broj sedišta
Entiteti i atributi u bazama podataka
Uvod
Prilikom projektovanja baze podataka prvo je potrebno odrediti:
-
šta čuvamo u bazi → entiteti
-
koje podatke čuvamo o njima → atributi
Ovi pojmovi predstavljaju osnovu projektovanja baze podataka i koriste se u izradi ER modela (Entity–Relationship modela).
Bez pravilnog određivanja entiteta i atributa baza može postati neorganizovana, sa mnogo dupliranih i nelogično raspoređenih podataka.
Šta je entitet?
Entitet predstavlja objekat, osobu, pojam ili događaj o kome želimo da čuvamo podatke u bazi.
Jednostavno rečeno:
Entitet = nešto o čemu želimo informacije
Primeri entiteta
U školi:
-
Učenik
-
Nastavnik
-
Predmet
-
Odeljenje
U biblioteci:
-
Knjiga
-
Autor
-
Izdavač
-
Član biblioteke
U prodavnici:
-
Kupac
-
Proizvod
-
Račun
Najčešće entitet kasnije postaje tabela u bazi podataka.
Na primer:
Entitet STUDENT → tabela Student
Šta je atribut?
Atribut predstavlja osobinu ili karakteristiku entiteta.
Jednostavno:
Atribut = podatak koji opisuje entitet
Primer
Entitet: STUDENT
Atributi mogu biti:
-
ime
-
prezime
-
smer
-
broj indeksa
-
prosek
-
broj bodova
Dakle:
STUDENT je entitet, a njegovi podaci su atributi.
Primer pravilnog određivanja atributa
Entitet: DRŽAVA
Mogući atributi:
-
naziv
-
glavni grad
-
broj stanovnika
-
površina
-
valuta
Svi atributi logično pripadaju državi.
Entitet: AVION
Mogući atributi:
-
proizvođač
-
model
-
godina proizvodnje
-
broj sedišta
Ovi atributi opisuju avion i zato su odgovarajući.
Primer pogrešno određenih atributa
Entitet: KNJIGA
Ako navedemo atribute:
-
naslov
-
autor
-
godina izdanja
-
izdavač
-
adresa izdavača
-
telefon izdavača
nastaje problem.
Zašto?
Adresa izdavača i telefon izdavača ne opisuju knjigu.
Oni opisuju izdavača.
Dakle, trebalo bi napraviti dva entiteta:
KNJIGA
| ID_Knjige | Naslov | Autor | Godina_Izdanja | ID_Izdavaca |
|---|
IZDAVAČ
| ID_Izdavaca | Naziv | Adresa | Telefon |
|---|
Ovako je baza bolje organizovana i izbegava se ponavljanje podataka.
Pravila za određivanje atributa
Kada određujemo atribute, treba postaviti pitanje:
„Da li ovaj podatak direktno opisuje dati entitet?“
Ako je odgovor da → atribut pripada entitetu.
Ako je odgovor ne → možda pripada drugom entitetu.
Primer
Entitet: AUTOMOBIL
Da li atribut pripada automobilu?
| Atribut | Pripada? |
|---|---|
| marka | ✔ |
| godina proizvodnje | ✔ |
| broj vrata | ✔ |
| ime vlasnika | ✘ |
Ime vlasnika pripada entitetu VLASNIK, ne automobilu.
Vrste atributa
1. Jednostavni atributi
Ne mogu se dalje rastaviti.
Primer:
-
pol
-
plata
-
broj sedišta
2. Kompozitni atributi
Mogu se rastaviti na više delova.
Primer:
Adresa
može sadržati:
-
ulicu
-
broj
-
grad
-
poštanski broj
3. Viševrednosni atributi
Mogu imati više vrednosti.
Primer:
Broj telefona
Jedna osoba može imati više telefonskih brojeva.
Najčešće greške
1. Mešanje entiteta i atributa
Pogrešno:
Entitet: STUDENT
Atribut: predmet
Zašto?
Predmet je često poseban entitet.
2. Dodavanje atributa koji pripadaju drugom entitetu
Pogrešno:
Entitet: KNJIGA
Atribut: telefon izdavača
Telefon pripada izdavaču, ne knjizi.
3. Previše podataka u jednom entitetu
Ako entitet postane previše složen, često ga treba podeliti na više povezanih entiteta.
Kako lako prepoznati dobar atribut?
Postavi pitanje:
„Da li ovaj podatak opisuje baš taj entitet?“
Primer:
Entitet: STUDENT
-
ime → da ✔
-
prezime → da ✔
-
smer → da ✔
-
naziv škole → možda pripada entitetu ŠKOLA ✘
Zaključak
Entiteti predstavljaju objekte o kojima čuvamo podatke, dok atributi predstavljaju njihove osobine.
Dobro određeni atributi:
-
jasno opisuju entitet,
-
ne pripadaju drugom entitetu,
-
smanjuju dupliranje podataka,
-
olakšavaju projektovanje baze.
Najvažnije pravilo:
Atribut mora direktno opisivati entitet kome pripada.