Post on 06-Feb-2018
TRECI DEO GRADIVA – MODELI PODATAKA
Metode za kreiranje konceptualnog modela podataka:
1. Ciji elementarni podatak - na osnovu naziva pripadnost
2. Gramaticka analiza teksta opisa posla - imenica - entitet, glagol - poveznik
3. Normalizacija skladista podataka
3.1. Prva normalna forma - atomarne vrednosti: jednina, ne naziv kao struktura
3.2. Druga normalna forma - funkcionalna zavisnost u odnosu na identifikaciono obelezje
3.3. Treca normalna forma - tranzitivna zavisnost (prepoznati dodatne sifarnike), izracunljive vrednosti
4. Sintaksna analiza skladista podataka - <> zajedno, {} - 1:M, [] - IS-a
------------------------------
Zadaci:
1. Izvrsiti analizu elementarnih podataka i domena (u tabeli) i sintaksne strukture.
(REZULTAT: MS Word dokument)
2. Kreirati konceptualni model podataka.
a) Na osnovu skupa elementarnih podataka (bez odredjenih funkcionalnih zavisnosti) i sintaksnog
prikaza za dokument ili skladiste podataka kreirati konceptualni model.
b) Na osnovu domena odrediti sifarnike (3nf).
c) Prepoznati greske elementarnih podataka i opisati resenje:
*elementarne podatke u mnozini (1nf)
*elementarne podatke sa nazivom kompozitne strukture (1nf).
*Prepoznati izracunljive vrednosti (3nf).
*Prepoznati dodatne sifarnike (3nf).
d) Odrediti identifikaciona obelezja i funkcionalne zavisnosti (2nf).
(REZULTAT: *. CDM fajl)
3. Kreirani konceptualni model prevesti u fizicki model. Dodati unique indeks za ocuvanje
semanticke jedinstvenosti zapisa. Izmeniti eventualno elementarne podatke zbog migracije
elementarnih podataka.
(REZULTAT: *. PDM fajl)
4. Kreirati objektni model, tj. dijagram klasa. Izvrsiti korekcije tipova i karakteristika relacija.
(REZULTAT: *.OOM fajl)
MATERIJAL ZA ZADATAK
ORGANIZACIONI SISTEM: Muzički festival
OPIS POSLA:
Muzički festival se organizuje svake godine u okviru okupljanja učenika osnovnih i srednjih muzičkih
škola. Nastavnici osnovnih i srednjih muzičkih škola organizuju takmičenja u svojim školama, na osnovu
kojih se biraju predstavnici za muzički festival. Organizator festivala je muzička akademija. Organizator
raspisuje konkurs za prijavljivanje na muzički festival i šalje ga svim muzičkim školama (osnovnim i
srednjim). Škole šalju prijavu na konkurs sa kandidatima za učešće na festivalu. Postoji više kategorija
takmičenja: solo pevanje, pevački kvarteti, pojedinačni instrument, orkestar. Organizator sortira prijave i
na osnovu predloženih naziva kompozicija vrši odabir prijava. Nakon toga, organizator obaveštava škole o
rezultatima odabira prijava – prijemu ili odbijanju, razlozima i podacima o organizaciji festivala.
Organizator odabranim školama dostavlja program rada festivala sa podacima o rasporedu izvođenja
kompozicija. Jedan dan pre početka festivala svi učesnici dolaze na mesto okupljanja učesnika.
Organizator učesnicima saopštava mesto smeštaja i raspored izvođenja. Organizatori putem medija
obaveštavaju potencijalne gledaoce o manifestaciji. Prodaja karata se vrši na odgovarajućim mestima u
gradu. Gledaoci sa kartama prisustvuju izvođenjima kompozicija prema rasporedu. Festival traje više dana.
Svakog dana izvode se kompozicije za određenu kategoriju. Posebno određen žiri od nastavnika muzičke
akademije, srednjih i osnovnih škola ocenjuje svako izvođenje. Po završetku svih izvođenja proglašavaju
se pobednici u svakoj od kategorija. Pobednicima se uručuju nagrade i diplome. Nakon proglašenja
pobednika, pobednici u prostorijama muzičke akademije snimaju pobedničke kompozicije na CD-u koji se
arhivira u arhivi muzičke akademije.
DOKUMENT ZA ANALIZU:
Muzički festival »Karl Orf«
Beograd
PRIJAVA UČESNIKA
datum prijave: 23.1.2007.
ŠKOLA: Osnovna muzička škola »Branko Marković« Pančevo
Nastavnik za komisiju (žiri) za ocenjivanje: Marina Kovač
Prijavljujemo sledeće kandidate:
1. Kategorija »solo pevanje«
kompozicija: »Moderate cantabile«, autor: Marian Dorian
ucenica - Marija Ivanovic
2. Kategorija »pevački kvarteti«
kompozicija: »Joakim Veliki«, autor: Petar Crnjanin
ucenici:
1. Janko Marjanski
2. Marko Markovic
3. Janko Jovanovic
4. Mirko Felbab
3. Kategorija »pojedinačni instrument«
kompozicija: »Jovanka Orleanka«, autor: Flux Boris
instrument: gitara, ucenik: Ivana Cukrov, kompozicija: »Blue Danube«, autor: J.A. Strauss Jr.
4. Kategorija »orkestar«
kompozicija: »Blue Danube«, autor: J.A. Strauss Jr.
instrument: gitara, ucenik: Kristijan Perković
instrument: gitara, ucenik: Jagoda Perković
instrument: violina, ucenik: Ivana Curić
instrument: klavir, ucenik: Ivana Marković
Ukupno ucesnika: 15
Ukupno kompozicija: 5
Direktor škole
______________
SPISAK ELEMENTARNIH PODATAKA SA DOMENIMA
NAZIV TIP DOMEN
Naziv muzickog festivala String 100
Naziv mesta muzickoj festivala Mesta
Datum prijavljivanja skole Datum
Nastavnik
Naziv prijavljene skole
Naziv mesta prijavljene skole Mesta
Ime Nastavnika Komisije
Prezime Nastavnika Komisije
NazivKategorije KategorijeIzvodjenja
NazivKompozicije
ImeAutoraKompozicije
PrezimeAutoraKompozicije
RedniBrojUcenika
ImeUcenika
PrezimeUcenika
PolUcenika Polovi
Ucenici
NazivInstrumenta MuzickiInstrumenti
UkupanBrojUcenika
UkupanBrojKompozicija
Domeni:
Mesta: String [100] („Beograd“, „Pancevo“ …)
KategorijeIzvodjenja: String [60] („solo pevanje“, „pevacki kvarteti“, „pojedinacni instrument“,
“orkestar” )
Polovi: String [1] (“M”, “Z”)
MuzickiInstrumenti: String [60] („gitara“, „violina“, „klavir“ )
SINTAKSNI PRIKAZ STRUKTURE DOKUMENTA:
Prijava_ucesnika: <
<NazivMuzickogFestivala,
NazivMestaMuzickogFestivala
>,
DatumPrijavljivanjaSkole,
<NazivPrijavljeneSkole,
NazivMestaPrijavljeneSkole>,
<ImeNastavnikaKomisije,
PrezimeNastavnikaKomisije>,
{ <NazivKategorije,
<NazivKompozicije,
<ImeAutoraKompozicije,
PrezimeAutoraKompozicije>
>,
{<[NazivInstrumenta],
<PolUcenika,
ImeUcenika,
PrezimeUcenika>>
}
>}
UkupanBrojUcenika,
UkupanBrojKompozicija
>;
#####################################################################################
1. ZADATAK – analiza materijala
#####################################################################################
SPISAK ELEMENTARNIH PODATAKA
NAZIV TIP DOMEN ANALIZA
ELEMENTARNI
H PODATAKA
DOMEN prema
slicnosti naziva i
znacenja
Naziv muzickog festivala String
100
Naziv institucije
Naziv mesta muzickoj
festivala
Mesta
Datum prijavljivanja skole Datum
Nastavnik
slozena struktura
Treba:
Ime Nastavnika
PrezimeNastavnik
a
Naziv prijavljene skole Naziv institucije
Naziv mesta prijavljene skole Mesta
Ime Nastavnika Komisije Ime osobe
Prezime Nastavnika Komisije Prezime osobe
NazivKategorije KategorijeIzvo
djenja
NazivKompozicije
ImeAutoraKompozicije Ime osobe
PrezimeAutoraKompozicije Prezime osobe
RedniBrojUcenika Nije vazan
podatak
(bullets/numberin
g), Ne treba cuvati
u bazi podataka
ImeUcenika Ime osobe
PrezimeUcenika Prezime osobe
PolUcenika Polovi vidimo iz:
ucenica, izveden
podatak
Ucenici
naziv u mnozini,
slozena struktura
od imena i
prezimena
Treba: Ime
Ucenika, Prezime
Ucenika – imamo
vec pa ne pisemo
NazivInstrumenta MuzickiInstru
menti
UkupanBrojUcenika Izracunljivo polje,
moze se izracunati
iz podataka o
ucenicima koji su
prijavljeni, pa ne
treba cuvati u
bazi podataka
UkupanBrojKompozicija Izracunljivo polje,
moze se izracunati
iz podataka o
kompozicijama
koji su
prijavljene, pa ne
treba cuvati u
bazi podataka
Domeni:
Mesta: String [100] („Beograd“, „Pancevo“ …)
KategorijeIzvodjenja: String [60] („solo pevanje“, „pevacki kvarteti“, „pojedinacni instrument“,
“orkestar” )
Polovi: String [1] (“M”, “Z”)
MuzickiInstrumenti: String [60] („gitara“, „violina“, „klavir“ )
Domeni prema slicnosti znacenja:
- Nazivi institucija: String [100]
- Imena osoba: String [50]
- Prezimena osoba: String [60]
- Adrese: String [100]
- E-mailovi: String [70]
- Telefoni: String [60]
- Web adresa: String [100]
SINTAKSNI PRIKAZ STRUKTURE DOKUMENTA
Prijava_ucesnika: <
<NazivMuzickogFestivala,
NazivMestaMuzickogFestivala
>,
DatumPrijavljivanjaSkole,
<NazivPrijavljeneSkole,
NazivMestaPrijavljeneSkole>,
<ImeNastavnikaKomisije,
PrezimeNastavnikaKomisije>,
{ <NazivKategorije,
<NazivKompozicije,
<ImeAutoraKompozicije,
PrezimeAutoraKompozicije>
>,
{<[NazivInstrumenta], -- Opcion podatak, nekad se javlja
<PolUcenika,
ImeUcenika,
PrezimeUcenika>>
}
>}
UkupanBrojUcenika,
UkupanBrojKompozicija
>;
Analiza sintaksne strukture – izdvajamo celine: - Podaci o muzickom festivalu
- Podaci o prijavljivanju skole
- Podaci o skoli
- Podaci o nastavniku za komisiju
- Podaci o izvodjenju
- Podaci o kompoziciji
- Podaci o kompozitoru
- Podaci o ucesniku – podvrsta : ucenik sa instrumentom
#####################################################################################
2. ZADATAK – kreiranje konceptualnog modela podataka
#####################################################################################
NA OSNOVU DOMENA PRAVIMO SIFARNIKE – SIVO
Na osnovu sintaksnog prikaza realizujemo ostale entitete i poveznike.
Nazivi entiteta su u jednini.
nalazi se
Ucestvuje
je poslata
je clan komisije
je prijavljen
se prijavio
tip ucesnika
svira
pripada
ima
se nalazi
Radi u
Jednina
Mesto
ptt
NazivMesta
<pi> Characters (10)
Characters (100)
<M>
<M>
Identifier_1 <pi>
KategorijaIzvodjenja
ID
Naziv
<pi> Characters (5)
Characters (50)
<M>
<M>
Identifier_1 <pi>
Pol
Oznaka
Opis
<pi> Characters (1)
Characters (15)
<M>
<M>
Identifier_1 <pi>
MuzickiInstrument
OznakaInstr
NazivInstrumenta
<pi> Characters (10)
Characters (60)
<M>
<M>
Identifier_1 <pi>
MuzickiFestival
NazivFestivala Characters (100)
Skola
NazivSkole Characters (100)
PrijavaSkole
DatumPrijavlj ivanjaSkole Date
Nastavnik
ImeNastavnika
PrezimeNastavnika
Characters (50)
Characters (50)
Ucesnik
ImeUcenika
PrezimeUcenika
Characters (50)
Characters (60)
PrijavaUcesnika
NazivKompozicije
ImeAutoraKompozicije
PrezimeAutoraKompozicije
Characters (100)
Characters (50)
Characters (50)
UcesnikSaInstrumentom
DALJE JE POTREBNO:
1. Dodati:
a. Identifikaciona obelezja
b. Dodatni atributi – npr. Adresa skole, JMBG nastavnika, JMBG ucenika, Adresa festivala...
2. Podesiti relacije.
Skola ucestvuje -
to je glavna
relacija, ali i
nastavnik je
prijavljen
Diskusija za kardinalitet:
* KARD - REALAN SVET: Da li je ucesnik ako nije prijavljen ? Donja granica 1
* KARD - PODACI: Mora odmah da se unese: moze donja granica 0
nalazi se
Ucestvujeje poslata
je clan komisije
je prijavljen
se prijavio
tip ucesnika
svira
pripada
ima
se nalazi
Radi u
Jednina
Mesto
ptt
NazivMesta
<pi> Characters (10)
Characters (100)
<M>
<M>
Identifier_1 <pi>
KategorijaIzvodjenja
ID
Naziv
<pi> Characters (5)
Characters (50)
<M>
<M>
Identifier_1 <pi>
Pol
Oznaka
Opis
<pi> Characters (1)
Characters (15)
<M>
<M>
Identifier_1 <pi>
MuzickiInstrument
OznakaInstr
NazivInstrumenta
<pi> Characters (10)
Characters (60)
<M>
<M>
Identifier_1 <pi>
MuzickiFestival
IDFestivala
NazivFestivala
AdresaFestivala
TelefonFestivala
EmailFestivala
WebAdresaFestivala
<pi> Characters (5)
Characters (100)
Characters (150)
Characters (100)
Characters (70)
Characters (70)
<M>
<M>
<M>
Identifier_1 <pi>
Skola
IdSkole
NazivSkole
AdresaSkole
TelefonSkole
EmailSkole
WebAdresaSkole
<pi> Characters (10)
Characters (100)
Characters (100)
Characters (50)
Characters (70)
Characters (100)
<M>
<M>
<M>
Identifier_1 <pi>
PrijavaSkole
IDPrijave
DatumPrijavlj ivanjaSkole
<pi> Integer
Date
Identifier_1 <pi>
Nastavnik
JMBGNastavnika
ImeNastavnika
PrezimeNastavnika
EmailNastavnika
AdresaNastavnika
TelefonNastavnika
<pi> Characters (13)
Characters (50)
Characters (50)
Characters (70)
Characters (100)
Characters (70)
<M>
<M>
<M>
Identifier_1 <pi>
Ucesnik
JMBGUcenika
ImeUcenika
PrezimeUcenika
<pi> Characters (13)
Characters (50)
Characters (60)
<M>
<M>
<M>
Identifier_1 <pi>
PrijavaUcesnika
RedniBroj
NazivKompozicije
ImeAutoraKompozicije
PrezimeAutoraKompozicije
<pi> <Undefined>
Characters (100)
Characters (50)
Characters (50)
<M>
<M>
<M>
<M>
Identifier_1 <pi>
UcesnikSaInstrumentom
IZDVOJITI DODATNE SIFARNIKE – KOMPOZITOR, KOMPOZICIJA
Sinonim - Autor
Kompozicije i
Kompozitor
PRIHVATLJIVO
je autorse izvodi
Skola ucestvuje -
to je glavna
relacija, ali i
nastavnik je
prijavljen
Diskusija za kardinalitet:
* KARD - REALAN SVET: Da li je ucesnik ako nije prijavljen ? Donja granica 1
* KARD - PODACI: Mora odmah da se unese: moze donja granica 0
nalazi se
Ucestvujeje poslata
je clan komisije
je prijavljen
se prijavio
tip ucesnika
svira
pripada
ima
se nalazi
Radi u
Jednina
Mesto
ptt
NazivMesta
<pi> Characters (10)
Characters (100)
<M>
<M>
Identifier_1 <pi>
KategorijaIzvodjenja
ID
Naziv
<pi> Characters (5)
Characters (50)
<M>
<M>
Identifier_1 <pi>
Pol
Oznaka
Opis
<pi> Characters (1)
Characters (15)
<M>
<M>
Identifier_1 <pi>
MuzickiInstrument
OznakaInstr
NazivInstrumenta
<pi> Characters (10)
Characters (60)
<M>
<M>
Identifier_1 <pi>
MuzickiFestival
IDFestivala
NazivFestivala
AdresaFestivala
TelefonFestivala
EmailFestivala
WebAdresaFestivala
<pi> Characters (5)
Characters (100)
Characters (150)
Characters (100)
Characters (70)
Characters (70)
<M>
<M>
<M>
Identifier_1 <pi>
Skola
IdSkole
NazivSkole
AdresaSkole
TelefonSkole
EmailSkole
WebAdresaSkole
<pi> Characters (10)
Characters (100)
Characters (100)
Characters (50)
Characters (70)
Characters (100)
<M>
<M>
<M>
Identifier_1 <pi>
PrijavaSkole
IDPrijave
DatumPrijavlj ivanjaSkole
<pi> Integer
Date
Identifier_1 <pi>
Nastavnik
JMBGNastavnika
ImeNastavnika
PrezimeNastavnika
EmailNastavnika
AdresaNastavnika
TelefonNastavnika
<pi> Characters (13)
Characters (50)
Characters (60)
Characters (70)
Characters (100)
Characters (70)
<M>
<M>
<M>
Identifier_1 <pi>
Ucesnik
JMBGUcenika
ImeUcenika
PrezimeUcenika
<pi> Characters (13)
Characters (50)
Characters (60)
<M>
<M>
<M>
Identifier_1 <pi>
PrijavaUcesnika
RedniBroj <pi> <Undefined> <M>
Identifier_1 <pi>
UcesnikSaInstrumentom
Kompozicija
IdKompozicije
NazivKompozicije
<pi> Characters (10)
Characters (100)
<M>
<M>
Identifier_1 <pi>
Kompozitor
IDKompozitora
ImeKompozitora
PrezimeKompozitora
<pi> Characters (10)
Characters (60)
Characters (50)
<M>
<M>
<M>
Identifier_1 <pi>
UNIFORMNOST TIPOVA PODATAKA
- Sva Imena, Prezimena, Adrese, E-mailovi, Web adrese – da budu uskladjeni
KONACAN IZGLED cdm modela:
Sinonim - Autor
Kompozicije i
Kompozitor
PRIHVATLJIVO
je autorse izvodi
Skola ucestvuje -
to je glavna
relacija, ali i
nastavnik je
prijavljen
Diskusija za kardinalitet:
* KARD - REALAN SVET: Da li je ucesnik ako nije prijavljen ? Donja granica 1
* KARD - PODACI: Mora odmah da se unese: moze donja granica 0
nalazi se
Ucestvujeje poslata
je clan komisije
je prijavljen
se prijavio
tip ucesnika
svira
pripada
ima
se nalazi
Radi u
Jednina
Mesto
ptt
NazivMesta
<pi> Characters (10)
Characters (100)
<M>
<M>
Identifier_1 <pi>
KategorijaIzvodjenja
ID
Naziv
<pi> Characters (5)
Characters (50)
<M>
<M>
Identifier_1 <pi>
Pol
Oznaka
Opis
<pi> Characters (1)
Characters (15)
<M>
<M>
Identifier_1 <pi>
MuzickiInstrument
OznakaInstr
NazivInstrumenta
<pi> Characters (10)
Characters (60)
<M>
<M>
Identifier_1 <pi>
MuzickiFestival
IDFestivala
NazivFestivala
AdresaFestivala
TelefonFestivala
EmailFestivala
WebAdresaFestivala
<pi> Characters (5)
Characters (100)
Characters (100)
Characters (60)
Characters (70)
Characters (100)
<M>
<M>
<M>
Identifier_1 <pi>
Skola
IdSkole
NazivSkole
AdresaSkole
TelefonSkole
EmailSkole
WebAdresaSkole
<pi> Characters (10)
Characters (100)
Characters (100)
Characters (60)
Characters (70)
Characters (100)
<M>
<M>
<M>
Identifier_1 <pi>
PrijavaSkole
IDPrijave
DatumPrijavlj ivanjaSkole
<pi> Integer
Date
<M>
<M>
Identifier_1 <pi>
Nastavnik
JMBGNastavnika
ImeNastavnika
PrezimeNastavnika
EmailNastavnika
AdresaNastavnika
TelefonNastavnika
<pi> Characters (13)
Characters (50)
Characters (60)
Characters (70)
Characters (100)
Characters (60)
<M>
<M>
<M>
Identifier_1 <pi>
Ucesnik
JMBGUcenika
ImeUcenika
PrezimeUcenika
<pi> Characters (13)
Characters (50)
Characters (60)
<M>
<M>
<M>
Identifier_1 <pi>
PrijavaUcesnika
RedniBroj <pi> Integer <M>
Identifier_1 <pi>
UcesnikSaInstrumentom
Kompozicija
IdKompozicije
NazivKompozicije
<pi> Characters (10)
Characters (100)
<M>
<M>
Identifier_1 <pi>
Kompozitor
IDKompozitora
ImeKompozitora
PrezimeKompozitora
<pi> Characters (10)
Characters (50)
Characters (60)
<M>
<M>
<M>
Identifier_1 <pi>
#####################################################################################
3. ZADATAK – kreiranje fizickog modela podataka uz dodavanje semantickog indeksa
#####################################################################################
GENERISANJE FIZICKOG MODELA za SQL Server 2008
Sinonim - Autor
Kompozicije i
Kompozitor
PRIHVATLJIVO
Skola ucestvuje -
to je glavna
relacija, ali i
nastavnik je
prijavljen
Diskusija za kardinalitet:
* KARD - REALAN SVET: Da li je ucesnik ako nije prijavljen ? Donja granica 1
* KARD - PODACI: Mora odmah da se unese: moze donja granica 0
Jednina
Mesto
ptt
NazivMesta
char(10)
char(100)
<pk>
KategorijaIzvodjenja
ID
Naziv
char(5)
char(50)
<pk>
Pol
Oznaka
Opis
char(1)
char(15)
<pk>
MuzickiInstrument
OznakaInstr
NazivInstrumenta
char(10)
char(60)
<pk>
MuzickiFestival
IDFestivala
ptt
NazivFestivala
AdresaFestivala
TelefonFestivala
EmailFestivala
WebAdresaFestivala
char(5)
char(10)
char(100)
char(100)
char(60)
char(70)
char(100)
<pk>
<fk>
Skola
IdSkole
ptt
NazivSkole
AdresaSkole
TelefonSkole
EmailSkole
WebAdresaSkole
char(10)
char(10)
char(100)
char(100)
char(60)
char(70)
char(100)
<pk>
<fk>
PrijavaSkole
IDPrijave
IDFestivala
JMBGNastavnika
IdSkole
DatumPrijavlj ivanjaSkole
int
char(5)
char(13)
char(10)
datetime
<pk>
<fk2>
<fk3>
<fk1>
Nastavnik
JMBGNastavnika
IdSkole
ImeNastavnika
PrezimeNastavnika
EmailNastavnika
AdresaNastavnika
TelefonNastavnika
char(13)
char(10)
char(50)
char(60)
char(70)
char(100)
char(60)
<pk>
<fk>
Ucesnik
JMBGUcenika
Oznaka
ImeUcenika
PrezimeUcenika
char(13)
char(1)
char(50)
char(60)
<pk>
<fk>
PrijavaUcesnika
IDPrijave
RedniBroj
IdKompozicije
ID
int
int
char(10)
char(5)
<pk,fk1>
<pk>
<fk3>
<fk2>
UcesnikSaInstrumentom
JMBGUcenika
OznakaInstr
char(13)
char(10)
<pk,fk2>
<fk1>
Kompozicija
IdKompozicije
IDKompozitora
NazivKompozicije
char(10)
char(10)
char(100)
<pk>
<fk>
Kompozitor
IDKompozitora
ImeKompozitora
PrezimeKompozitora
char(10)
char(50)
char(60)
<pk>
se prijavio
JMBGUcenika
IDPrijave
RedniBroj
char(13)
int
int
<pk,fk1>
<pk,fk2>
<pk,fk2>
IZMENE NAZIVA ELEMENTARNIH PODATAKA na strani migriranja – radi boljeg
razumevanja
Mesto
ptt
NazivMesta
char(10)
char(100)
<pk>
KategorijaIzvodjenja
ID
Naziv
char(5)
char(50)
<pk>
Pol
Oznaka
Opis
char(1)
char(15)
<pk>
MuzickiInstrument
OznakaInstr
NazivInstrumenta
char(10)
char(60)
<pk>
MuzickiFestival
IDFestivala
PTTLokacijeFestivala
NazivFestivala
AdresaFestivala
TelefonFestivala
EmailFestivala
WebAdresaFestivala
char(5)
char(10)
char(100)
char(100)
char(60)
char(70)
char(100)
<pk>
<fk>
Skola
IdSkole
ptt
NazivSkole
AdresaSkole
TelefonSkole
EmailSkole
WebAdresaSkole
char(10)
char(10)
char(100)
char(100)
char(60)
char(70)
char(100)
<pk>
<fk>
PrijavaSkole
IDPrijave
IDFestivala
JMBGNastavnika
IdSkole
DatumPrijavlj ivanjaSkole
int
char(5)
char(13)
char(10)
datetime
<pk>
<fk2>
<fk3>
<fk1>
Nastavnik
JMBGNastavnika
IdSkoleZaposlenja
ImeNastavnika
PrezimeNastavnika
EmailNastavnika
AdresaNastavnika
TelefonNastavnika
char(13)
char(10)
char(50)
char(60)
char(70)
char(100)
char(60)
<pk>
<fk>
Ucesnik
JMBGUcenika
OznakaPola
ImeUcenika
PrezimeUcenika
char(13)
char(1)
char(50)
char(60)
<pk>
<fk>
PrijavaUcesnika
IDPrijave
RedniBrojPrijaveUcesnika
IdKompozicije
IDKategorije
int
int
char(10)
char(5)
<pk,fk1>
<pk>
<fk3>
<fk2>
UcesnikSaInstrumentom
JMBGUcenika
OznakaInstrumenta
char(13)
char(10)
<pk,fk2>
<fk1>
Kompozicija
IdKompozicije
IDKompozitora
NazivKompozicije
char(10)
char(10)
char(100)
<pk>
<fk>
Kompozitor
IDKompozitora
ImeKompozitora
PrezimeKompozitora
char(10)
char(50)
char(60)
<pk>
se prijavio
JMBGUcenika
IDPrijave
RedniBrojPrijaveUcesnika
char(13)
int
int
<pk,fk1>
<pk,fk2>
<pk,fk2>
DODAVANJE SEMANTICKOG ALTERNATIVNOG JEDINSTVENOG KLJUCA – Naziv
festivala
#####################################################################################
4. ZADATAK – kreiranje objektnog modela podataka (dijagram klasa) uz podesavanja veza
#####################################################################################
NA OSNOVU KONCEPTUALNOG MODELA GENERISEMO OBJEKTNI MODEL za C#:
1..1
0..*
1..1
0..*
1..1
0..*
0..1
0..*
1..1
0..*
0..1
0..*
1..1
0..*
1..*
0..*
1..1
0..*
1..1
0..*
1..1
0..*
1..10..*
0..1
0..*
Mesto
+
+
ptt
NazivMesta
: string
: string
KategorijaIzvodjenja
+
+
ID
Naziv
: string
: string
Pol
+
+
Oznaka
Opis
: string
: string
MuzickiInstrument
+
+
OznakaInstr
NazivInstrumenta
: string
: string
MuzickiFestival
+
+
+
+
+
+
IDFestivala
NazivFestivala
AdresaFestivala
TelefonFestivala
EmailFestivala
WebAdresaFestivala
: string
: string
: string
: string
: string
: string
Skola
+
+
+
+
+
+
IdSkole
NazivSkole
AdresaSkole
TelefonSkole
EmailSkole
WebAdresaSkole
: string
: string
: string
: string
: string
: string
PrijavaSkole
+
+
IDPrijave
DatumPrijavlj ivanjaSkole
: int
: DateTime
Nastavnik
+
+
+
+
+
+
JMBGNastavnika
ImeNastavnika
PrezimeNastavnika
EmailNastavnika
AdresaNastavnika
TelefonNastavnika
: string
: string
: string
: string
: string
: string
Ucesnik
+
+
+
JMBGUcenika
ImeUcenika
PrezimeUcenika
: string
: string
: string
PrijavaUcesnika
+ RedniBroj : int
UcesnikSaInstrumentom
Kompozicija
+
+
IdKompozicije
NazivKompozicije
: string
: string
Kompozitor
+
+
+
IDKompozitora
ImeKompozitora
PrezimeKompozitora
: string
: string
: string
PODESAVANJE KARAKTERISTIKA VEZA IZMEDJU OBJEKATA:
Kardinalitet je uglavnom dobar, menjamo navigable i Kolekciju(Array Listu)
Bilo je na pocetku:
Nakon korekcije:
Dobro je inicijalno podesavanje za uredjenu listu prijava ucenika u okviru prijave skole:
Konacan izgled objektnog modela:
Muzicki festival moze da sadrzi uredjenu listu prijava u sebi,
pa bi onda bilo da je Prijava skole navigable i ostaje Array List,
ali da li je to prirodno - da Muzicki festival mora da sadrzi u sebi l istu prijava
da bi se smatrao festivalom i da li moze da se unese muzicki festival bez ijedne
prijave
jer tek slede nakon toga.
1..1
0..*
1..1
0..*
1..1
0..*
1..1
0..*
1..1
0..*
1..1
0..*
1..1
0..*
1..*
0..*
1..10..*
1..1
0..*
1..1
0..*
1..1
0..*
1..1
0..*
Mesto
+
+
ptt
NazivMesta
: string
: string
KategorijaIzvodjenja
+
+
ID
Naziv
: string
: string
Pol
+
+
Oznaka
Opis
: string
: string
MuzickiInstrument
+
+
OznakaInstr
NazivInstrumenta
: string
: string
MuzickiFestival
+
+
+
+
+
+
IDFestivala
NazivFestivala
AdresaFestivala
TelefonFestivala
EmailFestivala
WebAdresaFestivala
: string
: string
: string
: string
: string
: string
Skola
+
+
+
+
+
+
IdSkole
NazivSkole
AdresaSkole
TelefonSkole
EmailSkole
WebAdresaSkole
: string
: string
: string
: string
: string
: string
PrijavaSkole
+
+
IDPrijave
DatumPrijavlj ivanjaSkole
: int
: DateTime
Nastavnik
+
+
+
+
+
+
JMBGNastavnika
ImeNastavnika
PrezimeNastavnika
EmailNastavnika
AdresaNastavnika
TelefonNastavnika
: string
: string
: string
: string
: string
: string
Ucesnik
+
+
+
JMBGUcenika
ImeUcenika
PrezimeUcenika
: string
: string
: string
PrijavaUcesnika
+ RedniBroj : int
UcesnikSaInstrumentom
Kompozicija
+
+
IdKompozicije
NazivKompozicije
: string
: string
Kompozitor
+
+
+
IDKompozitora
ImeKompozitora
PrezimeKompozitora
: string
: string
: string