2013-09-16 01_08-baze podataka seminarski rad

21
SVEUČILIŠTE/UNIVERZITET “VITEZ” TRAVNIKU FAKULTET POSLOVNE INFORMATIKE CIKLUS STUDIJA, GODINA STUDIJA: IV CIKLUS, II GODINA SMJER: POSLOVNA INFORMATIKA BAZA PODATAKA-KIKBOX KLUB SEMINARSKI RAD

Upload: armin-strika

Post on 19-Jan-2016

47 views

Category:

Documents


4 download

TRANSCRIPT

Page 1: 2013-09-16 01_08-Baze Podataka Seminarski Rad

SVEUČILIŠTE/UNIVERZITET “VITEZ” TRAVNIKUFAKULTET POSLOVNE INFORMATIKE CIKLUS STUDIJA, GODINA STUDIJA: IV CIKLUS, II GODINASMJER: POSLOVNA INFORMATIKA

BAZA PODATAKA-KIKBOX KLUB

SEMINARSKI RAD

Travnik, 14.9.2013. godine

Page 2: 2013-09-16 01_08-Baze Podataka Seminarski Rad

SVEUČILIŠTE/UNIVERZITET “VITEZ” TRAVNIKUFAKULTET POSLOVNE INFORMATIKE CIKLUS STUDIJA, GODINA STUDIJA: IV CIKLUS, II GODINASMJER: POSLOVNA INFORMATIKA

BAZA PODATAKA-KIKBOX KLUB

SEMINARSKI RAD

IZJAVA: Ja Strika Armin student Sveučilišta/Univerziteta „Vitez“ Travnik, Indeks broj : 0168-10/RPI odgovorno i uz moralnu i akademsku odgovornost izjavljujem da sam ovaj rad izradio potpuno samostalno uz korištenje citirane literature i pomoć profesora odnosno asistenta.

Strika ArminStudent :Strika Armin

Predmet : BAZE PODATAKA

Profesor: Prof. dr Zoran Avramovic

Asistent: Mr Mahir Zaimovic

Page 3: 2013-09-16 01_08-Baze Podataka Seminarski Rad

SADRŽAJUvod............................................................................................................................................1

Predmet, objekt i cilj projektnog zadatka...............................................................................1

Korišteni alati i tehnologije.....................................................................................................1

Struktura rada..........................................................................................................................1

Opis baze podataka i njena namijena..........................................................................................2

SQL KOD ZA KREIRANJE BAZE PODATAKA....................................................................3

Tabela Tamičar.......................................................................................................................3

Tabela Statistika Takmičenja..................................................................................................3

Tabela Takmičenje..................................................................................................................3

Tabela Plasman.......................................................................................................................3

Tabela Spol.............................................................................................................................3

Tabela Škola............................................................................................................................4

ER diagram baze podataka..........................................................................................................4

TIPOVI PODATAKA KORIŠTENI U TABELAMA...............................................................5

Tabela Tamičar.......................................................................................................................5

Tabela Statistika Takmičenja..................................................................................................5

Tabela Takmičenje..................................................................................................................5

Tabela Plasman.......................................................................................................................5

Tabela Spol.............................................................................................................................5

Tabela Škola............................................................................................................................6

SQL KOD ZA POPUNJAVANJE TABELA PODACIMA.......................................................6

Tabela tamkičari......................................................................................................................6

Tabela statistika takmičenja....................................................................................................6

Tabela takmičenje...................................................................................................................7

Tabela plasman.......................................................................................................................7

Tabela spol..............................................................................................................................7

Tabela škola............................................................................................................................8

SQL UPITI NAD POPUNJENIM TABELAMA.......................................................................8

Zaključak...................................................................................................................................13

Page 4: 2013-09-16 01_08-Baze Podataka Seminarski Rad

Uvod

Predmet, objekt i cilj projektnog zadatkaCilj ovog projekta je kreiranje baze podataka kikbox kluba upotrebom SQL jezika na platformi MS SQL Server 2008. Baza podataka treba za sadrži sve informacije o studentu koji trenira. U smislu potrebnih informacija za samog trenera kluba pa i informacija koje su potrebne za prijavu na neki od turnira. Daljnja svrha baze podataka jeste da evidentira sve turnire i samim time i uspijeh na turniru.

