You are on page 1of 26

UNIVERZITET „DŽEMAL BIJEDIĆ“ MOSTAR

FAKULTET INFORMACIJSKIH TEHNOLOGIJA

Predmet: Baze podataka I

Akademska godina: 2017/2018

MUZIČKI STUDIO

Seminarski rad

Nastavnik Student

Prof. dr Emina Junuz Amer Kovač, IB160322

Mostar, 2017. godine


SADRŽAJ

1. Uvod .......................................................................... 3
2. Specifikacija zahtjeva.................................................... 4
3. Analiza problema .......................................................... 5
4. Dizajn baze podataka i korisničkog interfejsa .................... 9
4.1 ER DIJAGRAM ............................................................................................................... 9
4.2 RELACIONI MODEL ................................................................................................... 10
4.3 GRAFIČKI DIZAJN ...................................................................................................... 12
5. Implementacija baze podataka ...................................... 21
5.1 TABELE ......................................................................................................................... 21
6. Testiranje................................................................... 24
7. Verifikacija i validacija .................................................. 24
Zaključak ....................................................................... 25
Literatura ...................................................................... 26
Baze podataka I
Muzički studio
__________________________________________________________________________________
1. Uvod

Muzika se u 21. stoljeću gleda kroz prizmu ogromne industrije. Da bi moderan muzički studio
opstao na tržištu pružatelja usluga potrebno je da njegovo vođenje ide ukorak sa svime što nosi
razvoj tehnologije i povećanje konkurentnosti.

Potrebna je aplikacija koja će voditi brigu o poslovanju studija. Aplikacija koje će brinuti o
zakazanim terminima klijenata, bilo da je u pitanju usluga tipa snimanja, iznajmljivanja opreme
ili iznajmljivanja prostorije. Baza treba da vrši evidenciju kako tehničke opreme tako i
instrumenata na stanju. Dalje, baza podataka koja omogućuje pohranjivanje prostorija studija,
uposlenika i klijenata koji posluju sa studijom itekako može da posluži jer se sa takvom bazom
podataka lahko dokopati podataka o najvjernijem klijentu ili najvrijednijem uposleniku.
Osnovna funkcionalnost baze koju sam kreirao u Microsoft Accessu je zapravo sve gore
navedeno. Izvori informacija u mom slučaju bile su razne web stranice online servisa koje nude
usluge slične opisanim u dokumentu. Stranicama možemo pristupiti preko linkova koje sam
postavio na kraj dokumentacije.

Osim navedenog, dokumentacija provodi čitaoca kroz različite faze razvoja ove aplikacije kao
sto su specifikacija zahtjeva, analizu problema, dizajn baze podataka i korisničkog interfejsa te
uputstvo za korisnike aplikacije.

3
Baze podataka I
Muzički studio
__________________________________________________________________________________
2. Specifikacija zahtjeva

Muzički studio svojim klijentima nudi usluge snimanja, iznajmljivanja opreme i iznajmljivanja
prostorija. Usluga osim jedinstvenog identifikatora mora imati svoju cijenu, informaciju o tome
da li je usluga naplaćena i prostor rezervisan za pisanje napomene u slučaju potrebe. Usluge se
same po sebi razlikuju; usluga snimanja osim navedenih atributa ima određenu vrstu usluge
snimanja, datum početka snimanja, datum završetka snimanja, broj traka koje će se snimati,
uposlenika zaduženog za izvršenje usluge i prostoriju u kojoj se usluga realizuje; uslugu
snimanja može voditi samo jedan uposlenik, dok jedan uposlenik može raditi na više usluga.
Za usluge iznajmljivanja opreme tu su datum iznajmljivanja, datum vraćanja opreme i
informacija da li je oprema vraćena. Jedan instrument ili tehnička oprema može biti iznajmljen
više puta ali i jednim terminom iznajmljivanja može biti iznajmljeno više instrumenata i/ili
tehničke opreme. Opremu čine dvije vrste: instrumenti i tehnička oprema. Kao atribute opreme
potrebno je navesti puni naziv opreme, kvalitet oprema i da li je uopšte dozvoljeno
iznajmljivanje određene opreme. Usluga iznajmljivljivanja prostorije zahtjeva prostoriju a
podaci od značaja su datum iznajmljivanja, vrijeme početka termina i trajanje usluge u satima.
Prostorije imaju svoj id, naziv, opremu smještenu u prostoriji, informaciju o tome da li se gluha
soba nalazi u prostoriji i na kojem spratu se nalazi prostorija.

