Upload
matematikralj2
View
93
Download
0
Embed Size (px)
DESCRIPTION
uvod u baze
Citation preview
Sadržaj
1. KARDINALITETI TIPOVA POVEZNIKA I GERUNDA [20 POENA] ....................................................... 1
2. CRTANJE ER DIJAGRAMA PREMA OPISU SISTEMA [25 POENA] ...................................................... 7
2.1 IGRAONICA ...................................................................................................................... 7 2.2 ORGANIZOVANJE KONFERENCIJA................................................................................................ 9 2.3 PUBLIKACIJE ...................................................................................................................10 2.4 IZBORI ..........................................................................................................................12 2.5 SISTEM ZA UČ ENJE NA DALJINU ................................................................................................13 2.6 UPRAVLJANJE SADRŽAJEM WEB SAJTA ........................................................................................15 2.7 LETNJI FESTIVAL ...............................................................................................................16
3. SAMOSTALNO CRTANJE ER DIJAGRAMA [30 POENA] ................................................................17
4. PREVOĐENJE ER MODELA PODATAKA U RELACIONI MODEL [25 POENA] ........................................17
4.1 ERD FAKULTETA ...............................................................................................................17 4.2 ERD IZLOŽBE PASA.............................................................................................................21 4.3 ERD TAKMIČ ENJA ..............................................................................................................24 4.4 ERD PREDŠKOLSKE USTANOVE .................................................................................................28 4.5 ERD PRODAJE POLOVNIH AUDIO KOMPONENATA...............................................................................31 4.6 ERD IZLOŽBE FOTOGRAFIJA ...................................................................................................35 4.7 ERD PREDUZEĆA ...............................................................................................................38 4.8 ERD VOJNE ORGANIZACIJE.....................................................................................................41 4.9 ERD ZAVODA ZA TRANSFUZIJU.................................................................................................45
Pripremni materijal za prvi kolokvijum iz predmeta Baze podataka 1
1. KARDINALITETI TIPOVA POVEZNIKA I GERUNDA [20 POENA]
1.1 Na sledeć im slikama dopisati podatke u tabele ekstenzije ER modela podataka tako da te ekstenzije odgovaraju kardinalitetima datih intenzija:
a) (vatrogasac se predstavlja imenom, a oprema nazivom)
vatrogasac opremazaduzuje(0,M) (0,N)
vatrogasac zaduzuje oprema
b) (student se predstavlja imenom, a ekskurzija mestom)
student ekskurzijaideNa(0,1) (1,N)
student ideNa ekskurzija
c) (i deo i proizvodjac se predstavljaju imenom)
deo proizvodjacizradjuje(1,1) (0,N)
deo izradjuje prozivodjac
Pripremni materijal za prvi kolokvijum iz predmeta Baze podataka 2
Moguć a rešenja:
a)
vatrogasac opremazaduzuje(0,M) (0,N)
Joca
Marko
Grujica
Boban
š lem
sekira
cizme
kramp
(Joca, š lem)
(Joca, sekira)
(Marko, š lem)
(Marko, cizme)
(Boban, kramp)
vatrogasac zaduzuje oprema
brentacaKiril
b)
student ekskurzijaideNa(0,1) (1,N)
Jovana
Milica
Rade
Ivica
Prag
Bec
Ohrid
(Milica, Ohrid)
(Rade, Prag)
(Ivica, Prag)
(Zoran, Bec)
student ideNa ekskurzija
Zoran
c)
deo proizvodjacizradjuje(1,1) (0,N)
ekran
VN trafo
kutija
napajanje
Philips
EI Niš
Metaloplastika
Elektrotehna
(ekran, Philips)
(VN trafo, EI Niš )
(kutija, Metaloplastika)
(napajanje, Elektrotehna)
deo izradjuje prozivodjac
TekstilPrometmaska (maska, Metaloplastika)
Pripremni materijal za prvi kolokvijum iz predmeta Baze podataka 3
1.2 Na osnovu datih ekstenzija tipova entiteta i poveznika odrediti kardinalitete tipova poveznika:
a)
vlasnik automobilprodaje( , ) ( , )
Gavra
Jovica
Miljana
Dalibor
ZR 550-45
ZR 550-555
NS 458-55
BG 445-77
(Gavra, ZR 550-555)
(Gavra, NS 458-55)
(Jovica, ZR 550-45)
(Dalibor, BG 777-521)
vlasnik prodaje automobil
BG 777-521Miroslav
b)
asistent vezbedrzi( , ) ( , )
Zoli
Ljubica
Dalibor
Vesna
Informacioni sistemi
Racunarska grafika
KRM
Numericka matematika
(Zoli, Informacioni sistemi)
(Ljubica, Informacioni sistemi)
(Dalibor, KRM)
(Vesna, Numericka matematika)
asistent drzi vezbe
Operaciona istraživanja(Vesna, Operaciona istraživanja)
c)
proizvod sastavnica( , )
( , )
Scala
Tempo
Motor
(Scala, Motor)
(Scala, Karoserija)
(Tempo, Motor)
Karoserija
Klip
Scala
Tempo
Motor
Karoserija
Klip
(Tempo, Karoserija)
(Motor, Klip)
sastavnicaprozivod prozivod
Pripremni materijal za prvi kolokvijum iz predmeta Baze podataka 4
Moguć a rešenja:
a)
vlasnik automobilprodaje(0,M) (0,1)
Gavra
Jovica
Miljana
Dalibor
ZR 550-45
ZR 550-555
NS 458-55
BG 445-77
(Gavra, ZR 550-555)
(Gavra, NS 458-55)
(Jovica, ZR 550-45)
(Dalibor, BG 777-521)
vlasnik prodaje automobil
BG 777-521Miroslav
b)
asistent vezbedrzi(1,N) (0,M)
Zoli
Ljubica
Dalibor
Vesna
Informacioni sistemi
Racunarska grafika
KRM
Numericka matematika
(Zoli, Informacioni sistemi)
(Ljubica, Informacioni sistemi)
(Dalibor, KRM)
(Vesna, Numericka matematika)
asistent drzi vezbe
Operaciona istraživanja(Vesna, Operaciona istraživanja)
c)
proizvod sastavnica(0,M)
(0,N)
Scala
Tempo
Motor
(Scala, Motor)
(Scala, Karoserija)
(Tempo, Motor)
Karoserija
Klip
Scala
Tempo
Motor
Karoserija
Klip
(Tempo, Karoserija)
(Motor, Klip)
sastavnicaprozivod prozivod
Pripremni materijal za prvi kolokvijum iz predmeta Baze podataka 5
1.3 Na osnovu donje slike i opisa realnog sistema odrediti kardinalitete tipova gerunda i poveznika (ukoliko je potrebno, radi boljeg razumevanja, nacrtati sebi tablice ekstenzije tipova entiteta i poveznika)
a)
ispitanik test
istrazivac
ucestvuje
sprovodirezultat
vreme
datumbrPoena
( , ) ( , )
( , )
( , )
( , )
( , )
Ispitanik učestvuje na najmanje jednom testu (da bi uopšte bio ispitanik), ali može i na više (tip entiteta test posmatrati kao vrstu testa, a ne pojedinačno testiranje). Na testu ne mora još niko da učestvuje, ali može biti testirano i više ispitanika.
Test ne mora još uvek nijednom biti sproveden, ali može biti sproveden i više puta. Obrnuto, istraživač do sada mora sprovesti barem jedan test (da bi se mogao nazvati istraživačem), ali ih može sprovesti i više.
Konačno, rezultat se karakteriše svojim vremenom, datumom i brojem poena. Za test koji je uradio neki ispitanik mora postojati rezultat, i to samo jedan. Istraživač do sada ne mora imati rezultat iz niti jednog testa, ali je moguć e da tokom istraživanja dođe do više rezultata (sa različitim ispitanicima).
b)
slika galerija
kupac
izlozena
prodata cena
( , ) ( , )
( , )
( , )
Slika ne mora do sada biti izložena niti u jednoj galeriji, a tokom vremena može biti izložena u više njih. Galerija u svojim odajama ima izloženu najmanje jednu sliku (uvek, naravno, više).
Da bi slika mogla biti prodata, ona mora bar nekad biti izložena (zbog toga od poveznika izlozena nastaje gerund!). Slika ne mora biti prodata ako je bila do sada izlagana, ali ako je prodata – onda je prodata samo jednom, po nekoj ceni. Kupac (da bi zaslužio taj epitet) mora do sada kupiti bar jednu sliku, a može ih kupiti i više.
Pripremni materijal za prvi kolokvijum iz predmeta Baze podataka 6
Rešenja:
a)
ispitanik test
istrazivac
ucestvuje
sprovodirezultat
vreme
datumbrPoena
(1,M) (0,N)
(0,N)
(1,M)
(1,1)
(0,N)
b)
slika galerija
kupac
izlozena
prodata cena
(0,M) (1,N)
(1,M)
(0,1)
Pripremni materijal za prvi kolokvijum iz predmeta Baze podataka 7
2. CRTANJE ER DIJAGRAMA PREMA OPISU SISTEMA [25 POENA]
2.1 Igraonica U igraonici, koja se odlikuje svojim registarskim brojem, nazivom, adresom, vlasnikom i telefonom, radi jedan ili više radnika, sa sledeć im osobinama: JMBG, ime, prezime, datum zaposlenja i plata. Radnik može raditi samo u jednoj igraonici. Igraonica se nalazi u određenom mestu (obeležja: ptt i naziv), s tim da se mora nalaziti negde, ali može imati i ispostave u više mesta. Radnik živi u nekom mestu, jednom i jedinom, a u mestu ne mora živeti niti jedan radnik (niti se nalaziti nijedna igraonica), ali ih može biti više (i radnika i igraonica).
Igraonica sadrži najmanje jedan računar (obično više), dok taj računar pripada samo jednoj igraonici. Računar se odlikuje svojim brojem i mrežnim imenom. On se sastoji iz više komponenti, od kojih svaka ima svoj ID i ime proizvođača. Obrnuto, svaka komponenta je ugrađena u tačno jedan računar. Navedene osobine komponenti su zajedničke, dok su specifične osobine pojedinih komponenti date na sledeć i način: grafička kartica ima svoje ime i količinu memorije, monitor ima dimenziju, RAM memorija ima tip i kapacitet, hard disk ima brzinu obrtaja i kapacitet, CD-ROM samo brzinu, matična ploča čipset, dok procesor osim imena ima i frekvenciju rada. Postoje komponente koje nisu ništa od nabrojanih, ali ne postoje kombinovane komponente (nešto ne može biti, na primer, u isto vreme i monitor i CD-ROM).
Računari na sebi imaju instaliranu jednu ili više igrica, dok su te igrice instalirane najmanje na jednom, ali obično na više računara. Igrica ima sopstveni ID, naziv, vrstu i igrivost. Igrice igra igrač (osobine: ID, ime i prezime, redovnost). Igricu ne mora da je iko igrao do sada, ali je može igrati više igrača; obrnuto – igrač je do sada igrao najmanje jednu, ali obično više igrica.
Neophodno je osmisliti i poveznik omoguć ava, koji ć e nam dati informaciju koji igrač je na kojem računaru mogao da igra koju igricu. Da bi pojava ovog tipa poveznika imala svoje torke, neophodno je da imamo zapisane odgovarajuć e torke u poveznicima ima i igra (to automatski znači da ovi poveznici prelaze u gerunde). Kardinalitet poveznika omoguć ava određuje se na osnovu sledeć eg iskaza: igrač je mogao da igra igricu na najmanje jednom ili više računara koji omoguć avaju da se takva igrica igra; sa druge strane – na računaru je konkretnu igricu mogao da igra samo jedan, ali i više igrača.
Konačno, igrač u igraonici plać a uslugu, koja ima osobine: ID i vrsta, dok ć e cena usluge varirati (ova osobina se pridružuje povezniku plać a). Usluge se plać aju pojedinačno, dok je istu uslugu mogao da koristi jedan te isti igrač jednom ili više puta .Tu uslugu je naplatio radnik igraonice. Radnik može naplatiti jednu ili više usluga, dok je usluga naplać ena od strane jednog (i jedinog) radnika.
Pripremni materijal za prvi kolokvijum iz predmeta Baze podataka 9
2.2 Organizovanje konferencija Konferenciju, koja se odlikuje svojim identifikacionim brojem, nazivom, datumima njenog početka i završetka, organizuje organizator (osobine: id_organizatora, ime, adresa). Jednu konferenciju organizuje samo jedan organizator (i mora je neko organizovati), ali taj organizator može prirediti više konferencija (najmanje jednu da bi se našao u bazi). Organizator potiče iz grada (relevantne osobine: ptt, naziv), i to jednog, a u gradu ne mora biti nijedan organizator; može ih biti više.
Konferencija se održava u nekoj sali (jednoj ili više), koja ima svoju jedinstvenu oznaku (id), kapacitet i podatak da li postoji ozvučenje ili ne. Tokom vremena, u sali se može održati i više konferencija (najmanje jedna). Sala se takođe nalazi u nekom gradu. jednom i jedinom; u gradu, sa druge strane, ne mora postojati nijedna sala, ali ih može biti više.
Učesnik konferencije ima osobine poput identifikacionog broja, imena, prezimena, adrese, ustanove, broja telefona, broja mobilnog telefona, e-mail adrese i web adrese. Učesnik može napisati rad (id rada, naziv, oblast, značaj, obim) – ali ne mora, a može ih napisati i više. Rad piše jedan ili više učesnika. Da bi učesnik izlagao rad u nekoj sali određenog datuma i u određeno vreme, mora biti ispunjen uslov da je napisao taj rad (NASTAJE GERUND). Učesnik taj rad u nekoj sali ne mora ni izlagati, ali ga tokom vremena može izlagati u više sala. Obrnuto, u nekoj sali se kombinacija rada i učesnika pojavljuje jednom ili nijednom.
Konačno, učesnik je uplatio kotizaciju (id kotizacije, tip i iznos kotizacije) – ne mora da je uopšte uplatio, ali, ako jeste, uplatio je jednu. Kotizacija može biti uplać ena od strane najmanje jednog, ali i više učesnika. Uslov da učesnik uopšte prisustvuje konferenciji jeste taj da je uplatio jednu kotizaciju (ne mora učestvovati čak i ako je uplatio) (NASTAJE GERUND). Sa druge strane, kao što je rečeno, da bi učesnik prisustvovao konferenciji mora uplatiti tačno jednu (ni manje ni više) kotizaciju.
KONFERENCIJA
(1,1)
ODRZAVA_SE
ID_BROJ
SALA NALAZI_SE GRAD
ORGANIZUJE
ORGANIZATOR POTICE
IZLAZE
KOTIZACIJA
UPLATIO
RAD
UCESNIK
NAPISAO
PRISUSTVUJE
NAZIVDAT_POC
DAT_ZAV
ID_ORGAN
IME
ADRESA
PTTNAZIV
IDKAPACITET
OZVUCENJE
ID
IME
PREZIME
ADRESA
USTANOVA
BRTELBRMOB
WEB
ID_RADA
NAZIV
ZNACAJ
OBIM
OBLAST
DATUM
VREME
ID_KOT
TIP
IZNOS
(0,N)
(1,1) (0,N)
(1,N)
(1,M)
(1,1)
(1,N)
(1,M)
(0,N)
(0,1)
(1,M)
(0,1)(0,N)
(0,1)
(1,1)
Pripremni materijal za prvi kolokvijum iz predmeta Baze podataka 10
2.3 Publikacije Publikacija se jedinstveno idetifikuje svojim ISBN brojem, a podaci od značaja su još i: naziv, jezik i tiraž. Publikacija može biti: dnevna novina, nedeljnik ili periodično izdanje, ali ne mora biti ništa od toga. Publikacija ne može u isto vreme biti i jedna i druga kategorija.
Dnevna novina ima svoje izdanje (kao, na primer, večernje, jutarnje itd.), periodično izdanje ima svoju temu, a nedeljnik nema svoja sopstvena obeležja. Međutim, nedeljnik može sadržati jednu ili više kolumni. Ta kolumna ima svoj naziv i identifikacioni broj. Svaka kolumna se objavljuje u jednom (i samo jednom) nedeljniku. Kolumnu piše autor, sa obeležjima id_autora, ime, prezime, telefon, e-mail. Svaku kolumnu piše autor, i to najviše jedan, ali jedan autor može pisati i više kolumni (ne mora pisati niti jednu).
Publikaciju distribuira distributer, sa osobinama: id_dist, naziv i telefon. Ta distribucija svake publikacije se dešava određenog datuma. Publikaciju može distribuirati više distributera (npr. za svaki grad imamo drugog distributera), ali ne mora nijedan. Sa druge strane, distributer mora deliti barem jednu, ili više, publikacija.
Publikaciju objavljuje izdavač. On se karakteriše matičnim brojem, nazivom, adresom, telefonom i brojem faksa. Neku publikaciju može objaviti i više izdavača, najmanje jedan, a izdavač je do sada objavio barem neku publikaciju, obično više.
Publikaciju može da izdaje i sam autor (tzv. samizdat), i to se opet čini u nekom periodu. Publikaciju ne mora da izdaje ni jedan autor (to zapravo znači da ju je objavio izdavač), ali postoje i publikacije koje izdaje više autora. Obrnuto, imamo autore koji ništa ne izdaju (takvi su, zapravo, u već ini), ali i one koji izdaju i više publikacija.
Konačno, i za distributere i za izdavače rade radnici (imaju ih najmanje jednog ili, obično, više), sa relevantnim osobinama: JMBG, prezime, ime, struka, staž. Radnici rade ili za distributere ili za izdavače, tako da ć e uvek biti onih čija je donja granica kardinaliteta 0, ali svi imaju gornju granicu 1 (moraju raditi negde, inače nisu radnici!).
Pripremni materijal za prvi kolokvijum iz predmeta Baze podataka 11
IS_A
publikacija
idDist
(0,1)
nedeljnikdnevnaNovina periodicnoIzdanje
kolumna
izdaje
objavljujedistributer distribuira
(0,M)
(1,N) (1,M)(0,M)(1,N)
(1,N)
naziv
isbn
naziv tiraz
matBroj
naziv
telefon
adresa
datum
izdanje
tema
naziv
period
fax
idKolumne
sadrzi
ime
idAutora
pise
prezime telefon
autor
radnik zaposljavavozi(0,1) (0,N)(0,1)(0,N)
jmbg
prezime ime
staz
izdavac
jezik
(1,1)
(1,1)
(0,N)
telefon
(0,N)
(0,M)
struka
Pripremni materijal za prvi kolokvijum iz predmeta Baze podataka 12
2.4 Izbori Politička partija ima sledeć e relevantne osobine: identifikacioni broj i ime. Ona kandiduje najviše jednog kandidata na izborima, mada ne mora kandidovati nikoga. Kandidat se odlikuje identifikatorom, prezimenom, imenom i godinom rođenja. Kandidat ne mora da bude član niti jedne stranke (kandiduje ga grupa građana, na primer), ali, ako ga predlaže partija, to može biti najviše jedna.
Kontrolori su članovi političkih partija, mada to ne moraju da budu (na primer, ako su ispred nevladinih organizacija i slično). Partija ne mora imati niti jednog kontrolora, ali ih može imati više; obrnuto – kontrolor ili nije član stranke, ili je član tačno jedne stranke (u tom slučaju se karakteriše i brojem članske karte). Obeležja bitna za modeliranje kontrolora su njegova šifra, prezime i ime.
Kandidati takođe glasaju, na jednom i samo jednom biračkom mestu, i tom prilikom potrebno je čuvati i informaciju o krugu glasanja. Na biračkom mestu, koje se odlikuje identifikatorom i lokacijom, ne mora glasati niti jedan kandidat, ali ih može glasati više. Biračko mesto pripada (jednoj i jedinoj) opštini. Opština ima svoju šifru i naziv, i može imati više biračkih mesta.
Birač (JMBG, prezime, ime, adresa) bira na biračkom mestu. On ne mora uopšte da izađe na izbore, a ako se pojavi na biralištu – to može učiniti tačno jednom, i tom prilikom se čuva i informacija o krugu izbora. Na biračkom mestu ć e se pojaviti najmanje jedan, a sigurno više birača.
Konačno, biračko mesto kontroliše kontrolor, i on može uputiti određeni broj primedbi na zbivanja na biračkom mestu. Na biračkom mestu ć e se nać i najmanje jedan (ili više) kontrolora, dok, obrnuto, kontrolori mogu da budu na tačno jednom biračkom mestu.
kandiduje(0,1)
ime
kontrolor
je_clan
kandidat
biracko_mesto
birac
bira_na
kontrolise
glasa_na
(1,1)
(0,M)
(0,1)
(1,M)
(1,M) (1,1)(0,1)
(1,M)
pripada
opstina
(1,1)
(1,M)
id_kan
prezime
god_rodj
id_bm
lokacija
jmbg
prezime imeadresa
krug
id_ops naziv
id_kont
prezime
ime
br_cl_karte
(0,1)
id_pp
ime
politicka_partija
krug
primedba
Pripremni materijal za prvi kolokvijum iz predmeta Baze podataka 13
2.5 Sistem za učenje na daljinu Korisnik sistema za UND odlikuje se svojim identifikatorom, korisničkim imenom, lozinkom, prezimenom, imenom i e-mail adresom. Korisnik može tokom vremena primiti više poruka, ali ne mora nijednu. Poruku sa druge strane mora barem neko primiti, ali je može primiti i više korisnika. Sam postupak prijema poruke čuva podatke o tome kada je korisnik poruku pročitao, kao i da li je ona obrisana (ovo znači da ć e kasnije u sistemu poruke biti samo obeležene za brisanje, a ne i zaista fizički obrisane iz sistema). Poruka ima sledeć e osobine: identifikator, naslov, tekst, vrstu, te datum slanja.
Tokom korišć enja sistema korisnik ne mora poslati niti jednu poruku, ali ih može poslati više. Obrnuto, poruku šalje samo jedan (i jedini) korisnik.
Korisnik, na osnovu obeležja vrstaKorisnika, može biti nastavnik, učenik ili administrator. Ova podela se vrši tako da korisnik mora da bude nešto od navedenih vrsta korisnika, a može se desiti da korisnik istovremeno bude, na primer, i nastavnik i administrator sistema. Nastavnik ima dodatna obeležja zvanje i zanimanje, učenik ima razred koji pohađa, a administrator svoju klasu.
Nastavnik može da kreira kurseve – ne mora još niti jedan, ali može više tokom vremena. Kurs može kreirati samo jedan nastavnik. Kurs ima sledeć e osobine: identifikator, naziv kursa i broj poena. Kurs sadrži nastavne teme – ne mora nijednu, ali može i više. Nastavna tema ima identifikator, naziv teme i redni broj u kursu. Nastavna tema može biti definisana samo u okviru jednog jedinog kursa.
Kurs može imati definisane testove – nijedan ili više. Testovi imaju svoje identifikatore i nazive, a odnose se opet na samo jedan jedini kurs. Testovi se sastoje iz najmanje jednog (obično više) pitanja (sa svojim identifikatorom, tekstom i nivoom), a jedno pitanje može biti deo najmanje jednog testa – može postojati i u više testova. Pitanje ima najmanje jedan (uvek više) odgovora, sa osobinama kao što su identifikator, tekst odgovora i indikacijom da li je odgovor tačan ili ne. Odgovor se odnosi samo na jedno jedino pitanje.
Učenik se određenog datuma prijavljuje na neki od definisanih kurseva. Učenik ne mora biti prijavljen ni na jedan kurs, ali je obično prijavljen na više kurseva. Obrnuto, na kurs ne mora biti još niko prijavljen, ali može biti prijavljeno i više učenika.
Samo učenici prijavljeni na neki od kurseva mogu polagati test iz tog kursa. Sam proces polaganja ima osobine poput datuma, vremena početka i završetka. Moguć e je da učenik još uvek nije polagao test iz predmeta za koji se ranije prijavio, ali je moguć e i da takav test polaže više puta. Obrnuto, konkretan test možda nije još uvek polagao niti jedan učenik, ali ga je možda tokom vremena polagalo i više učenika.
Pripremni materijal za prvi kolokvijum iz predmeta Baze podataka 15
2.6 Upravljanje sadržajem Web sajta Stavka menija se jedinstveno identifikuje svojim identifikatorom, a uz to obeležje bitni su nam i naziv, sadržaj, da li je stavka aktivna, broj pristupa, te datum i vreme poslednje izmene (polje datumVreme). Stavka menija može biti nadređena drugoj, istoj takvoj stavci – postoje stavke koje nisu nadređene nijednoj, ali i one koje su nadređene nad više stavki; stavka ima najviše jednu sebi nadređenu stavku, a ne mora imati niti jednu (vrh menija). Stavku kreira jedan (i jedini) korisnik, koji se odlikuje identifikatorom, prezimenom, imenom, titulom i zvanjem. Korisnik ne mora do sada kreirati ni jednu stavku, a može ih napraviti i više.
Stavka može biti vezana za predmet (identifikator, naziv), ali ne mora. Ako jeste, vezana je samo za jedan predmet. Predmet mora biti na tačno jednoj vrsti studija (identifikator, naziv), s tim da jedna vrsta studija za sada ne mora imati nijedan, ali obično ima više predmeta. Predmet je takođe na smeru, koji se odlikuje identifikatorom, nazivom i brojem semestara. Predmet mora biti na nekom smeru, a može se slušati i na više smerova; smer ne mora imati za sada ni jedan predmet, ali ih može imati i više. Postoji i informacija o tome na kom semestru se dotični predmet sluša u okviru kog smera.
Stavka menija sadrži prilog – ne mora nijedan, može više. Prilog je vezan tačno za jednu stavku menija. Ukoliko stavka menija sadrži prilog, njega ć e koristiti studenti (broj indeksa, prezime, ime); ako taj prilog ne postoji – ne može se ni koristiti (gerund). Student ne mora koristiti niti jednom dati prilog, ali ga može korisiti i više puta. Sa druge strane, ako stavka menija sadrži prilog, njega ne mora niko koristiti, ali ga može koristiti i više studenata. Postoji podatak i o datumu i vremenu korišć enja priloga. Prilog ima identifikator, datum kada je objavljen, naziv i opis, i može biti vest, download ili spoljni link. Prilog može biti samo jedno od ta tri, i nema priloga koji nije ništa od opisanog. Spoljni link se odlikuje podatkom o URL-u i meti (target, da li ć e se link otvoriti u novom prozoru), download svojom veličinom i tipom datoteke, a vest – brojem čitanja.
Pripremni materijal za prvi kolokvijum iz predmeta Baze podataka 16
2.7 Letnji festival Prostor (na kojem se održavaju događaji) se odlikuje svojim identifikatorom i nazivom. Taj prostor može biti pozornica, bina ili bioskop, i mora biti samo nešto od ta tri – prostor ne može biti, na primer, bina i bioskop u isto vreme. Pozornica ima obeležje tip, i na njoj se igraju predstave. Predstava ima svoj identifikator, ime, režisera i scenario. Na jednoj pozornici se igra najmanje jedna predstava, tokom vremena i više, a predstava mora da se igra na bar jednoj pozornici, a može i na više. Postoje i podaci o datumu i vremenu kada se koja predstava igra na kojoj pozornici.
Binu karakterišu snaga ozvučenja, jačina rasvete i dimenzije. Na bini svira izvođač (identifikator, naziv), i na jednoj bini ć e svirati najmanje jedan, a obično više izvođača. Izvođači imaju jedan i jedini nastup na bini. Čuvaju se i podaci o danu i vremenu kada nastupa koji izvođač. Izvođač je smešten u hotelu (zna se od kada do kada), jednom i jedinom, a u jednom hotelu ne mora biti smešten niko od izvođača, s tim da ih može biti smešteno i više. Hotel ima obeležja poput identifikatora, naziva, klase i lokacije.
Konačno, bioskop ima osobine: veličina platna i broj sedišta. U bioskopu se puštaju projekcije filmova; tačno se zna kog dana i u koje vreme. Film je okarakterisan identifikatorom, imenom, režiserom, tehnikom i trajanjem. U bioskopu ne mora biti prikazan niti jedan film (može više), a film mora biti prikazan bar negde (a može u više bioskopa).
Prostor ima najmanje jedan (ili više) ulaza (identifikator, pozicija, kapacitet), a jedan ulaz je vezan samo za jedan jedini prostor. Posetilac (jmbg, ime, prezime) kupuje kartu (redni broj, broj dana), i to može učiniti sa određenom povlasticom. Jedan posetilac mora kupiti bar jednu kartu, ali ih može kupiti i proizvoljno mnogo, dok konkretna karta još uvek ne mora biti prodata, a prodać e se tačno jednom posetiocu. Samo ako je kupio kartu posetilac može uć i na odgovarajuć i ulaz (gerund), što ć e biti proprać eno podatkom o vremenu ulaska. Iako je kupio kartu, posetilac uopšte ne mora da uđe na događaj, a može uć i samo jedan jedini put. Obrnuto, na ulaz ne mora uć i niko, ali ć e tokom vremena uć i već i broj posetilaca.
Pripremni materijal za prvi kolokvijum iz predmeta Baze podataka 17
3. SAMOSTALNO CRTANJE ER DIJAGRAMA [30 POENA] Na kolokvijumu ć e u okviru treć eg zadatka biti ponuđeno nekoliko realnih sistema od kojih se bira jedan za modeliranje. Prilikom modeliranja treba SVRSISHODNO upotrebiti što više koncepata ER modela podataka (obeležja tipova poveznika, IS_A hijerarhija, gerund, kategorije, identifikaciono zavisni slabi tipovi entiteta...). Od kvaliteta ponuđenog rešenja zavisić e i broj osvojenih poena.
4. PREVOĐENJE ER MODELA PODATAKA U RELACIONI MODEL [25 POENA]
4.1 ERD fakulteta
(0,M)
student
predmet
slusa
predaje nastavnik
gradrodjen
zivi
pripada katedra
ispit
(0,N)
(1,1)
(1,M)
(0,N) (1,M)
(0,1)
(0,M) (1,1)
(0,M)
(0,M)(1,1)
datum ocena
brCas
ime
prezime
adresa
godStudidStudenta
datRod
ptt naziv
idNast
ime
prezime
zvanje
plata
idKat naziv
idPredmeta
nazivPr
putTros
Slika 1: ER dijagram fakulteta
Pripremni materijal za prvi kolokvijum iz predmeta Baze podataka 18
PREVOĐENJE TIPOVA ENTITETA Prema pravilu 1.1, svi tipovi entiteta postaju nezavisne sheme relacija. Ime tipa entiteta postaje ime sheme relacije. Obeležja tipa objekta su obeležja sheme relacije. Za osnovne objekte identifikator objekta (entiteta) postaje primarni ključ sheme relacije.
STUDENT (idStudenta, ime, prezime, adresa, datRod, godStud) GRAD (ptt, naziv) PREDMET (idPredmeta, nazivPr) NASTAVNIK (idNast, ime, prezime, zvanje, plata, putTros) KATEDRA (idKat, naziv)
PREVOĐENJE TIPOVA POVEZNIKA U zavisnosti od kardinaliteta, na tipove poveznika primenić emo različita pravila za prevođenje:
Tip poveznika RODJEN
student gradrodjen(0,M)(1,1)
Slika 2: Tip poveznika RODJEN
Poveznik RODJEN se prevodi putem prostiranja primarnog ključa, a preko pravila 2.2: obeležje ptt tipa poveznika dodać emo shemi relacije STUDENT. Prilikom implementacije sheme relacije STUDENT u konkretnom SUBP, polje ptt imać e ulogu stranog ključa, preko kojeg ć e biti povezane tabele STUDENT i GRAD.
STUDENT (idStudenta, ime, prezime, adresa, datRod, godStud, ptt)
Ovom prilikom nastaje i međurelaciono ograničenje:
STUDENT[ptt] ⊆ GRAD[ptt]
Kasnije, u bazi podataka, ovo ograničenje postać e deo referencijalnog integriteta BP.
Tip poveznika ZIVI
nastavnik gradzivi(0,M)(1,1)
Slika 3: Tip poveznika ZIVI
Za ovaj poveznik primenjuje se isto pravilo, jer je i kardinalitet poveznika isti:
NASTAVNIK (idNast, ime, prezime, zvanje, plata, putTros, ptt)
Međurelaciono ograničenje: NASTAVNIK[ptt] ⊆ GRAD[ptt]
Tip poveznika PRIPADA
predmet katedrapripada(1,M)(1,1)
Slika 4: Tip poveznika PRIPADA
Ponovo se primenjuje isto pravilo:
PREDMET (idPredmeta, nazivPr, idKat)
Međurelaciono ograničenje:
PREDMET[idKat] ⊆ KATEDRA[idKat]
Pripremni materijal za prvi kolokvijum iz predmeta Baze podataka 19
Tip poveznika ISPIT
Ovaj tip poveznika ne možemo prevesti dok ne prevedemo gerunde PREDAJE i SLUSA koje ovaj tip poveznika spaja.
PREVOĐENJE GERUNDA (MEŠOVITOG TIPA OBJEKAT-VEZA, AGREGIRANOG OBJEKTA)
Gerund PREDAJE
predmet nastavnik(0,N) (1,M)
predajepredaje
Slika 5: Gerund PREDAJE
Po pravilu 2.6, gerundi se prevode na isti način kao i tipovi poveznika odgovarajuć ih kardinaliteta. Pošto je ovde kardinalitet "više prema više" (M:N), gerund PREDAJE postać e nova shema relacije, sa obeležjima koja su preuzeta od tipova objekata PREDMET i NASTAVNIK (njihovi jedinstveni identifikatori). Gerund PREDAJE takođe ima jedno sopstveno obeležje, brCas, koje se pridodaje shemi relacije:
PREDAJE (idPredmeta, idNast, brCas)
Ovde nastaju DVA međurelaciona ograničenja:
PREDAJE[idPredmeta] ⊆ PREDMET[idPredmeta] PREDAJE[idNast] ⊆ NASTAVNIK[idNast]
Gerund SLUSA
student predmet(0,N) (0,M)
predajeslusa
Slika 5: Gerund SLUSA
Ponovo:
SLUSA (idStudenta, idPredmeta) (ovog puta gerund nema sopstvenih obeležja)
Međurelaciona ograničenja:
SLUSA[idStudenta] ⊆ STUDENT[idStudenta] SLUSA[idPredmeta] ⊆ PREDMET[idPredmeta]
Tip poveznika ISPIT
slusa predajeispit(0,M)(0,1)
Slika 6: Tip poveznika ISPIT
Zbog kardinaliteta (0,1):(0,M), na ovaj poveznik primenić emo pravilo 2.4 – ISPIT postaje posebna shema relacije:
ISPIT (idStudenta, idPredmeta, idNast, datum, ocena) (datum i ocena su sopstvena obeležja tipa poveznika ISPIT)
Međurelaciona ograničenja:
ISPIT[idStudenta, idPredmeta] ⊆ SLUSA[idStudenta, idPredmeta] ISPIT[idPredmeta, idNast] ⊆ PREDAJE[idPredmeta, idNast]
Na ovaj način, navedenim međurelacionim ograničenjima, modelirani su zahtevi koji postoje u realnom sistemu: da bi student polagao ispit, mora najpre da ga odsluša. Da bi nastavnik ispitivao, mora i da predaje adekvatan predmet. Kardinalitet (0,1) od gerunda SLUSA ka gerundu PREDAJE govori da student ne mora da je polagao taj predmet (donja granica, 0), a ako ga je polagao, mogao ga je položiti samo jednom (gornja
Pripremni materijal za prvi kolokvijum iz predmeta Baze podataka 20
granica - 1). Obrnuto – nastavnik možda još nije ispitivao nijednog studenta (donja granica kardinaliteta je 0), a mogao je da ispituje više njih (gg = M).
Konačno, prevođenjem ER modela fakulteta u relacioni model podataka, dobijeni su sledeć i skupovi relacija, odnosno ograničenja:
S = { STUDENT (idStudenta, ime, prezime, adresa, datRod, godStud, ptt) GRAD (ptt, naziv) PREDMET (idPredmeta, nazivPr, idKat) NASTAVNIK (idNast, ime, prezime, zvanje, plata, putTros, ptt) KATEDRA (idKat, naziv) PREDAJE (idPredmeta, idNast, brCas) SLUSA (idStudenta, idPredmeta)
ISPIT (idStudenta, idPredmeta, idNast, datum, ocena) }
I = { STUDENT[ptt] ⊆ GRAD[ptt] NASTAVNIK[ptt] ⊆ GRAD[ptt] PREDMET[idKat] ⊆ KATEDRA[idKat] PREDAJE[idPredmeta] ⊆ PREDMET[idPredmeta] PREDAJE[idNast] ⊆ NASTAVNIK[idNast] SLUSA[idStudenta] ⊆ STUDENT[idStudenta] SLUSA[idPredmeta] ⊆ PREDMET[idPredmeta] ISPIT[idStudenta, idPredmeta] ⊆ SLUSA[idStudenta, idPredmeta] ISPIT[idPredmeta, idNast] ⊆ PREDAJE[idPredmeta, idNast] }
NAPOMENE:
Studenti ne moraju navoditi po kojem pravilu su izvršili prevođenja pojedinih koncepata ER dijagrama, niti moraju crtati slike prilikom prevođenja tipova poveznika – ovde je to učinjeno samo radi objašnjenja, a već na sledeć im primerima to neć e biti slučaj. Međutim, obaveza je studenata da na kraju rešavanja zadatka pobroje skupove važeć ih relacija i međurelacionih ograničenja, kako je to učinjeno i u ovom primeru.
Pripremni materijal za prvi kolokvijum iz predmeta Baze podataka 21
4.2 ERD izložbe pasa
je
rasa
(0,M)
(1,1)
tipRase
pas vlasnik
nagrada
izlozba grad
sudija vrstaIzlozbe
imadobija
ucestvuje
dodeljuje odrzavaSe
jeIz
pripada
ocenjuje
(0,M)
(0,1)
(1,1) (1,M)(1,N)
(1,M)
(1,1)
(1,M)(1,N)
(0,M)
(1,1)
(1,M)
(1,1) (0,M)(0,M)
(1,1)
nazivRase
opis
idPsa imePsa
poreklostarost
idNagrade
nazivNagrade
vrstaNagrade
napomena
nazivIzlozbe
brIzlozbe
datumPocetka
vremeTrajanja
idVlasnikaime
telefonprezime
adresa
ptt naziv
licBrSudijeime
prezime
adresaiskustvo idVrste nazivVrste
Slika 7: ERD izložbe pasa
Pripremni materijal za prvi kolokvijum iz predmeta Baze podataka 22
PREVOĐENJE TIPOVA ENTITETA RASA (tipRase, nazivRase, opis) PAS (idPsa, imePsa, poreklo, starost) VLASNIK (idVlasnika, ime, prezime, telefon, adresa) NAGRADA (idNagrade, nazivNagrade, vrstaNagrade) IZLOZBA (brIzlozbe, nazivIzlozbe, datumPocetka, vremeTrajanja) GRAD (ptt, naziv) SUDIJA (licBrSudije, ime, prezime, adresa, iskustvo) VRSTA_IZLOZBE (idVrste, nazivVrste)
PREVOĐENJE TIPOVA POVEZNIKA
poveznik JE:
PAS (idPsa, imePsa, poreklo, starost, tipRase)
Međurelaciono ograničenje:
PAS[tipRase] ⊆ RASA[tipRase]
poveznik IMA:
PAS (idPsa, imePsa, poreklo, starost, tipRase, idVlasnika)
Međurelaciono ograničenje:
PAS[idVlasnika] ⊆ VLASNIK[idVlasnika]
poveznik DOBIJA:
DOBIJA (idNagrade, idPsa) (postaje posebna shema relacije zbog kardinaliteta (0,1):(0,M))
Međurelaciona ograničenja:
DOBIJA[idNagrade] ⊆ NAGRADA[idNagrade] DOBIJA[idPsa] ⊆ PAS[idPsa]
poveznik JEIZ:
VLASNIK (idVlasnika, ime, prezime, telefon, adresa, ptt)
Međurelaciono ograničenje:
VLASNIK[ptt] ⊆ GRAD[ptt]
poveznik DODELJUJE:
NAGRADA (idNagrade, nazivNagrade, vrstaNagrade, brIzlozbe)
Međurelaciono ograničenje:
NAGRADA[brIzlozbe] ⊆ IZLOZBA[brIzlozbe]
poveznik ODRZAVASE:
IZLOZBA (brIzlozbe, nazivIzlozbe, datumPocetka, vremeTrajanja, ptt)
Međurelaciono ograničenje:
IZLOZBA[ptt] ⊆ GRAD[ptt]
poveznik PRIPADA:
IZLOZBA (brIzlozbe, nazivIzlozbe, datumPocetka, vremeTrajanja, ptt, idVrste)
Međurelaciono ograničenje:
IZLOZBA[idVrste] ⊆ VRSTA[idVrste]
Pripremni materijal za prvi kolokvijum iz predmeta Baze podataka 23
poveznik UCESTVUJE:
UCESTVUJE (idPsa, brIzlozbe)
Međurelaciona ograničenja:
UCESTVUJE[idPsa] ⊆ PAS[idPsa] UCESTVUJE[brIzlozbe] ⊆ IZLOZBA[brIzlozbe]
poveznik OCENJUJE:
OCENJUJE (brIzlozbe, licBrSudije)
Međurelaciona ograničenja:
OCENJUJE[brIzlozbe] ⊆ IZLOZBA[brIzlozbe] OCENJUJE[licBrSudije] ⊆ SUDIJA[licBrSudije]
Konačno:
S = { RASA (tipRase, nazivRase, opis) GRAD (ptt, naziv) SUDIJA (licBrSudije, ime, prezime, adresa, iskustvo) VRSTA_IZLOZBE (idVrste, nazivVrste) PAS (idPsa, imePsa, poreklo, starost, tipRase, idVlasnika) DOBIJA (idNagrade, idPsa) VLASNIK (idVlasnika, ime, prezime, telefon, adresa, ptt) NAGRADA (idNagrade, nazivNagrade, vrstaNagrade, brIzlozbe) IZLOZBA (brIzlozbe, nazivIzlozbe, datumPocetka, vremeTrajanja, ptt, idVrste) UCESTVUJE (idPsa, brIzlozbe) OCENJUJE (brIzlozbe, licBrSudije) }
I = { PAS[tipRase] ⊆ RASA[tipRase] PAS[idVlasnika] ⊆ VLASNIK[idVlasnika] DOBIJA[idNagrade] ⊆ NAGRADA[idNagrade] DOBIJA[idPsa] ⊆ PAS[idPsa] VLASNIK[ptt] ⊆ GRAD[ptt] NAGRADA[brIzlozbe] ⊆ IZLOZBA[brIzlozbe] IZLOZBA[ptt] ⊆ GRAD[ptt] IZLOZBA[idVrste] ⊆ VRSTA_IZLOZBE[idVrste] UCESTVUJE[idPsa] ⊆ PAS[idPsa] UCESTVUJE[brIzlozbe] ⊆ IZLOZBA[brIzlozbe] OCENJUJE[brIzlozbe] ⊆ IZLOZBA[brIzlozbe] OCENJUJE[licBrSudije] ⊆ SUDIJA[licBrSudije] }
Pripremni materijal za prvi kolokvijum iz predmeta Baze podataka 24
4.3 ERD takmičenja
seTakmici
organizator turnirorganizuje(1,N) (1,M)
grad
jeU
(1,1)
(0,M)
jeIz
(1,1)
(0,M)
dolaziIz
klub
(0,M)
(1,1)
trener
trenira
(1,1)
(1,M)
(1,M)
takmicar
jeClan(1,M)
(1,1)
(1,N)
(1,M)
ucestvuje
(1,M)
pripada igra
utakmica
(1,1)
kategorija(1,M)
(1,N)
(1,M)
zaposljava
clan(1,1)
jeRasporedjen
radnoMesto
(1,1)
(1,M)
sudija
pripadaU
rang
sudi
(1,N)
(1,N)
(1,M)
(1,1)
(1,M)
IS_A
regionalni
republicki
savezni
idOrgan
imeOrganprezOrgan datumOtv
idTurn
imeTurnrang
klasa
regijaptt
imeGrada
idKluba
naziv
godOsn
imebrlk
prezime
brojUgovoraplata
premija
brlk datRod
ime
prezime
idRmnaziv
brlkime
prezime
oznaka naziv
brojStola
termin
rezultat
brojUtakm
vreme
oznKat
nazivKat
idTakm
pol
prezime
ime
odDatuma
(1,1)
Slika 8: ERD takmičenja
Pripremni materijal za prvi kolokvijum iz predmeta Baze podataka 25
PREVOĐENJE TIPOVA ENTITETA ORGANIZATOR (idOrgan, imeOrgan, prezOrgan) GRAD (ptt, imeGrada) KLUB (idKluba, naziv, godOsn) TRENER (brlk, ime, prezime, plata, premija, brojUgovora) TAKMICAR (idTakm, prezime, ime, pol) CLAN (brlk, ime, prezime, datRod) radnoMesto (idRm, naziv) KATEGORIJA (oznKat, nazivKat) UTAKMICA (brojUtakm, termin, rezultat) SUDIJA (brlk, ime, prezime) RANG (oznaka, naziv)
PREVOĐENJE SUPERKLASA TURNIR (idTurn, imeTurn)
PREVOĐENJE PODKLASA REPUBLICKI (idTurn, rang) SAVEZNI (idTurn, klasa) REGIONALNI (idTurn, regija) Međurelaciona ograničenja: REPUBLICKI[idTurn] ⊆ TURNIR[idTurn], isto važi i za SAVEZNI i REGIONALNI.
PREVOĐENJE TIPOVA POVEZNIKA
poveznik jeIz:
ORGANIZATOR (idOrgan, imeOrgan, prezOrgan, ptt)
Međurelaciono ograničenje:
ORGANIZATOR[ptt] ⊆ GRAD[ptt]
poveznik jeU:
TURNIR (idTurn, imeTurn, ptt)
Međurelaciono ograničenje:
TURNIR[ptt] ⊆ GRAD[ptt]
poveznik dolaziIz:
KLUB (idKluba, naziv, godOsn, ptt)
Međurelaciono ograničenje:
KLUB[ptt] ⊆ GRAD[ptt]
poveznik TRENIRA:
TRENER (brlk, ime, prezime, plata, premija, brojUgovora, idKluba)
Međurelaciono ograničenje:
TRENER[idKluba] ⊆ KLUB[idKluba]
poveznik jeClan:
TAKMICAR (idTakm, prezime, ime, pol, idKluba, odDatuma)
Međurelaciono ograničenje:
TAKMICAR[idKluba] ⊆ KLUB[idKluba]
poveznik PRIPADA:
TAKMICAR (idTakm, prezime, ime, pol, idKluba, odDatuma, oznKat)
Pripremni materijal za prvi kolokvijum iz predmeta Baze podataka 26
Međurelaciono ograničenje:
TAKMICAR[oznKat] ⊆ KATEGORIJA[oznKat]
poveznik ZAPOSLJAVA:
CLAN (brlk, ime, prezime, datRod, idKluba)
Međurelaciono ograničenje:
CLAN[idKluba] ⊆ KLUB[idKluba]
poveznik jeRasporedjen:
CLAN (brlk, ime, prezime, datRod, idKluba, idRm)
Međurelaciono ograničenje:
CLAN[idRm] ⊆ RADNO_MESTO[idRm]
poveznik pripadaU:
SUDIJA (brlk, ime, prezime, oznaka)
Međurelaciono ograničenje:
SUDIJA[oznaka] ⊆ RANG[oznaka]
poveznik ORGANIZUJE:
ORGANIZUJE (idOrgan, idTurn, datumOtv)
Međurelaciona ograničenja:
ORGANIZUJE[idOrgan] ⊆ ORGANIZATOR[idOrgan] ORGANIZUJE[idTurn] ⊆ TURNIR[idTurn]
poveznik UCESTVUJE:
UCESTVUJE (idTakm, idTurn)
Međurelaciona ograničenja:
UCESTVUJE[idTakm] ⊆ TAKMICAR[idTakm] UCESTVUJE[idTurn] ⊆ TURNIR[idTurn]
poveznik IGRA:
IGRA (idTakm, brojUtakm)
Međurelaciona ograničenja:
IGRA[idTakm] ⊆ TAKMICAR[idTakm] IGRA[brojUtakm] ⊆ UTAKMICA[brojUtakm]
poveznik SUDI:
SUDI (brojUtakm, brlk, brojStola)
Međurelaciona ograničenja:
SUDI[brojUtakm] ⊆ UTAKMICA[brojUtakm] SUDI[brlk] ⊆ SUDIJA[brlk]
poveznik seTakmici (unarna veza):
seTakmici (idTakm, idSuparnika, vreme)
Međurelaciona ograničenja:
seTakmici[idTakm] ⊆ TAKMICAR[idTakm] seTakmici[idSuparnika] ⊆ TAKMICAR[idTakm]
Pripremni materijal za prvi kolokvijum iz predmeta Baze podataka 27
Konačno:
S = { GRAD (ptt, imeGrada) radnoMesto (idRm, naziv) KATEGORIJA (oznKat, nazivKat) UTAKMICA (brojUtakm, termin, rezultat) RANG (oznaka, naziv) REPUBLICKI (idTurn, rang) SAVEZNI (idTurn, klasa) REGIONALNI (idTurn, regija) ORGANIZATOR (idOrgan, imeOrgan, prezOrgan, ptt) TURNIR (idTurn, imeTurn, ptt) KLUB (idKluba, naziv, godOsn, ptt) TRENER (brlk, ime, prezime, plata, premija, brojUgovora, idKluba) TAKMICAR (idTakm, prezime, ime, pol, idKluba, odDatuma, oznKat) CLAN (brlk, ime, prezime, datRod, idKluba, idRm) SUDIJA (brlk, ime, prezime, oznaka) ORGANIZUJE (idOrgan, idTurn, datumOtv) UCESTVUJE (idTakm, idTurn) IGRA (idTakm, brojUtakm) SUDI (brojUtakm, brlk, brojStola) seTakmici (idTakm, idSuparnika, vreme) }
I = { REPUBLICKI[idTurn] ⊆ TURNIR[idTurn] SAVEZNI[idTurn] ⊆ TURNIR[idTurn] REGIONALNI[idTurn] ⊆ TURNIR[idTurn] ORGANIZATOR[ptt] ⊆ GRAD[ptt]
TURNIR[ptt] ⊆ GRAD[ptt] KLUB[ptt] ⊆ GRAD[ptt] TRENER[idKluba] ⊆ KLUB[idKluba] TAKMICAR[idKluba] ⊆ KLUB[idKluba] TAKMICAR[oznKat] ⊆ KATEGORIJA[oznKat] CLAN[idKluba] ⊆ KLUB[idKluba] CLAN[idRm] ⊆ RADNO_MESTO[idRm] SUDIJA[oznaka] ⊆ RANG[oznaka] ORGANIZUJE[idOrgan] ⊆ ORGANIZATOR[idOrgan] ORGANIZUJE[idTurn] ⊆ TURNIR[idTurn] UCESTVUJE[idTakm] ⊆ TAKMICAR[idTakm] UCESTVUJE[idTurn] ⊆ TURNIR[idTurn] IGRA[idTakm] ⊆ TAKMICAR[idTakm] IGRA[brojUtakm] ⊆ UTAKMICA[brojUtakm] SUDI[brojUtakm] ⊆ UTAKMICA[brojUtakm] SUDI[brlk] ⊆ SUDIJA[brlk] seTakmici[idTakm] ⊆ TAKMICAR[idTakm] seTakmici[idSuparnika] ⊆ TAKMICAR[idTakm] }
Pripremni materijal za prvi kolokvijum iz predmeta Baze podataka 28
4.4 ERD predškolske ustanove
racunovodja
IS_A
vaspitacicadirektor spremacicakuvar
ime
(1,1)
radnik
seminar
prisustvuje priprema
obrokgrupa ima
dnevneAktivnosti
odgovara odvijaSeodlaziNa
seOdrzava
grad
jeIz
pripada
detejeRodjeno
(0,M)
(0,N)
(0,M)
(0,N)
(1,M)
(1,N)
(1,1)
(0,N)
(0,N)
(0,N)
(1,1)
(1,1)
(1,1)
(0,N)
(1,M)
(0,1)
(0,N)
(1,M)
(0,M)
(0,N)
jmbg
prezime
plata
adresa
specijalnost
strucSprema radIskustvospecijalitet smena
id
svrha nacinObuke
idGrupe
nazivGrupe
nazivDnAkt
vrstaDnAkt
naziv
vreme
pttnaziv
ime
jmbg
prezime
adresa
datRod
vreme
mesto
Slika 9: ERD predškolske ustanove
PREVOĐENJE TIPOVA ENTITETA SEMINAR (id, svrha, nacinObuke) GRAD (ptt, naziv) DETE (jmbg, ime, prezime, adresa, datRod) GRUPA (idGrupe, nazivGrupe) dnevneAktivnosti (nazivDnAkt, vrstaDnAkt) OBROK (naziv, vreme)
PREVOĐENJE SUPERKLASA RADNIK (jmbg, ime, prezime, adresa, plata)
PREVOĐENJE PODKLASA DIREKTOR (jmbg, specijalnost)
Međurelaciono ograničenje:
Pripremni materijal za prvi kolokvijum iz predmeta Baze podataka 29
DIREKTOR[jmbg] ⊆ RADNIK[jmbg]
VASPITACICA (jmbg, strucSprema)
Međurelaciono ograničenje:
VASPITACICA[jmbg] ⊆ RADNIK[jmbg]
RACUNOVODJA (jmbg, radIskustvo)
Međurelaciono ograničenje:
RACUNOVODJA[jmbg] ⊆ RADNIK[jmbg]
KUVAR (jmbg, specijalitet)
Međurelaciono ograničenje:
KUVAR[jmbg] ⊆ RADNIK[jmbg]
SPREMACICA (jmbg, sprema)
Međurelaciono ograničenje:
SPREMACICA[jmbg] ⊆ RADNIK[jmbg]
PREVOĐENJE TIPOVA POVEZNIKA
Poveznik jeIz
RADNIK (jmbg, ime, prezime, adresa, plata, ptt)
Međurelaciono ograničenje:
RADNIK[ptt] ⊆ GRAD[ptt]
Poveznik seOdrzava
SEMINAR (id, svrha, nacinObuke, ptt)
Međurelaciono ograničenje:
SEMINAR[ptt] ⊆ GRAD[ptt]
Poveznik jeRodjeno
DETE (jmbg, ime, prezime, adresa, datRod, ptt)
Međurelaciono ograničenje:
DETE[ptt] ⊆ GRAD[ptt]
Poveznik PRIPADA
DETE (jmbg, ime, prezime, adresa, datRod, ptt, idGrupe)
Međurelaciono ograničenje:
DETE[idGrupe] ⊆ GRUPA[idGrupe]
Poveznik odlaziNa
odlaziNa (jmbg, id)
Međurelaciona ograničenja:
odlaziNa [jmbg] ⊆ DIREKTOR[jmbg] odlaziNa [id] ⊆ SEMINAR[id]
Poveznik PRISUSTVUJE
PRISUSTVUJE (jmbg, id)
Međurelaciona ograničenja:
PRISUSTVUJE[jmbg] ⊆ VASPITACICA[jmbg] PRISUSTVUJE[id] ⊆ SEMINAR[id]
Pripremni materijal za prvi kolokvijum iz predmeta Baze podataka 30
Poveznik PRIPREMA
PRIPREMA (jmbg, naziv)
Međurelaciona ograničenja:
PRIPREMA[jmbg] ⊆ KUVAR[jmbg] PRIPREMA[naziv] ⊆ OBROK[naziv]
PREVOĐENJE TIPOVA GERUNDA
Gerund ODGOVARA
ODGOVARA (idGrupe, jmbg)
Međurelaciona ograničenja:
ODGOVARA[idGrupe] ⊆ GRUPA[idGrupe] ODGOVARA[jmbg] ⊆ VASPITACICA[jmbg]
Gerund IMA
IMA (idGrupe, nazivDnAkt)
Međurelaciona ograničenja:
IMA[idGrupe] ⊆ GRUPA[idGrupe] IMA[nazivDnAkt] ⊆ dnevneAktivnosti[nazivDnAkt]
Poveznik odvijaSe
odvijaSe (idGrupe, nazivDnAkt, vreme, mesto)
Međurelaciona ograničenja:
odvijaSe[idGrupe] ⊆ ODGOVARA [idGrupe] odvijaSe[idGrupe, nazivDnAkt] ⊆ IMA[idGrupe, nazivDnAkt]
Konačno:
S = { SEMINAR (id, svrha, nacinObuke, ptt) GRAD (ptt, naziv) DETE (jmbg, ime, prezime, adresa, datRod, ptt, idGrupe) GRUPA (idGrupe, nazivGrupe) dnevneAktivnosti (nazivDnAkt, vrstaDnAkt) OBROK (naziv, vreme) RADNIK (jmbg, ime, prezime, adresa, plata, ptt) DIREKTOR (jmbg, specijalnost) VASPITACICA (jmbg, strucSprema) RACUNOVODJA (jmbg, radIskustvo) KUVAR (jmbg, specijalitet) SPREMACICA (jmbg, sprema) odlaziNa (jmbg, id) PRISUSTVUJE (jmbg, id) PRIPREMA (jmbg, naziv) ODGOVARA (idGrupe, jmbg) IMA (idGrupe, nazivDnAkt) odvijaSe (idGrupe, nazivDnAkt, vreme, mesto)}
I = { DIREKTOR[jmbg] ⊆ RADNIK[jmbg] VASPITACICA[jmbg] ⊆ RADNIK[jmbg] RACUNOVODJA[jmbg] ⊆ RADNIK[jmbg] KUVAR[jmbg] ⊆ RADNIK[jmbg] SPREMACICA[jmbg] ⊆ RADNIK[jmbg] RADNIK[ptt] ⊆ GRAD[ptt] SEMINAR[ptt] ⊆ GRAD[ptt] DETE[ptt] ⊆ GRAD[ptt]
Pripremni materijal za prvi kolokvijum iz predmeta Baze podataka 31
DETE[idGrupe] ⊆ GRUPA[idGrupe] odlaziNa[jmbg] ⊆ DIREKTOR[jmbg] odlaziNa[id] ⊆ SEMINAR[id] PRISUSTVUJE[jmbg] ⊆ VASPITACICA[jmbg] PRISUSTVUJE[id] ⊆ SEMINAR[id] PRIPREMA[jmbg] ⊆ KUVAR[jmbg] PRIPREMA[naziv] ⊆ OBROK[naziv] ODGOVARA[idGrupe] ⊆ GRUPA[idGrupe] ODGOVARA[jmbg] ⊆ VASPITACICA[jmbg] IMA[idGrupe] ⊆ GRUPA[idGrupe] IMA[nazivDnAkt] ⊆ dnevneAktivnosti[nazivDnAkt] odvijaSe[idGrupe] ⊆ ODGOVARA [idGrupe] odvijaSe[idGrupe, nazivDnAkt] ⊆ IMA[idGrupe, nazivDnAkt]}
4.5 ERD prodaje polovnih audio komponenata
cd
IS_A
ptt
(0,1)
tjunerpojacalo zvucnikdvd
proizvodjacproizvodi
drajver
seSastoji
izradjuje
formatMedija
podrzava
vlasnik prodaje
kupac
kupujeugovor pregledao serviser
grad zivi izdat atest
nazivsifraKup
prezimeime
telefonbroj
vrsta
datum
sifraV
prezimeime
telefon
datum provizijajmbg
prezime
ime
sifraPro nazivsifraK
model godinaPr
cena
komponenta
sifra naziv sifra
model
materijal
brojUlaza izlSnaga vrsta dac region impedansa snaga
(0,N)
(1,1)
(0,N) (1,1)
(1,1) (0,N)
(0,N)
(1,1)
(1,N)
(0,M)
(1,N)
(1,M)
(0,1)(1,N)
(0,1)
(1,N)
(0,1)
(0,1)
(0,1)
(1,N)
(0,1)
(1,1)
ziviU
Slika 10: ERD prodaje polovnih audio komponenata
Pripremni materijal za prvi kolokvijum iz predmeta Baze podataka 32
PREVOĐENJE TIPOVA ENTITETA GRAD (ptt, naziv) KUPAC (sifraKup, prezime, ime, telefon) VLASNIK (sifraV, prezime, ime, telefon) ATEST (broj, vrsta, datum) SERVISER (jmbg, prezime, ime) PROIZVODJAC (sifra, naziv) formatMedija (sifra, naziv) DRAJVER (sifra, model, materijal)
PREVOĐENJE SUPERKLASA KOMPONENTA (sifraK, model, godinaPr, cena)
PREVOĐENJE PODKLASA POJACALO (sifraK, brojUlaza, izlSnaga)
Međurelaciono ograničenje:
POJACALO[sifraK] ⊆ KOMPONENTA[sifraK]
TJUNER (sifraK, vrsta)
Međurelaciono ograničenje:
TJUNER[sifraK] ⊆ KOMPONENTA[sifraK]
CD (sifraK, dac)
Međurelaciono ograničenje:
CD[sifraK] ⊆ KOMPONENTA[sifraK]
DVD (sifraK, region)
Međurelaciono ograničenje:
DVD[sifraK] ⊆ KOMPONENTA[sifraK]
ZVUCNIK (sifraK, impedansa, snaga)
Međurelaciono ograničenje:
ZVUCNIK[sifraK] ⊆ KOMPONENTA[sifraK]
PREVOĐENJE TIPOVA POVEZNIKA
Poveznik ziviU
VLASNIK (sifraV, prezime, ime, telefon, ptt)
Međurelaciono ograničenje:
VLASNIK[ptt] ⊆ GRAD[ptt]
Poveznik ZIVI
KUPAC (sifraKup, prezime, ime, telefon, ptt)
Međurelaciono ograničenje:
KUPAC[ptt] ⊆ GRAD[ptt]
Poveznik PROIZVODI
KOMPONENTA (sifraK, model, godinaPr, cena, sifraPro)
Međurelaciono ograničenje:
KOMPONENTA[sifraPro] ⊆ PROIZVODJAC[sifraPro]
Poveznik IZRADJUJE
DRAJVER (sifra, materijal, model, sifraPro)
Pripremni materijal za prvi kolokvijum iz predmeta Baze podataka 33
Međurelaciono ograničenje:
DRAJVER[sifraPro] ⊆ PROIZVODJAC[sifraPro]
Poveznik PODRZAVA
PODRZAVA (sifraK, sifra)
Međurelaciona ograničenja:
PODRZAVA[sifraK] ⊆ KOMPONENTA[sifraK] PODRZAVA[sifra] ⊆ formatMedija[sifra]
Poveznik seSastoji
seSastoji (sifraK, sifra)
Međurelaciona ograničenja:
seSastoji[sifraK] ⊆ KOMPONENTA[sifraK] seSastoji[sifra] ⊆ DRAJVER[sifra]
PREVOĐENJE TIPOVA GERUNDA
Gerund KUPUJE
KUPUJE (sifraK, sifraKup)
Međurelaciona ograničenja:
KUPUJE[sifraK] ⊆ KOMPONENTA [sifraK] KUPUJE[sifraKup] ⊆ KUPAC [sifraKup]
Gerund PRODAJE
PRODAJE (sifraK, sifraV)
Međurelaciona ograničenja:
PRODAJE[sifraK] ⊆ KOMPONENTA [sifraK] PRODAJE[sifraV] ⊆ VLASNIK [sifraKup]
Poveznik UGOVOR
UGOVOR (sifraK, datum, provizija)
Međurelaciona ograničenja:
UGOVOR [sifraK] ⊆ KUPUJE[sifraK] UGOVOR [sifraK] ⊆ PRODAJE[sifraK]
Gerund PREGLEDAO
PREGLEDAO (sifraK, jmbg)
Međurelaciona ograničenja:
PREGLEDAO[sifraK] ⊆ KOMPONENTA [sifraK] PREGLEDAO[jmbg] ⊆ SERVISER [jmbg]
Poveznik IZDAT
ATEST (broj, vrsta, datum, sifraK)
Međurelaciono ograničenje:
ATEST[sifraK] ⊆ PREGLEDAO[sifraK]
Pripremni materijal za prvi kolokvijum iz predmeta Baze podataka 34
Konačno:
S = { GRAD (ptt, naziv) KUPAC (sifraKup, prezime, ime, telefon, ptt) VLASNIK (sifraV, prezime, ime, telefon, ptt) ATEST (broj, vrsta, datum, sifraK) SERVISER (jmbg, prezime, ime) PROIZVODJAC (sifra, naziv) formatMedija (sifra, naziv) DRAJVER (sifra, model, materijal, sifraPro) KOMPONENTA (sifraK, model, godinaPr, cena, sifraPro) POJACALO (sifraK, brojUlaza, izlSnaga) TJUNER (sifraK, vrsta) CD (sifraK, dac) DVD (sifraK, region) ZVUCNIK (sifraK, impedansa, snaga) PODRZAVA (sifraK, sifra) seSastoji (sifraK, sifra) KUPUJE (sifraK, sifraKup) PRODAJE (sifraK, sifraV) UGOVOR (sifraK, datum, provizija) PREGLEDAO (sifraK, jmbg)}
I = { POJACALO[sifraK] ⊆ KOMPONENTA[sifraK] TJUNER[sifraK] ⊆ KOMPONENTA[sifraK] CD[sifraK] ⊆ KOMPONENTA[sifraK] DVD[sifraK] ⊆ KOMPONENTA[sifraK] ZVUCNIK[sifraK] ⊆ KOMPONENTA[sifraK] VLASNIK[ptt] ⊆ GRAD[ptt] KUPAC[ptt] ⊆ GRAD[ptt] KOMPONENTA[sifraPro] ⊆ PROIZVODJAC[sifraPro] DRAJVER[sifraPro] ⊆ PROIZVODJAC[sifraPro] PODRZAVA[sifraK] ⊆ KOMPONENTA[sifraK] PODRZAVA[sifra] ⊆ formatMedija[sifra] seSastoji[sifraK] ⊆ KOMPONENTA[sifraK] seSastoji[sifra] ⊆ DRAJVER[sifra] KUPUJE[sifraK] ⊆ KOMPONENTA [sifraK] KUPUJE[sifraKup] ⊆ KUPAC [sifraKup] PRODAJE[sifraK] ⊆ KOMPONENTA [sifraK] PRODAJE[sifraV] ⊆ VLASNIK [sifraKup] UGOVOR [sifraK] ⊆ KUPUJE[sifraK] UGOVOR [sifraK] ⊆ PRODAJE[sifraK] PREGLEDAO[sifraK] ⊆ KOMPONENTA [sifraK] PREGLEDAO[jmbg] ⊆ SERVISER [jmbg] ATEST[sifraK] ⊆ PREGLEDAO[sifraK]}
Pripremni materijal za prvi kolokvijum iz predmeta Baze podataka 35
4.6 ERD izložbe fotografija
SALA
IZLOZENA_U
POSETILAC
POSECUJE
IS_A
GOSTINOVINARI OSTALI
LOCIRANO
UMETNIK
PRIJAVLJUJE
STANUJE
CLAN_ZIRIJA OCENJUJE
IZ
KUPUJE_KOPIJU
TEMATSKA_CELINAIZLAZE
ime_agencije specijalnost svrha_dolaska cena_karte
broj_karte
ime
prezime
id_sale
oblik
naziv
cena
ptt
naziv
id_fot
opis
kolorit
jmbg
ime
prezime
poeni
jmbg
ime
prezime
id_celine
naziv
SPADA_U
GRAD
FOTOGRAFIJA
(0,M)
(0,N)
(1,M)
(0,N)
(1,1)
(1,1)
(0,N)
(1,1)
(0,N)
(1,1)
(0,N)
(0,1)
(0,N)(1,1) (1,N)
(1,1)
(1,N)
(0,1) (0,N)
(1,N)
(1,1)
Slika 11: ERD izložbe fotografija
PREVOĐENJE TIPOVA ENTITETA SALA (id_sale, naziv, oblik) GRAD (ptt, naziv) CLAN_ZIRIJA (jmbg, ime, prezime) UMETNIK (jmbg, ime, prezime) TEMATSKA_CELINA (id_celine, naziv) FOTOGRAFIJA (id_fot, opis, kolorit)
Pripremni materijal za prvi kolokvijum iz predmeta Baze podataka 36
PREVOĐENJE SUPERKLASA POSETILAC (broj_karte, ime, prezime)
PREVOĐENJE PODKLASA NOVINARI (broj_karte, ime_agencije, specijalnost) GOSTI (broj_karte, svrha_dolaska) OSTALI (broj_karte, cena_karte)
Međurelaciona ograničenja:
NOVINARI[broj_karte] ⊆ POSETILAC[broj_karte] GOSTI[broj_karte] ⊆ POSETILAC[broj_karte] OSTALI[broj_karte] ⊆ POSETILAC[broj_karte]
PREVOĐENJE TIPOVA POVEZNIKA
poveznik POSECUJE:
POSECUJE (broj_karte, id_sale)
Međurelaciona ograničenja:
POSECUJE[broj_karte] ⊆ POSETILAC[broj_karte] POSECUJE[id_sale] ⊆ SALA[id_sale]
poveznik KUPUJE_KOPIJU:
KUPUJE_KOPIJU(broj_karte, id_fot, cena)
Međurelaciona ograničenja:
KUPUJE_KOPIJU[broj_karte] ⊆ POSETILAC[broj_karte] KUPUJE_KOPIJU[id_fot] ⊆ FOTOGRAFIJA[id_fot]
poveznik IZLOZENA_U:
FOTOGRAFIJA (id_fot, opis, kolorit, id_sale)
Međurelaciono ograničenje:
FOTOGRAFIJA[id_sale] ⊆ SALA[id_sale]
poveznik LOCIRANO:
SALA (id_sale, naziv, oblik, ptt)
Međurelaciono ograničenje:
SALA[ptt] ⊆ GRAD[ptt]
poveznik IZ:
CLAN_ZIRIJA (jmbg, ime, prezime, ptt)
Međurelaciono ograničenje:
CLAN_ZIRIJA[ptt] ⊆ GRAD[ptt]
poveznik SPADA_U:
FOTOGRAFIJA (id_fot, opis, kolorit, id_sale, id_celine)
Međurelaciono ograničenje:
FOTOGRAFIJA[id_celine] ⊆ TEMATSKA_CELINA[id_celine]
poveznik STANUJE:
UMETNIK (jmbg, ime, prezime, ptt)
Međurelaciono ograničenje:
Pripremni materijal za prvi kolokvijum iz predmeta Baze podataka 37
UMETNIK[ptt] ⊆ GRAD[ptt]
poveznik IZLAZE:
UMETNIK (jmbg, ime, prezime, ptt, id_celine)
Međurelaciono ograničenje:
UMETNIK[id_celine] ⊆ TEMATSKA_CELINA[id_celine]
PREVOĐENJE TIPOVA GERUNDA
gerund PRIJAVLJUJE:
PRIJAVLJUJE (id_fot, jmbg)
Međurelaciona ograničenja:
PRIJAVLJUJE[id_fot] ⊆ FOTOGRAFIJA[id_fot] PRIJAVLJUJE[jmbg] ⊆ UMETNIK[jmbg]
poveznik OCENJUJE:
OCENJUJE (jmbg_cz, id_fot, poeni)
Međurelaciona ograničenja:
OCENJUJE[jmbg_cz] ⊆ CLAN_ZIRIJA[jmbg] OCENJUJE[id_fot] ⊆ FOTOGRAFIJAI[id_fot]
Konačno:
S = { SALA (id_sale, naziv, oblik, ptt) GRAD (ptt, naziv) CLAN_ZIRIJA (jmbg, ime, prezime, ptt) UMETNIK (jmbg, ime, prezime, ptt, id_celine) TEMATSKA_CELINA (id_celine, naziv) FOTOGRAFIJA (id_fot, opis, kolorit, id_sale, id_celine) POSETILAC (broj_karte, ime, prezime) NOVINARI (broj_karte, ime_agencije, specijalnost) GOSTI (broj_karte, svrha_dolaska) OSTALI (broj_karte, cena_karte) POSECUJE (broj_karte, id_sale) KUPUJE_KOPIJU(broj_karte, id_fot, cena) PRIJAVLJUJE (id_fot, jmbg) OCENJUJE (jmbg_cz, id_fot, poeni) }
I = { NOVINARI[broj_karte] ⊆ POSETILAC[broj_karte] GOSTI[broj_karte] ⊆ POSETILAC[broj_karte] OSTALI[broj_karte] ⊆ POSETILAC[broj_karte] POSECUJE[broj_karte] ⊆ POSETILAC[broj_karte] POSECUJE[id_sale] ⊆ SALA[id_sale] KUPUJE_KOPIJU[broj_karte] ⊆ POSETILAC[broj_karte] KUPUJE_KOPIJU[id_fot] ⊆ FOTOGRAFIJA[id_fot] FOTOGRAFIJA[id_sale] ⊆ SALA[id_sale] SALA[ptt] ⊆ GRAD[ptt] CLAN_ZIRIJA[ptt] ⊆ GRAD[ptt] FOTOGRAFIJA[id_celine] ⊆ TEMATSKA_CELINA[id_celine] UMETNIK[ptt] ⊆ GRAD[ptt] UMETNIK[id_celine] ⊆ TEMATSKA_CELINA[id_celine] PRIJAVLJUJE[id_fot] ⊆ FOTOGRAFIJA[id_fot] PRIJAVLJUJE[jmbg] ⊆ UMETNIK[jmbg] OCENJUJE[jmbg_cz] ⊆ CLAN_ZIRIJA[jmbg] OCENJUJE[id_fot] ⊆ FOTOGRAFIJAI[id_fot]}
Pripremni materijal za prvi kolokvijum iz predmeta Baze podataka 38
4.7 ERD preduzeć a
RADNIK_U_PROIZV MAGACIONER
IS_A
MASINA
RUKUJE
IS_A
MASINA_PAKER MASINA_PROIZVODJAC
MAGACIN
RADI_U
PROIZVOD
IDE_U
PROIZVODI
PAKUJE
PRIMA_PREDAJE
RADNIK_UTOVARA
MBR
IME
PREZIME
DAT_ZAP
ADRESA
DAT_ROD
BR_RAD_SATI NORMA
RADNIK JE_SEF
ID_MASINE
MODEL
PROIZVODJAC
BRZINA
OPERACIJA_PAK OPERACIJA_PRO
DATUM
KOLICINA
DATUM
KOLICINA
ID_PRO
NAZIV
VRSTA
SMER
DATUM
KOLICINA
RED_BR
KAPACITET
STANJE
(1,N)
(0,1)(1,1)
(1,1)
(1,N)
SMENA
(0,1)
(1,N)
(1,M)
UTOVARA
(1,1)
(1,N)
(1,M) (1,N)
(1,M) (1,N)
(1,N)
(0,M)
(1,N)
(1,M)
Slika 12: ERD preduzeća
PREVOĐENJE TIPOVA ENTITETA PROIZVOD (id_pro, naziv, vrsta) MAGACIN (red_br, kapacitet, stanje)
PREVOĐENJE SUPERKLASA RADNIK (mbr, prezime, ime, adresa, dat_zap, dat_rod) MASINA (id_masine, model, proivodjac, brzina)
PREVOĐENJE PODKLASA RADNIK_U_PROIZV (mbr, br_rad_sati)
Međurelaciono ograničenje:
RADNIK_U_PROIZV[mbr] ⊆ RADNIK[mbr]
Pripremni materijal za prvi kolokvijum iz predmeta Baze podataka 39
RADNIK_UTOVARA (mbr, norma)
Međurelaciono ograničenje:
RADNIK_UTOVARA[mbr] ⊆ RADNIK[mbr]
MAGACIONER (mbr)
Međurelaciono ograničenje:
MAGACIONER[mbr] ⊆ RADNIK[mbr]
MASINA_PAKER (id_masine, operacija_pak)
Međurelaciono ograničenje:
MASINA_PAKER[id_masine] ⊆ MASINA[id_masine]
MASINA_PROIZVODJAC (id_masine, operacija_pro)
Međurelaciono ograničenje:
MASINA_PROIZVODJAC[id_masine] ⊆ MASINA[id_masine]
PREVOĐENJE TIPOVA POVEZNIKA
Poveznik RADI_U
MAGACIONER (mbr, red_br)
Međurelaciono ograničenje:
MAGACIONER[red_br] ⊆ MAGACIN[red_br]
Poveznik RUKUJE
RADNIK_U_PROIZV (mbr, br_rad_sati, id_masine, smena)
Međurelaciono ograničenje:
RADNIK_U_PROIZV[id_masine] ⊆ MASINA[id_masine]
Unarni poveznik JE_SEF
JE_SEF (mbr, mbr_podredjenog)
Poveznik PRIMA_PREDAJE
PRIMA_PREDAJE (id_pro, mbr)
Međurelaciona ograničenja:
PRIMA_PREDAJE [id_pro] ⊆ PROIZVOD [id_pro] PRIMA_PREDAJE [mbr] ⊆ MAGACIONER [mbr]
Poveznik PAKUJE
PAKUJE (id_masine, id_pro, datum, kolicina)
Međurelaciona ograničenja:
PAKUJE [id_pro] ⊆ PROIZVOD [id_pro] PAKUJE [id_masine] ⊆ MASINA_PAKER [id_masine]
Poveznik PROIZVODI
PROIZVODI (id_masine, id_pro, datum, kolicina)
Međurelaciona ograničenja:
PROIZVODI [id_pro] ⊆ PROIZVOD [id_pro] PROIZVODI [id_masine] ⊆ MASINA_PROIZVODJAC [id_masine]
Pripremni materijal za prvi kolokvijum iz predmeta Baze podataka 40
PREVOĐENJE TIPOVA GERUNDA
Gerund IDE_U
IDE_U (red_br, id_pro, kolicina, datum, smer)
Međurelaciona ograničenja:
IDE_U [id_pro] ⊆ PROIZVOD [id_pro] IDE_U [red_br] ⊆ MAGACIN [red_br]
Poveznik UTOVARA
UTOVARA (mbr, red_br, id_pro)
Međurelaciona ograničenja:
UTOVARA [mbr] ⊆ RADNIK_UTOVARA[mbr] UTOVARA [red_br, id_pro] ⊆ IDE_U[red_br, id_pro]
Konačno:
S = { PROIZVOD (id_pro, naziv, vrsta) MAGACIN (red_br, kapacitet, stanje) RADNIK (mbr, prezime, ime, adresa, dat_zap, dat_rod) MASINA (id_masine, model, proivodjac, brzina) RADNIK_UTOVARA (mbr, norma) MASINA_PAKER (id_masine, operacija_pak) MASINA_PROIZVODJAC (id_masine, operacija_pro) MAGACIONER (mbr, red_br) RADNIK_U_PROIZV (mbr, br_rad_sati, id_masine, smena) JE_SEF (mbr, mbr_podredjenog) PRIMA_PREDAJE (id_pro, mbr) PAKUJE (id_masine, id_pro, datum, kolicina) PROIZVODI (id_masine, id_pro, datum, kolicina) IDE_U (red_br, id_pro, kolicina, datum, smer) UTOVARA (mbr, red_br, id_pro)}
I = { RADNIK_U_PROIZV[mbr] ⊆ RADNIK[mbr] RADNIK_UTOVARA[mbr] ⊆ RADNIK[mbr] MAGACIONER[mbr] ⊆ RADNIK[mbr] MASINA_PAKER[id_masine] ⊆ MASINA[id_masine] MASINA_PROIZVODJAC[id_masine] ⊆ MASINA[id_masine] MAGACIONER[red_br] ⊆ MAGACIN[red_br] RADNIK_U_PROIZV[id_masine] ⊆ MASINA[id_masine] PRIMA_PREDAJE [id_pro] ⊆ PROIZVOD [id_pro] PRIMA_PREDAJE [mbr] ⊆ MAGACIONER [mbr] PAKUJE [id_pro] ⊆ PROIZVOD [id_pro] PAKUJE [id_masine] ⊆ MASINA_PAKER [id_masine] PROIZVODI [id_pro] ⊆ PROIZVOD [id_pro] PROIZVODI [id_masine] ⊆ MASINA_PROIZVODJAC [id_masine] IDE_U [id_pro] ⊆ PROIZVOD [id_pro] IDE_U [red_br] ⊆ MAGACIN [red_br] UTOVARA [mbr] ⊆ RADNIK_UTOVARA[mbr] UTOVARA [red_br, id_pro] ⊆ IDE_U[red_br, id_pro]}
Pripremni materijal za prvi kolokvijum iz predmeta Baze podataka 41
4.8 ERD vojne organizacije
IS_A
VOJNO_LICE
ID_JEDINICE
(0,N)
VOJNIKOFICIR VPU
GADJANJE
NAGRADNO_ODSUSTVO
IZVRSIO
KOMANDUJE
DOBIO
KORISCENO
ORUZJEZADUZIOJEDINICA PRIPADA
(0,N)
(1,M)
(1,N)
(0,M)
(0,N) (0,1)(1,1)(1,N)
(0,N)
(1,M)
(0,N)
(1,M)
NAZIV
JMBG
PREZIME
CIN
IME
SERIJSKI_BROJ
MODEL
TIP
KALIBAR
DATUM
ADRESA
FORMACIJSKO_MESTO
KLASA
ADRESABR_UGOVORA
BROJ_KRUGOVA
DATUM
ID_GADJANJA
RED_BROJ
VRSTA
BROJ_DANASIFRA
POVOD
OCENJUJE(0,M)
(1,1)
KRETANJE
ZAVRSIO
ID_VS
IME
TIP
ROD
VOJNA_SKOLA
KLASA
ZAVR_OCENA
(0,N)
(1,M)
STACIONIRANA
(1,1)
GRAD
(0,N)
JE_U(1,N)(0,M)
PTT NAZIV
VRSTA_MUNICIJE BROJ_ZRNA
Slika 13: ERD vojne organizacije
Pripremni materijal za prvi kolokvijum iz predmeta Baze podataka 42
PREVOĐENJE TIPOVA ENTITETA GRAD (ptt, naziv) VOJNA_SKOLA (id_vs, ime, rod, tip) JEDINICA (id_jedinice, naziv) ORUZJE (serijski_broj, model, kalibar, tip) GADJANJE (id_gadjanja, redni_broj, vrsta) NAGRADNO_ODSUSTVO (sifra, povod, broj_dana)
PREVOĐENJE SUPERKLASE VOJNO_LICE (jmbg, prezime, ime, cin)
PREVOĐENJE PODKLASA OFICIR (jmbg, adresa, formacijsko_mesto)
Međurelaciono ograničenje:
OFICIR[jmbg] ⊆ VOJNO_LICE[jmbg]
VOJNIK (jmbg, klasa)
Međurelaciono ograničenje:
VOJNIK[jmbg] ⊆ VOJNO_LICE[jmbg]
VPU (jmbg, br_ugovora, adresa)
Međurelaciono ograničenje:
VPU[jmbg] ⊆ VOJNO_LICE[jmbg]
PREVOĐENJE TIPOVA POVEZNIKA
poveznik JE_U:
JE_U (ptt, id_vs)
Međurelaciona ograničenja:
JE_U[ptt] ⊆ GRAD[ptt] JE_U[id_vs] ⊆ VOJNA_SKOLA[id_vs]
poveznik STACIONIRANA:
JEDINICA (id_jedinice, naziv, ptt)
Međurelaciono ograničenje:
JEDINICA[ptt] ⊆ GRAD[ptt]
poveznik ZAVRSIO:
ZAVRSIO (id_vs, jmbg, klasa, zavr_ocena)
Međurelaciona ograničenja:
ZAVRSIO[id_vs] ⊆ VOJNA_SKOLA[id_vs] ZAVRSIO[jmbg] ⊆ VOJNO_LICE[jmbg]
poveznik PRIPADA:
VOJNO_LICE (jmbg, prezime, ime, cin, id_jedinice)
Međurelaciono ograničenje:
VOJNO_LICE[id_jedinice] ⊆ JEDINICA[id_jedinice]
poveznik ZADUZIO:
ZADUZIO (jmbg, serijski_broj, datum)
Međurelaciona ograničenja:
Pripremni materijal za prvi kolokvijum iz predmeta Baze podataka 43
ZADUZIO[jmbg] ⊆ VOJNO_LICE[jmbg] ZADUZIO[serijski_broj] ⊆ ORUZJE[serijski_broj]
poveznik DOBIO:
DOBIO (jmbg, sifra, datum)
Međurelaciona ograničenja:
DOBIO[jmbg] ⊆ VOJNIK[jmbg] DOBIO[sifra] ⊆ NAGRADNO_ODSUSTVO[sifra]
poveznik KORISCENO:
KORISCENO (id_gadjanja, serijski_broj, vrsta_municije, broj_zrna)
Međurelaciona ograničenja:
KORISCENO[id_gadjanja] ⊆ GADJANJE[id_gadjanja] KORISCENO[serijski_broj] ⊆ ORUZJE[serijski_broj]
PREVOĐENJE TIPOVA GERUNDA
gerund KOMANDUJE:
KOMANDUJE (jmbg, id_gadjanja)
Međurelaciona ograničenja:
KOMANDUJE[jmbg] ⊆ OFICIR[jmbg] KOMANDUJE[id_gadjanja] ⊆ GADJANJE[id_gadjanja]
gerund IZVRSIO:
IZVRSIO (jmbg, id_gadjanja, broj_krugova)
Međurelaciona ograničenja:
IZVRSIO[jmbg] ⊆ VOJNIK[jmbg] IZVRSIO[id_gadjanja] ⊆ GADJANJE[id_gadjanja]
poveznik OCENJUJE:
IZVRSIO (jmbg, id_gadjanja, broj_krugova, jmbg2, kretanje)
Međurelaciono ograničenje:
IZVRSIO[jmbg2, id_gadjanja] ⊆ KOMANDUJE[jmbg, id_gadjanja]
Konačno:
S = { GRAD (ptt, naziv) VOJNA_SKOLA (id_vs, ime, rod, tip) JEDINICA (id_jedinice, naziv, ptt) ORUZJE (serijski_broj, model, kalibar, tip) GADJANJE (id_gadjanja, redni_broj, vrsta) NAGRADNO_ODSUSTVO (sifra, povod, broj_dana) VOJNO_LICE (jmbg, prezime, ime, cin, id_jedinice) OFICIR (jmbg, adresa, formacijsko_mesto) VOJNIK (jmbg, klasa) VPU (jmbg, br_ugovora, adresa) JE_U (ptt, id_vs) ZAVRSIO (id_vs, jmbg, klasa, zavr_ocena) ZADUZIO (jmbg, serijski_broj, datum) DOBIO (jmbg, sifra, datum) KORISCENO (id_gadjanja, serijski_broj, vrsta_municije, broj_zrna) KOMANDUJE (jmbg, id_gadjanja) IZVRSIO (jmbg, id_gadjanja, broj_krugova, jmbg2, kretanje) }
Pripremni materijal za prvi kolokvijum iz predmeta Baze podataka 44
I = { OFICIR[jmbg] ⊆ VOJNO_LICE[jmbg] VOJNIK[jmbg] ⊆ VOJNO_LICE[jmbg] VPU[jmbg] ⊆ VOJNO_LICE[jmbg] JE_U[ptt] ⊆ GRAD[ptt] JE_U[id_vs] ⊆ VOJNA_SKOLA[id_vs] JEDINICA[ptt] ⊆ GRAD[ptt] ZAVRSIO[id_vs] ⊆ VOJNA_SKOLA[id_vs] ZAVRSIO[jmbg] ⊆ VOJNO_LICE[jmbg] VOJNO_LICE[id_jedinice] ⊆ JEDINICA[id_jedinice] ZADUZIO[jmbg] ⊆ VOJNO_LICE[jmbg] ZADUZIO[serijski_broj] ⊆ ORUZJE[serijski_broj] DOBIO[jmbg] ⊆ VOJNIK[jmbg] DOBIO[sifra] ⊆ NAGRADNO_ODSUSTVO[sifra] KORISCENO[id_gadjanja] ⊆ GADJANJE[id_gadjanja] KORISCENO[serijski_broj] ⊆ ORUZJE[serijski_broj] KOMANDUJE[jmbg] ⊆ OFICIR[jmbg] KOMANDUJE[id_gadjanja] ⊆ GADJANJE[id_gadjanja] IZVRSIO[jmbg] ⊆ VOJNIK[jmbg] IZVRSIO[id_gadjanja] ⊆ GADJANJE[id_gadjanja] IZVRSIO[jmbg2, id_gadjanja] ⊆ KOMANDUJE[jmbg, id_gadjanja] }
Pripremni materijal za prvi kolokvijum iz predmeta Baze podataka 45
4.9 ERD zavoda za transfuziju
datumIzbora
upitnikkesaKrvi
sestrapomocnoOs lekar
produkt
radnik
primalac
IS_A
jeUpravnik
punktuira
daje popunjava
vrsiPregled
pregled
davalac
primapraviSe
datumPrest
ime
prezimedatumR
datumZ
mbr
osSkola datumVakc srSkola fakultet
spec
idKesezapremina
datumVaz
pregledaSe
idDav
imeprezime
krGrupa
rhFaktor
godRodj
idPregleda
dijagnoza
datum
krGrupa
rhFaktor
idPrim
ime
prezime
godRodj
idProd
nazivdatPro
datVaz
idUpitnika datum
(1,N)
(0,1)(0,1)
vrstaRadnika
(0,M)
(0,N)
(0,M)
(1,N) (1,1)
(1,1)
(0,N)
(1,1)
(0,N)(1,1)
(0,1)
(1,N)
(0,N)
(1,M)
jeNadredjeni
jePodredjeni
datum
Slika 14: ERD zavoda za transfuziju
PREVOĐENJE TIPOVA ENTITETA kesaKrvi (idKese, zapremina, datumVaz) davalac (idDav, ime, prezime, krGrupa, rhFaktor, godRodj) upitnik (idUpitnika, datum) produkt (idProd, naziv, datPro, datVaz) primalac (idPrim, godRodj, ime, prezime, krGrupa, rhFaktor) pregled (idPregleda, datum, dijagnoza)
PREVOĐENJE SUPERKLASA radnik (mbr, ime, prezime, datumR, datumZ)
PREVOĐENJE PODKLASA pomocnoOs (mbr, osSkola)
Međurelaciono ograničenje:
pomocnoOs[mbr] ⊆ radnik[mbr]
sestra (mbr, datumVakc, srSkola)
Pripremni materijal za prvi kolokvijum iz predmeta Baze podataka 46
Međurelaciono ograničenje:
sestra[mbr] ⊆ radnik[mbr]
lekar (mbr, fakultet, spec)
Međurelaciono ograničenje:
lekar[mbr] ⊆ radnik[mbr]
PREVOĐENJE TIPOVA POVEZNIKA
Poveznik jeUpravnik
jeUpravnik (mbr, mbrUpravnik, datumIzbora, datumPrest)
Međurelaciona ograničenja:
jeUpravnik [mbr] ⊆ radnik[mbr] jeUpravnik [mbrUpravnik] ⊆ radnik[mbr]
Poveznik punktuira
punktuira (mbr, idDav)
Međurelaciona ograničenja:
punktuira[mbr] ⊆ sestra[mbr] punktuira[idDav] ⊆ davalac[idDav]
Poveznik popunjava
upitnik (idUpitnika, datum, idDav)
Međurelaciono ograničenje:
upitnik[idDav] ⊆ davalac[idDav]
Poveznik praviSe
praviSe (idKese, idProd)
Međurelaciona ograničenja:
praviSe[idKese] ⊆ kesaKrvi[idKese] praviSe[idProd] ⊆ produkt[idProd]
PREVOĐENJE TIPOVA GERUNDA
Gerund daje
kesaKrvi (idKese, zapremina, datumVaz, idDav)
Međurelaciono ograničenje:
kesaKrvi[idDav] ⊆ davalac[idDav]
Gerund pregledaSe
pregled (idPregleda, datum, dijagnoza, idDav)
Međurelaciono ograničenje:
pregled[idDav] ⊆ davalac[idDav]
Poveznik prima
prima (idKese, idPrim, datum)
Međurelaciona ograničenja:
prima[idKese] ⊆ kesaKrvi[idKese] prima[idPrim] ⊆ Primalac[idPrim]
Pripremni materijal za prvi kolokvijum iz predmeta Baze podataka 47
Poveznik vrsiPregled
pregled (idPregleda, datum, dijagnoza, idDav, mbr)
Međurelaciono ograničenje:
pregled[mbr] ⊆ lekar[mbr]
Konačno:
S = { kesaKrvi (idKese, zapremina, datumVaz, idDav) davalac (idDav, ime, prezime, krGrupa, rhFaktor, godRodj) upitnik (idUpitnika, datum, idDav) produkt (idProd, naziv, datPro, datVaz) primalac (idPrim, godRodj, ime, prezime, krGrupa, rhFaktor) pregled (idPregleda, datum, dijagnoza, idDav, mbr) radnik (mbr, ime, prezime, datumR, datumZ) pomocnoOs (mbr, osSkola) sestra (mbr, datumVakc, srSkola) lekar (mbr, fakultet, spec) jeUpravnik (mbr, mbrUpravnik, datumIzbora, datumPrest) punktuira (mbr, idDav) praviSe (idKese, idProd) prima (idKese, idPrim, datum)}
I = { pomocnoOs[mbr] ⊆ radnik[mbr] sestra[mbr] ⊆ radnik[mbr] lekar[mbr] ⊆ radnik[mbr] jeUpravnik [mbr] ⊆ radnik[mbr] jeUpravnik [mbrUpravnik] ⊆ radnik[mbr] punktuira[mbr] ⊆ sestra[mbr] punktuira[idDav] ⊆ davalac[idDav] upitnik[idDav] ⊆ davalac[idDav] praviSe[idKese] ⊆ kesaKrvi[idKese] praviSe[idProd] ⊆ produkt[idProd] kesaKrvi[idDav] ⊆ davalac[idDav] pregled[idDav] ⊆ davalac[idDav] prima[idKese] ⊆ kesaKrvi[idKese] prima[idPrim] ⊆ Primalac[idPrim] pregled[mbr] ⊆ lekar[mbr]}