Korišteni alati i tehnologijePri izradi i realizaciji ovog projekta korišeni su alati Microsoft SQL Server 2008, koji je instaliran na Microsoft Windows 7 Professional. Kreiranje i realizacije ovog projekta korišten je Microsoft SQL Server Managment Studio. Za pravljenje screen shoot-ova korišten je snipping tool.

Struktura radaStruktura rada je osnovana kao i samo kreiranje baze podataka. To znači da kako teče kreiranje i dorađivanje baze podataka tako je struktuiran i sam rad. Osim uvoda i namijene baze podataka. Prvo što slijedi u radu je izrada tabela koje će se koristiti u bazi podataka. Sa tim je prestavljen i kod kojim je kreirana određena tabela u SQL-u. Drugi dio rada je prestavljanje ER diagrama. Tako da kad se kreiraju tabele pokaže na koji način su one i povezane. Treči dio rada je sastavljen od tabela koje prekazuju koja vrsta podataka je korištena u određenoj tabeli. Četvrti dio rada se odnosi na unos podataka u sve tabela baze podataka pomoču prekazanog koda. Slijediči dio rada predstavlja kreiranje upita za relevantnu bazu podataka. Upiti su tako predstavljeni da je na prvom mijestu prekazan zadatak upita potom kod upita i na kraju rezultat tog upita. U par primjera su predstavljene i neka moguča poboljšanja predstavljanja podataka iz baze podataka. Poslijednji dio ovog rada je zaključak cijelog projekta.

1

Page 5: 2013-09-16 01_08-Baze Podataka Seminarski Rad

OPIS BAZE PODATAKA I NJENA NAMIJENABaza podataka KikBox ima četri funkcije:

- Vođenje podataka o studentima koji treniraju- Vođenje podataka gdije u školu idu- Evidencija učešća na turniraima - Evidencija ostvarenih rezultata.

Prva od dvije glavne tabele baze podataka KikBox kluba jeste tabela tamičar. Koja u sebi sadrži sve relevantne informacije za vezanog takmičara. Koje su potrebne treneru da bih mogao prijaviti takmičara na turnir. Druga duga glavna tebela je tabela statistika takmičenja uz koju dobijamo informacije na kojim turnirima je određeni takmičar bio, da li je ostvario neki uspijeh i na koji datum je to sve bilo. Bit KikBox baze podataka jeste da treneru omogući sve bitnije informacije o takmičaru i njegovom uspijehu.

Namijena BP.KikBoxKlub jeste da uz pravu implementaciju treneru olakša vođenje podataka kluba. Sve potrebne informacije sa kojima trener mog kluba raspolaže o studentima, treninzima, turnirima itd.zapisane su u rokovnik. Tako da sa ovom bazom podataka želim treneru da sa sakupljenim podatcima što lakše raspolaže informacijama i uskratim mu posao prikupljanja podataka o učesniku turnira svaki put iznova.

2

Page 6: 2013-09-16 01_08-Baze Podataka Seminarski Rad

SQL KOD ZA KREIRANJE BAZE PODATAKA

Tabela Tamičarcreatetable Takmicar(IDTakmicar intnotnullprimarykeyidentity,Prezime varchar(50)notnull,Ime varchar(50)notnull,IDSpol intnotnull,DatumRodjenja varchar(10)notnull,ImeOca varchar(50)notnull,ImeMajke varchar (50)notnull,SkolaID intnotnull,Ulica varchar(50)notnull,Broj int,TelefonFiksni varchar(30),TelefonMobilni varchar(35),Slika image,Napomena text,);

Tabela Statistika Takmičenjacreatetable StatistikaTakmicenja(IDStatistika intnotnullprimarykeyidentity,TakmicarID intnotnull,DatumTakmicenja varchar (10)notnull,PlasmanID intnotnull,TakmicenjeID intnotnull,);

Tabela Takmičenjecreatetable Takmicenje(IDTakmicenja intnotnullprimarykeyidentity,Takmicenje varchar(50),);

Tabela Plasmancreatetable Plasman(IDPlasman intnotnullprimarykeyidentity,Plasman intnotnull,);

Tabela Spolcreatetable Spol(IDSpol intnotnullprimarykeyidentity,

3

Page 7: 2013-09-16 01_08-Baze Podataka Seminarski Rad

Spol varchar(2)notnull,);