Klijente čine njihovi identifikatori, ime, prezime, scensko ime, žanrove koje praktikuju i
instrumente koje sviraju. Za uposlenika unosimo njegovo ime i prezime, datum i mjesto
rođenja, instrumente koje svira i zanimanje. Klijent i uposlenik mogu svirati više instrumenata
ali i instrument moze biti sviran od strane više klijenata i uposlenika. Uposlenik može imati
vise zanimanja (nazovimo to i pozicijom) na poslu i jedno zanimanje moze obavljati više
uposlenika. Jedan klijent moze praktikovati vise žanrova; jedan žanr može biti praktikovan od
više klijenata.

4
Baze podataka I
Muzički studio
__________________________________________________________________________________
3. Analiza problema

Osnovu baze predstavljaju usluge koje muzički studio nudi klijentima. Usluge mozemo
predstaviti pod nazivom Termini. Preko jedinstvenog identifikatora TerminID vezom (1, 1)
spaja se sa uslugama. Radi se specijalizacija termina IS_A hijerarhijom, obzirom da imamo
usluge koje se ne podudaraju traženim obilježima. Preslikavanje je totalno i disjunktivno tj.
svi članovi entiteta superklase pripadaju barem jednoj podklasi i presjek članova entiteta je
prazan skup. Nastaju podklase eniteti Termini snimanja, Termini iznajmljivanja opreme i
Termini iznajmljivanja prostorija.

Slika 1 - ER dijagram - Termini

Termini snimanja zahtjeva uposlenika. Uposlenika prepoznajemo kao entitet. Odnos koji bi
najbolje prikazao situaciju među ta dva entitea je jedan naprema više. Na jednom terminu
snimanja može raditi samo jedan uposlenik. Jedan uposlenik može raditi na više termina
snimanja. Termini snimanja zahtjevaju i prostoriju. Takođe prepoznajemo entitet i spajamo ih
vezom jedan naprema više. Osim uposlenika i prostorija, možemo kreirati entitet usluga koji će
predstavljati usluge koje nudi usluga snimanja a to su snimanje, produciranje, master, snimanje
i produciranje, snimanje i master, produciranje i master te na kraju sve tri usluge zajedno koje

5
Baze podataka I
Muzički studio
__________________________________________________________________________________
zahtjeva klijent. Nazovimo entitet UslugeSnimanja te spojimo ga sa TerminomSnimanja vezom
jedan naprema više.

Slika 2 - ER dijagram - Termini snimanja

TerminIznajmljivanjaOpreme zahtjeva povezivanje sa entitetom OpremaNaStanju vezom više


na prema više. Klijent jednom zakazanom uslugom iznajmljivanja može zatražiti iznajmljivanje
više opreme, dok se jedna oprema može iznajmiti više puta. Bitna je informacija da se jedna
oprema ne može iznajmiti više puta u jednom zakazanom terminu.

Slika 3 - ER dijagram - Termini iznjamljivanja opreme

Termini iznajmljivanja prostorija se razlikuje od iznajmljivanja opreme na stanju u tome što


jedan termin može iznajmiti samo jednu prostoriju, pa je relacija među entitetima Termin i
Termin iznajmljivanja prostorije jedan naprema vise.

6
Baze podataka I
Muzički studio
__________________________________________________________________________________

Slika 4 - ER dijagram - Termini iznajmljivanja prostorija

Entiteti Klijent i Termin se vezuju relacijom jedan na prema više. Jedan klijent može da zakaže
više termina, dok se jedan termin svojim identifikatorom vezuje za samo jednog klijenta. Klijent
se vezom više naprema više vezuje sa entitetima Žanr i Insturmenti, obzirom na to jedan klijent
može praktikovati više žanrova i više instrumenata, dok jedan žanr i jedan instrument može biti
praktikovan od više klijenata.

Slika 5 - ER dijagram - Klijenti

