49
Zadaci za pripremu prvog kolokvijuma iz Baza podataka Zrenjanin, 2004.

UBP_Priprema ispita

Embed Size (px)

DESCRIPTION

uvod u baze

Citation preview

Zadaci

za pripremu prvog kolokvijuma iz Baza podataka

Zrenjanin, 2004.

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

EMAIL

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

eMail

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]}