Tabela Školacreatetable Skola(IDSkola intprimarykeyidentitynotnull,Skola varchar(50),);

ER DIAGRAM BAZE PODATAKA

4

Page 8: 2013-09-16 01_08-Baze Podataka Seminarski Rad

TIPOVI PODATAKA KORIŠTENI U TABELAMA

Tabela Tamičar

Tabela Statistika Takmičenja

Tabela Takmičenje

Tabela Plasman

5

Page 9: 2013-09-16 01_08-Baze Podataka Seminarski Rad

Tabela Spol

Tabela Škola

SQL KOD ZA POPUNJAVANJE TABELA PODACIMA

Tabela tamkičariinsertinto dbo.Takmicar(Prezime,Ime,DatumRodjenja,ImeOca,ImeMajke,Ulica,Broj,TelefonFiksni,TelefonMobilni,IDSpol,SkolaID)values ('Sidik','Dzaja','20-05-1995','Sejo','Selma','slavne brdske brigade','770','208-033','62159726',1,1),('Mirza','Susic','12-01-1993','Huso','Amina','Bosanska','46','211-235','63125654',2,2),('Muharem','Hadjic','06-09-1994','Midhat','Aida','14. septembra ','23','345-254','65156456',3,3)('Aida','Rahmanovic','17-07-1997','Sead','Maja','slavne brdske brigade','740','203-543','62149454',4,4),('Belma','Vincevic','12-2-1993','Esad','Hana','Oborci','5','281-349','65145268',5,5),('Haris','Suljic','20-6-1991','Huso','Hajrija','Mahala','12','234-465','62610620',6,6),('Ahmed','Secic','2-12-1998','Naim','Ena','Mahala','12','245-687','61654582',7,7)('Ivona','Malibasic','29-05-1994','Mirko','Tamara','Bugojanska','11','247-365','64156879',8,8),('Ivan','Gavric','29-09-1991','Sandro','Emanuela','Bugojanska','9','186-845','65168756',9,9),('Amela','Nezic','18-12-1996','Alija','Kasema','Bosanska','47','214-416','61159726',10,10),('Adis','Talam','06-11-1991','Muharem','Alija','Mahala','11','156-456','60148694',11,11),('Edina','Hubljar','22-01-1991','Fahrudin','Jasna','Torlakovac','10','265-455','66149878',12,12),('Denis','Kuric','15-02-1997','Junus','Nada','Kopcic','4','654-165','61112331',13,13),('Ena','Karadza','18-08-1994','Namir','Senada','Bugojanska','16','785-264','62156489',14,14),('Eldar','Tutinic','03-02-1990','Tarik','Fatima','Zlatni ljiljana','10','456-163','61264456',15,15);

6

Page 10: 2013-09-16 01_08-Baze Podataka Seminarski Rad

Tabela statistika takmičenjainsertinto dbo.StatistikaTakmicenja(TakmicarID,DatumTakmicenja,PlasmanID,TakmicenjeID)values (1,'06-04-2011',1,1),(2,'19-02-2012',2,2),(3,'17-10-2012',3,3), (6,'06-04-2011',4,4),(7,'19-02-2012',5,5),(8,'17-10-2012',6,6),(9,'17-10-2012',7,7),(10,'15-06-2012',8,8),(11,'06-04-2011',9,9),(12,'17-10-2012',10,10),(13,'15-05-2012',11,11),(14,'19-02-2012',12,12);

Tabela takmičenjeinsertinto dbo.Takmicenje(Takmicenje)values('Bihac Open'),('Livno Open'),('Sarajevo Open'), ('Bihac Open'),('Livno Open'),('Sarajevo Open'),('Livno Open'),('Posusije Open'),('Bihac Open'),('Sarajevo Open'),('Posusije Open'),('Livno Open');

Tabela plasmaninsertinto dbo.Plasman(Plasman)values('1'),('2'),('3'),('1'),('2'),('3'),('2'),('3'),('1'),('3'),('1'),('3');

Tabela spolinsertinto dbo.Spol(Spol)values('M'),('M'),('M') ('Z'),('Z'),('M'),('M'),('Z'),

7