Entitet OpremaNaStanju se dijeli IS_A hijerarhijom (1, 1) na dvije podklase tj. preslikavanje je
identično kao i kod termina, totalno i disjunktivno je, svi članovi entiteta superklase pripadaju
barem jednoj podklasi i presjek članova entiteta je prazan skup (TehnickaOpremaNaStanju i

7
Baze podataka I
Muzički studio
__________________________________________________________________________________
InstrumentiNaStanju). Na entitet TehnickaOpremaNaStanju se relacijom jedan naprema vise
vezuje entitet TipTehnickeOpreme, obzirom da je tehnička oprema koja je na stanju moze biti
samo jedan tip opreme (mikrofon, digitalna mikseta, analogna mikseta itd.), dok jedan tip
tehničke opreme može predstavljati vise tehničke opreme na stanju. Identične veze čine entiteti
InstrumentiNaStanju i TipInstrumenta.

Slika 6 - ER dijagram - Oprema na stanju

8
Baze podataka I
Muzički studio
__________________________________________________________________________________
4. Dizajn baze podataka i korisničkog interfejsa
4.1 ER DIJAGRAM

Slika 7 - ER dijagram

9
Baze podataka I
Muzički studio
__________________________________________________________________________________
4.2 RELACIONI MODEL

S={

TERMIN ( TerminID, Cijena, Napomena, Uplaceno, KlijentID),

KLIJENT (KlijentID, Ime, Prezime, ScenskoIme),

UPOSLENIK (UposlenikID, Ime, Prezime, DatumRodjenja, MjestoRodjenja,

TERMIN IZNAJMLJIVANJA OPREME (TerminID, DatumIznajmljivanja, DatumVracanja, Vraceno),

TERMIN IZNAJMLJIVANJA PROSTORIJE (TerminID, DatumIznajmljivanja, VrijemePocetkaTermina,


TrajanjeUSatima, ProstorijaID),

TERMIN SNIMANJA (TerminID, DatumPocetkaSnimanja, DatumZavrsetkaSnimanja, BrojTraka,


ProstorijaID, UslugaSnimanjaID, UposlenikID),

USLUGA SNIMANJA(UslugaSnimanjaID, Naziv usluge),

OPREMA NA STANJU (OpremaID, NazivOpreme, KvalitetOpreme, DozvoljenoIznajmljivanje),

INSTRUMENTI NA STANJU (OpremaID, InstrumenID),

TEHNICKA OPREMA NA STANJU(OpremaID, TehnickaOpremaID),

TIP INSTRUMENTA(InstrumentID, NazivIstrumenta),

TIP TEHNICKE OPREME(TehnickaOpremaID, NazivTehnickeOpreme),

ZANIMANJE(ZanimanjeID, NazivZanimanja),

ZANR(ZanrID, NazivZanra),

PROSTORIJA(ProstorijaID, NazivProstorije, GluhaSoba, Sprat),

IZNAJMLJUJE OPREMU (TerminID, OpremaID)

KLIJENT SVIRA(KlijentID, InstrumentID),

PRAKTIKUJE(KlijentID, ZanrID),

UPOSLENIK SVIRA(UposlenikID, InstrumentID),

ZAPOSLEN NA POZICIJI(UposlenikID, ZanimanjeID),

POSJEDUJE(ProstorijaID, TehnickaOpremaID),

10
Baze podataka I
Muzički studio
__________________________________________________________________________________
I={

TERMIN IZNAJMLJIVANJA OPREME[TerminID] ⊆ TERMIN[TerminID],

TERMIN IZNAJMLJIVANJA PROSTORIJE[TerminID] ⊆ TERMIN[TerminID],

TERMIN SNIMANJA[TerminID] ⊆ TERMIN[TerminID],

INSTRUMENTI NA STANJU[OpremaID] ⊆ OPREMA NA STANJU[OpremaID],

OPREMA NA STANJU[OpremaID] ⊆ OPREMA NA STANJU[OpremaID],

IZNAJMLJUJE OPREMU[TerminID] ⊆ TERMIN IZNAJMLJIVANA OPREME[TerminID],

IZNAJMLJUJE OPREMU[OpremaID] ⊆ OPREMA NA STANJU[OpremaID],

TERMIN IZNAJMLJIVANJA PROSTORIJE[ProstorijaID] ⊆ PROSTORIJA[ProstorijaID],

TERMIN SNIMANJA[ProstorijaID] ⊆ PROSTORIJA[ProstorijaID],

TERMIN SNIMANJA[UslugaSnimanjaID] ⊆ USLUGA SNIMANJA[UslugaSnimanjaID],

TERMIN SNIMANJA[UposlenikID] ⊆ UPOSLENIK[UposlenikID],

TERMIN[KlijentID] ⊆ KLIJENT[KlijentID],

KLIJENT SVIRA[KlijentID] ⊆ KLIJENT[KlijentID],

KLIJENT SVIRA[InstrumentID] ⊆ TIP INSTRUMENTA[InstrumentID],

PRAKTIKUJE[KlijentID] ⊆ KLIJENT[KlijentID],

PRAKTIKUJE[ZanrID] ⊆ ZANR[ZanrID],

UPOSLENIK SVIRA[UposlenikID] ⊆ UPOSLENIK[UposlenikID],

UPOSLENIK SVIRA[InstrumenID] ⊆ TIP INSTRUMENTA[InstrumentID],

ZAPOSLEN NA POZICIJI[UposlenikID] ⊆ UPOSLENIK[UposlenikID],

ZAPOSLEN NA POZICIJI[ZanimanjID] ⊆ ZANIMANJE[ZanimanjeID],

POSJEDUJE[ProstorijaID] ⊆ PROSTORIJA[ProstorijaID],

POSJEDUJE[TehnickaOpremaID] ⊆ TIP TEHNICKE OPREME[TehnickaOpremaID],

INSTRUMENT NA STANJU[InstrumentID] ⊆ TIP INSTRUMENTA[InstrumenID],

TEHNICKA OPREMA NA STANJU[TehnickaOpremaID] ⊆ TIP TEHNICKE OPREME[TehnickaOpremaID],

11
Baze podataka I
Muzički studio
__________________________________________________________________________________
4.3 GRAFIČKI DIZAJN

Slika 8 - Forma - frm_Meni

Pokretanjem aplikacije korisniku se prikazuje glavni meni (slika br. 8); sa čijeg interfejsa
možemo pristupiti glavnim operacijama baze podataka: dodavanje termina, dodavanje tehničke
opreme i instrumenata na stanju, printanju izvještaja, dodavanju klijenata, uposlenika,
prostorija, žanrova i zanimanja. Izlaz iz aplikacije nalazi se u donjem lijevom uglu prozora.
Izlaz iz ostalih formi je u obliku prozora „<Nazad>“ ili u obliku „X“ u gornjem desnom uglu.

Pokretanjem prozorčića „Termini“ aplikacija nam otvara novi prozor u kojem korisnik bira koju
od vrsta usluga zapravo želi da unese (iznajmljivanje opreme, snimanje/produkcija/master i
iznajmljivanje prostorije) (slika br. 9).

12
Baze podataka I
Muzički studio
__________________________________________________________________________________

Slika 9 - Forma - frm_Termini

Slika 10 - Forma - frm_IznajmljivanjeOpreme

13
Baze podataka I
Muzički studio
__________________________________________________________________________________

U slučaju odabira „Iznajmljivanje opreme“ korisnik pritiskom na „Novi unos“ (slika br. 10)
otvara potpuno prazan prozor gdje može iz padajućeg menija da bira klijenta, unese cijenu
termina, po potrebi napomenu i naznači da li je klijent uplatio cijenu usluge. Sredina prozora je
rezervisana za dodavanje iznajmljene opreme gdje biramo opremu, datum iznajmljivanja,
datum vraćanja i informaciju o tome da li je klijent vratio određenu opremu. Klikom na
„Sačuvaj“ spašava se unos i ponovo prikazuje praznu formu za novi unos. Izlaz je u desnom
gornjem uglu prozora.

Slika 11 - Forma - frm_TerminiSnimanja

Kod unosa termina snimanja, bitno je naglasiti da se za razliku od unosa iznajmljene opreme,
unos snimanja odvija na malo drugačiji način. „Novi unos“ „čisti“ prozor, unosimo bitne detalje
u tab „Termin“. Kada završimo sa unosom prelazimo klikom na tab „Detalji Termina“ gdje
unosimo preostale bitne informacije za uslugu. Klikom na „Sačuvaj“ spremamo informacije u
bazu podataka.

14
Baze podataka I
Muzički studio
__________________________________________________________________________________

Slika 12 - Forma - frm_IznajmljivanjeProstorije

Unos termina za iznajmljivanje prostorije je identičan unosu termina za snimanje. Ono što je
bitno naglasiti jeste prozorčić sa tri tačke, koji se može pronaći na više mjesta u aplikaciji,
najčešće pored imena klijenata, opreme ili prostorija. Klikom na ovaj prozorčić otvara nam se
prozor preko kojeg korisnik unosi nove klijente u slučaju da klijent koji zahtjeva uslugu nije
unesen u bazu.

15
Baze podataka I
Muzički studio
__________________________________________________________________________________

Slika 13 - Forma - frm_Klijenti

Unos klijenata (slika br. 13) i uposlenika (slika br. 14) je skoro identičan već objašnjenim
unosima. Ono što je bitno naglasiti da ovdje takođe imamo prozore sa tri tačke, pomoću kojih
mozemo pokrenuti forme za unos tipova instrumenata i žanrova. ID klijenta se automatski
generiše. Na korisniku je da ispuni sve osim ID-a.

16
Baze podataka I
Muzički studio
__________________________________________________________________________________

Slika 14 - Forma - frm_Uposlenici

Slika 15 - Forma - frm_Prostorije

17
Baze podataka I
Muzički studio
__________________________________________________________________________________

Slika 16 - Forma - frm_TehnickaOpremaNaStanju

Slika 17 - Forma - frm_InstrumentiNaStanju

18
Baze podataka I
Muzički studio
__________________________________________________________________________________

Slika 18 - Forma - frm_Izvjestaji_Pretraga

Klikom na neki od prozora unutar prozora „Izvještaji“ (slika br. 18), pokreću se izvještaji
spremni za printanje.

U slučaju da korisnik zahtjeva neki novi žanr, tip instrumenta, zanimanja ili tip opreme pokreću
se sljedeće forme (slika br. 19, slika br. 20, slika br. 21, slika br. 22). Ove forme se mogu pozvati
u glavnom meniju ali i u drugim formama koje zahtjevaju unos ovih podataka u slučaju da
nemamo već unaprijed definisane i tražene podatake. U slučaju da je forma ispunjena, klikom
na „Novi unos“, praznimo sadržaj forme, upisujemo podatak i spašavamo ga klikom na
„Sačuvaj“.

Slika 19 - Forma - frm_Zanrovi

19
Baze podataka I
Muzički studio
__________________________________________________________________________________

Slika 20 - Forma - frm_Instrumenti

Slika 21 - Forma - frm_TehnickaOprema

Slika 22 - Forma - frm_Zanimanja

20
Baze podataka I
Muzički studio
__________________________________________________________________________________

5. Implementacija baze podataka

Ovo poglavlja je rezervisano za tabele i međusobne relacije. Prije nego što se u dokumentaciji
prikažu tabele, njihove nazive polja i tipove podataka, predstavljene su tabele i njihove
međusobne veze (slika br. 23).

Slika 23 - Relacije

5.1 TABELE

Slika 24 – Tabela - Termini

Slika 25 - Tabela - Termini iznajmljivanja prostorija

21
Baze podataka I
Muzički studio
__________________________________________________________________________________

Slika 26 - Tabela - Termini snimanja

Slika 27 - Tabela - Usluge snimanja

Slika 28 - Tabela - Termni iznajmljivanja opreme

Slika 29 - Tabela - Oprema na stanju

Slika 30 - Tabela - Instrumenti na stanju

Slika 31 - Tabela – Instrumenti

22
Baze podataka I
Muzički studio
__________________________________________________________________________________

Slika 32 - Tabela - Tehnicka oprema na stanju

Slika 33 - Tabela - Tehnicka oprema

Slika 34 - Tabela – Klijenti

Slika 35 - Tabela - Klijenti_Instrumenti

Slika 36 - Tabela - Klijenti_Zanrovi

Slika 37 - Tabela – Uposlenici

23
Baze podataka I
Muzički studio
__________________________________________________________________________________

Slika 38 - Tabela – Prostorije

Slika 39 - Tabela - Zanimanja

Slika 40 - Tabela - Žanrovi

6. Testiranje

Za testiranje je potrebno onoliko osoba koliko je potrebno da se pokriju različite starosne dobi,
nivoi obrazovanja i razlicite informatičke sposobnosti korisnika. Nažalost, jedini koji je testirao
ovu aplikaciju je njen kreator što ne može upotpunosti ispuniti očekivanja tek kreirane baze
podataka. Sa druge strane, mnogo truda je uloženo u njeno testiranje gdje je pokušano izimitirati
ponašanje različite vrste korisnika unoseći ispravne i/ili neispravne podatke. Ova vrsta testiranja
je ujedno pomogla i pri otkrivanju nevalidiranih dijelova baze.

7. Verifikacija i validacija

Osnova verifikacije i validacije je odrađena. Baza je verificirana i validirana na način da


korisnik nije u mogućnosti da izmanipuliše podacima koji se pohranjuju i da podaci koji se
unose moraju biti tačno i jasno određeni.

24
Baze podataka I
Muzički studio
__________________________________________________________________________________
Zaključak

Rad na ovom projektu započeo sam početkom novembra. Iako nisam provodio po čitave dane
radeći na njemu, tokom procesa kreiranja i implementacije došao sam do po meni jako bitnih
informacija koje bi mogle biti od pomoći u budućnosti. Shvatio sam da kreirati bazu podataka
nije ni upola lagan zadatak i da iako sam proveo približno dva mjeseca kreirajući, istražujujući
i implementirajući, aplikacija koju sam predstavio u dokumentu nije ni približno gotov
proizvod. Organizacije poput muzičkih studija zahtjevaju ogromnu posvećenost i rad obzirom
na to da se muzička industrija širi na razne načine. Jedan od načina jeste taj da je sve više i više
usluga koje se mogu nuditi klijentima. Uzmimo da su popularni ex-yu bendovi svoje singlove
snimali i producirali čak i po stranim zemljama dok danas skoro svaki iole posvećen muzičar
ima sopstveni studio u sobi. Naravno da i danas domaći bendovi snimaju u stranim zemljama
ali sada je to zbog potpuno drugog razloga. Pomenuti aktivni rast muzičkih studija direktno
utječe i na aplikaciju koja bi vodila brigu o funkcionalnosti studija.

Vrijeme utrošeno na nerviranju i neuspješnom povezivanja tabela, izvještajima koje nikako da


povežem sa upitima i vrijeme na pisanju dokumentacije, koje je mogu reći, uzelo isto onoliko
vremena koliko i sam rad u MS Accessu, dalo je rezultat koji je pred vama. Na neki način,
ponosan što sam priveo kraju svoj prvi ozbiljniji projekat, sa nestprljenjem očekujem od sebe i
od svoje struke još mnogo sličnih zadataka.

25
Baze podataka I
Muzički studio
__________________________________________________________________________________

Literatura

[1] Junuz E., Zabilješke sa predavanja: Baze podataka I, FIT, Mostar, 2016/2017.

[2] YouTube kanal FIT-a (datum pristupa 20.10.2016)

URL: https://www.youtube.com/user/eduFITba

[3] Microsoft Access Support

URL: https://support.office.com/en-us/access

[4] Programming (Youtube kanal)

URL: https://www.youtube.com/channel/UCHt5Fz7cYrQIIw4EyXkkqPQ

[5] Muzički studio – Wikipedia

Linkovi stranica koje nude usluge muzičkog studija:

Studio MC Pavarotti - URL: http://www.mcpavarotti.com/studio.htm

Studio Tempo - URL: http://www.studiotempo.com/

Studio Asfalt - URL: http://www.studioasfalt.com/

Cunami - URL: http://cunamistudio.com/

Muzički studio „Gluha Soba“ - URL: http://www.gluvasoba.com/

STUDIOTON - URL: http://www.studioton.net/

26

You might also like