Page 11: 2013-09-16 01_08-Baze Podataka Seminarski Rad

('M'),('Z'),('M'),('Z'),('M'),('Z'),('M');

Tabela školainsertinto dbo.Skola(Skola)values('Aneks OS'),('MSŠ'),('MSŠ')('Aneks OS'),('MSŠ'),('MSŠ'),('KulaOS'),('MSŠ'),('MSŠ'),('OS Bugojno'),('Gimnazija Bugojno'),('Srednja Tehnicka'),('OS Tranik'),('Medicinska Travnik'),('Medresa Travnik');

SQL UPITI NAD POPUNJENIM TABELAMA1Upit za kreiranje tabele sa imenom prezimenom,datumom takmicenja,takmicenjem i plasmanom.

select dbo.Takmicar.Ime,dbo.Takmicar.Prezime,dbo.StatistikaTakmicenja.DatumTakmicenja,dbo.Takmicenje.Takmicenje,dbo.Plasman.Plasmanfrom dbo.Takmicar,dbo.StatistikaTakmicenja,dbo.Takmicenje,dbo.Plasmanwhere dbo.Takmicar.IDTakmicar=dbo.StatistikaTakmicenja.TakmicarIDand dbo.StatistikaTakmicenja.TakmicenjeID=dbo.Takmicenje.IDTakmicenjaand dbo.StatistikaTakmicenja.PlasmanID=dbo.Plasman.IDPlasman;

8

Page 12: 2013-09-16 01_08-Baze Podataka Seminarski Rad

A u slučaju da nas interesuje samo jedan kriterij od odbaranih onda možemo uraditi slijedeče. Naprimijer potrebna nam je lista svih takmičara koji su se takmičili 19-02-2012 onda dodajemo na ovaj kod gore samo

and dbo.StatistikaTakmicenja.DatumTakmicenja='19-02-2012';

U upitu došlo je do promijena i rezultat sad izgleda ovako

Imamo listu učesnika koji su se takmičili navedenog datuma tj.na turniru Livno Open.

2 Upit ispisati listu turnira bez ponavljanja

selectdistinct Takmicenje.Takmicenjefrom Takmicenje

Ako su nam potrebne neke još informacije kao što su broj takmičara,ond to možemo uraditi na slijedeči način.

selectdistinct Takmicenje.Takmicenje,COUNT(dbo.Takmicenje.Takmicenje)as'broj takmicara'from Takmicenje, dbo.StatistikaTakmicenja,dbo.Plasmanwhere dbo.Takmicenje.IDTakmicenja=dbo.StatistikaTakmicenja.TakmicenjeIDand dbo.StatistikaTakmicenja.PlasmanID=dbo.Plasman.IDPlasmangroupby takmicenjeorderby'broj takmicara'desc;

A rezultat će biti slijedeči:

9

Page 13: 2013-09-16 01_08-Baze Podataka Seminarski Rad

Pored turnira i broja takmičara kojeg smo dobili zbrajanjem svih učesnika na tome turniru bilo bih dobro kad bih mogli vidijeti i kako smo mi prošli na tome turniru sa tim brojem takmičara. A to se može pokazati na slijedeči način.

select dbo.Takmicenje.Takmicenje,COUNT(dbo.Takmicenje.Takmicenje)as'broj takmicara',AVG(dbo.Plasman.Plasman)as'uspijeh'from dbo.Takmicenje,dbo.Plasman,dbo.StatistikaTakmicenjawhere dbo.Takmicenje.IDTakmicenja=dbo.StatistikaTakmicenja.TakmicenjeIDand dbo.StatistikaTakmicenja.PlasmanID=dbo.Plasman.IDPlasmangroupby takmicenjeorderby'broj takmicara'desc;

A rezultat bih bio slijedeči:

Možemo vidijeti da pored broja takmičara sad imamo i uspijeh koji predstavlja prosijek medalja i učesnika

3 Upit

Napraviti tabelu sa svim podatcima koji su potrebni za prijavu takmičara na turnir i informacija koje su potrebne roditeljima i skoli za pravdanje izostanka sa časova.

select dbo.Takmicar.Ime,dbo.Takmicar.Prezime,dbo.Takmicar.DatumRodjenja,dbo.Spol.Spol ,dbo.Takmicar.ImeMajke,dbo.Takmicar.ImeOca,dbo.Skola.Skola,dbo.StatistikaTakmicenja.DatumTakmicenja,dbo.Takmicenje.Takmicenjefrom dbo.Takmicar,dbo.Spol,dbo.Skola,dbo.StatistikaTakmicenja,dbo.Takmicenjewhere dbo.Takmicar.IDSpol=dbo.Spol.IDSpoland dbo.Takmicar.Ime='sidik'and dbo.Takmicar.SkolaID=dbo.Skola.IDSkolaand dbo.Takmicar.IDTakmicar=dbo.StatistikaTakmicenja.TakmicenjeIDand dbo.StatistikaTakmicenja.TakmicenjeID=dbo.Takmicenje.IDTakmicenja;

10

Page 14: 2013-09-16 01_08-Baze Podataka Seminarski Rad

rezultat je slijedeči

4 Upit

Napraviti rang listu takmičara po osvojenim medaljama

select dbo.Takmicar.Ime,dbo.Takmicar.Prezime,MIN(dbo.Plasman.Plasman)as'Rangiranje takmicara'from dbo.Takmicar,dbo.Plasman,dbo.StatistikaTakmicenjawhere dbo.Takmicar.IDTakmicar=dbo.StatistikaTakmicenja.TakmicarIDand dbo.StatistikaTakmicenja.PlasmanID=dbo.Plasman.IDPlasmangroupby plasman,Ime,Prezime;

rezultat izgleda ovako

5 Upit

Napraviti tabelu na kojoj je prekazan broj osvojenih mijesta na turnirima.

select dbo.Plasman.Plasman,COUNT(dbo.Plasman.Plasman)as'broj medalja'from dbo.Plasmangroupby Plasman;

rezultat je slijedeci:

6 Upit

Napraviti tabelu na kojoj su prekazani svi oni u klubu koji nisu bili na turniru.

11

Page 15: 2013-09-16 01_08-Baze Podataka Seminarski Rad

select dbo.Takmicar.IDTakmicarfrom dbo.Takmicarexceptselect dbo.StatistikaTakmicenja.TakmicarIDfrom dbo.StatistikaTakmicenja

Rezultat je slijedeči

Zbog lakšeg upravljanja podatcima ova tabela je i dalje neupotrebljiva jer nam nedaje one informacije koje smo tražili. Sad bih morali otvoriti tabelu takmicari i u njoj tražiti takmicare sa id-om koje imamo u tabeli da bih znali koji su to takmičari. Uz malu modifikaciju to možemo popraviti ovako.

select dbo.Takmicar.IDTakmicar,dbo.Takmicar.Ime,dbo.Takmicar.Prezimefrom dbo.Takmicarexceptselect dbo.StatistikaTakmicenja.TakmicarID,dbo.Takmicar.Ime,dbo.Takmicar.Prezimefrom dbo.StatistikaTakmicenja,dbo.Takmicar

Gdije bih rezultati bio slijedeči

Sad u tabeli imamo ime i prezime osobe koja trenira u klubu a nije bila na turniru.

12

Page 16: 2013-09-16 01_08-Baze Podataka Seminarski Rad

ZAKLJUČAK

Baza podataka KikBoxKlub predstavlja osnovu jedne baze kojom bih se mogle obuhvatiti sve informacije vezane za klub. Sa dodatkom na podijele studenata na naprednije i početnike. Vođenjem podataka lijekarskog pregleda, osiguranja itd. Uz pravu doradu cilj bih se mogao ostvariti. Da bih se ostvarili maksimalni potencijali koje nudi baza podataka potrebno je napraviti GUI/korisnički interfejs. Koji bih mogao da olakša korištenje baze i pojednostavi sve porcese do mijere da bazu mogu koristiti osobe sa manjim informatičkim poznavanjem. Da bih se to ostvarilo potrebno je poznavanje drugih programskih jezika kao sto je Visual Basic.

Baza podataka na kojem je stanju sad može poslužiti jednom klubu oko vođenja osnovnih podataka. U bazu su pretočeni svi podatci od onih koji su potrebni roditeljima. Da znaju gdije je takmičenje itd. Za trenere da mogu prijaviti učesnika a i za škole zbog eventualnih odsutnosti sa nastave.

13