You are on page 1of 28

PANEVROPSKI UNIVERZITET APEIRON

FAKULTET POSLOVNE INFORMATIKE

Redovne studije
Smjer „Poslovna informatika ”

Predmet
Baze Podataka

„Auto škola”
(seminarski rad)

Predmetni nastavnik

Prof. dr Zoran Ž. Avramović, dipl.inž.elek.

Student
Tamara Kuzmić

Index br.88-14/RPI

Banja Luka, avgust 2017.godine


Sadržaj

1. Uvod ............................................................................................................................. 1

2. Namjena baze podataka ................................................................................................ 2

3. Tipovi podataka u bazi ................................................................................................. 3

4. ER dijagram .................................................................................................................. 4

5. Upiti .............................................................................................................................. 5

5.1 Napisati upit kojim se kreira tabela "Vozila". ....................................................... 5

5.2 Napisati upit kojim se spajaju tabeleVozila i Motor Vozila. ................................ 6

5.3 Napisati upit kojim dodajemo atribut "Direktor" u tabelu Auto Skola. ................ 7

5.4 Napisati upit kojim odbacujemo atribut Direktor u tabeli AutoSkola. ................. 8

5.5 Napisati upit kojim se podaju podaci u tabeli "AutoSkola" .................................. 9

5.6 Napisati upit kojim ćemo izbrisati sve podatke unutar tabele AutoSkola, ali na
način da tabela ostaje nepromjenjena. ...................................................................................... 10

5.7 Napisati upit kojim prikazujemo sve podatke iz tabele Instruktori: ................... 11

5.8 Napisati upit kojim pokazujemo Kandidate koji nemaju upisanu Adresu. ......... 12

5.9 Napisati upit kojim tražimo Kandidate kojima broj telefona počinje sa 066. ..... 13

5.10 Napisati upit kojim pokazujemo koji instruktor ima koliko kandidata na obuci.
14

5.11 Napisati upit kojim se briše broj telefona 065/685-148 iz tabele Instruktori. . 15

5.12 Napisati upit kojim se mjenja Adresa u tabeli AutoSkola. .............................. 16

5.13 Napisati upit kojim se pokazuju kandidati koji su rođeni između 1.1.1997. i
1.1.1998. godine korištenjem naredbi between i and................................................................ 17

5.14 Napisati upit kojim ćemo sortirati imena instruktora po abecednom redu. ..... 18

5.15 Napisati upit koji nam daje pogled na tabelu vozila sa tačnim informacijama o
vozilima. 19

5.16 Napisati upit kojim poredimo kolone i redove između tabela instruktori i
kandidati. 20
5.17 Napisati upit u kojiem ćemo podazati u kojem mjesecu su se rodili kandidati 21

5.18 Napisati upit kojim kreiramo uskladištenu proceduru nad tabelom instruktori.
22

5.19 Napisati upit kojim kreiramo pogled na tabelu vozila sa informacijama o vrsti i
motori vozila. 23

5.20 Napisati upit kojim ćemo imena instruktora napisati velikom slovima, prije
adrese napisati "Adresa instruktora: " i poslije datuma rodjenja napisati "Datum rodjenja
instuktora:" 24

6. Slike ............................................................................................................................ 25
1. Uvod

Baza podataka predstavlja skup (kolekciju) strukturiranih informacija. Baze podataka se


projektuju radi upravljanja velikom količinom informacija. U njih se podaci zapisuju na
organizovan i strukturan način, što korisnicima olakšava da ih izdvajaju i njima upravljaju po
potrebi.1

Da bi smo na kvalitetan način vodili evidenciju i da bi smo toj evidenciji mogli pristupati
na različite načine, kao i vršiti izmjene nad njom, na primer, u svrhu izračuna amortizacije ili
ispisivanja lista osnovnih sredstava po različitim kriterijiumima pristupamo izradi baze relacione
baze podataka. Ovakva baza podataka ima i svrhu da korisnici lakše uvode nova osnovna
sredstva u preduzeću kao i da vrše manipulaciju sa njima u smislu zaduženja lokacija ili
zaposlenika tim osnovnim sredstvima.

1
Vidya Vrat Agarwal i James Huddleston ,,Beginning VB 2008 Databases”, ,,Svetlost” Čačak, 2009.

1
2. Namjena baze podataka

Namjena ove baze podataka je vođenje lakše evidencije u auto školi "Volan". U ovoj bazi
se može vidjeti evidencija o samoj auto školi kao i o njihovim instruktorima, takođe će biti
detaljna baza podataka o kandidatima, o kategorijama, testovima, kao i detaljna baza o vozilima
u auto školi.

Ova baza je osnovni primjer baze za neku auto školu i može da se po volji proširuje u više
smjerova, kao što su detaljniji pregledi položenih testova itd.

U ovoj bazi podataka ima devet entiteta:

1. Auto skola,

2. Instruktori,

3. Kandidati,

4. Testovi,

5. Prva pomoc,

6. Kategorije,

7. Vozila,

8. Motor vozila,

9. Vrsta vozila.

2
3. Tipovi podataka u bazi

 int - Predstavlja tip int podataka je primarni cijeli tip podataka u SQL Server i
mogu predstavljati cijele brojeve u zadanom opsegu.
 nchar - Predstavlja znakovni tip podataka fiksne dužine sastavljen od znakova u
Unicode formatu.
 varchar - Predstavlja tekstualni tip podataka i koristi jedan bajt po karakteru,
odnosno od opseg od 0-255 što predstavlja maksimalan broj karaktera koji se
može prikazati
 nvarchar - Predstavlja znakovni tip promjenljive dužine sastavljen od znakova u
Unicode formatu.
 datetime - Predstavlja tip podataka koji prikazuje datum i vrijeme.

3
4. ER dijagram

Slika 1 ER dijagram baze podataka auto škola

Kao što vidimo na slici je predstavljen dijagram baze podataka, i iz dijagramo vidimo
kako su povezani entiteti u bazi podataka.

4
5. Upiti

5.1 Napisati upit kojim se kreira tabela "Vozila".

create table [Vozila]


(
ID_Vozila int NOT NULL IDENTITY (1, 1),
Naziv_Vozila varchar(100) NULL,
Vrsta_Vozila int NULL,
Motor_Vozila int NULL,
Datum_Proizvodnje date NULL,
primary key (ID_Vozila)
);

Kao što vidimo iz koda napravili smo tabelu "Vozila" u kojoj imamo nekoliko atributa i
koja ima primarni kljuc ID_vozila.

5
5.2 Napisati upit kojim se spajaju tabeleVozila i Motor Vozila.

alter table Vozila


add constraint fk
foreign key (Motor_Vozila)
references [Motor Vozila](ID_Motor_Vozila)

Kao što vidimo iz koda tabeli Vozila smo dodali strani ključ Motor_Vozila koji će biti
referenciran na tabelu Motor vozila.

6
5.3 Napisati upit kojim dodajemo atribut "Direktor" u tabelu Auto Skola.

alter table AutoSkola


add Direktor nvarchar(50);

Iz koda vidimo da smo u tabelu AutoSkola dodali atribut Direktor i dodijelili mu nvarchar
tip podataka u dužini od 50 karaktera.

7
5.4 Napisati upit kojim odbacujemo atribut Direktor u tabeli AutoSkola.

alter table AutoSkola


drop column Direktor;

Kao što vidimo uz pomoć naredbe drop column smo odbacili atribud Direktor koji smo
ranije dodali.

8
5.5 Napisati upit kojim se podaju podaci u tabeli "AutoSkola"
Kod upita
insert into AutoSkola (Naziv_Auto_Skole, Adresa, Broj_Telefona, [E-mail], Sajt)
values ('Auto Skola "Volan"', 'Vidovdanska 1', '066/660-066', 'info@auto-skola-
volan.com', 'www.auto-skola-volan.com')

Rezultat:

Slika 2 Popunjavanje tabele AutoSkola

9
5.6 Napisati upit kojim ćemo izbrisati sve podatke unutar tabele AutoSkola, ali na
način da tabela ostaje nepromjenjena.
Kod upita:
truncate table AutoSkola

Naredbom truncate table smo izbrisali sve podatke unutar tabele AutoSkola, i atributi
tabele su ostali nepromjenjeni.

10
5.7 Napisati upit kojim prikazujemo sve podatke iz tabele Instruktori:

select *
from Instruktori

Rezultat:

Slika 3 Prikazivanje svih podataka tabele Instruktori

Korištenjem naredbe "select *" i navođenjem koju tabelu želimo da pregledamo dobijamo
konpletan prikaz te tabele u našem slučaju tabele Instruktori.

11
5.8 Napisati upit kojim pokazujemo Kandidate koji nemaju upisanu Adresu.

select Ime, Prezime, Adresa, Datum_rodjenja from Kandidati


where Adresa IS NULL

Rezultat:

Slika 4 Prikazivanje Kandidata koji nemaju upisanu adresu

12
5.9 Napisati upit kojim tražimo Kandidate kojima broj telefona počinje sa 066.

select Ime, Prezime, Broj_telefona from Kandidati


where Broj_Telefona LIKE '066/%'

Rezultat upita:

Slika 5 Prikaz kandidata kojima broj telefona počinje sa 066

13
5.10 Napisati upit kojim pokazujemo koji instruktor ima koliko kandidata na
obuci.

select Instruktor, count(instruktor) as 'Broj kandidata na obuci'


from Kandidati
group by Instruktor
order by Instruktor

Rezultat upita:

Slika 6 Prikaz koji instruktor ima koliko kandidata na obuci

Iz koda i dobijenog rezultata vidimo da kandidat pod indeksom 1 ima 3 kandidata na


obuci, a kandidati pod indeksom 2 i 3 po 2 kandidata na obuci.

14
5.11 Napisati upit kojim se briše broj telefona 065/685-148 iz tabele Instruktori.

delete from Instruktori


where Broj_telefona = '065/685-148'

Kao što vidimo korištenjem funkcija delete from i where smo izbrisali broj telefona iz
tabele instruktori.

15
5.12 Napisati upit kojim se mjenja Adresa u tabeli AutoSkola.

update AutoSkola
set Adresa = 'Vidovdanska 1, Banja Luka'
where ID_AutoSkola = 1

Rezultat:

Slika 7 Upit kojim smo promjenili adresu u tabeli AutoSkola

16
5.13 Napisati upit kojim se pokazuju kandidati koji su rođeni između 1.1.1997. i
1.1.1998. godine korištenjem naredbi between i and.

select Ime, Prezime, Datum_Rodjenja


from Kandidati
where Datum_Rodjenja BETWEEN '1-1-1997' AND '1-1-1998'

Rezultat upita:

Slika 8 Prikazivanje kandidata rođenih između 1.1.1997 i 1.1.1998.

17
5.14 Napisati upit kojim ćemo sortirati imena instruktora po abecednom redu.
select Ime, Prezime
from Instruktori
order by ime asc

Rezultat upita:

Slika 9 Sortirana imena instruktora

18
5.15 Napisati upit koji nam daje pogled na tabelu vozila sa tačnim informacijama o
vozilima.
Kod upita:
SELECT dbo.Vozila.Naziv_Vozila, dbo.VrstaVozila.Vrsta_Vozila, dbo.[Motor
Vozila].Vrsta_Motora, dbo.Kategorija.Kategorija
FROM dbo.Kategorija INNER JOIN
dbo.Vozila ON dbo.Kategorija.Vozilo = dbo.Vozila.ID_Vozila INNER
JOIN
dbo.[Motor Vozila] ON dbo.Vozila.Motor_Vozila = dbo.[Motor
Vozila].ID_Motor_Vozila INNER JOIN
dbo.VrstaVozila ON dbo.Vozila.Vrsta_Vozila =
dbo.VrstaVozila.ID_Vrsta_Vozila

Rezultat upita:

Slika 10 Prikazivanje tabele Vozila sa svim informacijama

19
5.16 Napisati upit kojim poredimo kolone i redove između tabela instruktori i
kandidati.

select ID_instruktor
from Instruktori
intersect
select Instruktor
from Kandidati

Slika 11 Presjek tabela instuktori i kandidati

Kao što vidimo iz rezultata upita, instruktor sa indeksom 4 nema ni jednog kandidata na
obuci, dok ostala tri instruktora imaju kandidate na obuci.

20
5.17 Napisati upit u kojiem ćemo podazati u kojem mjesecu su se rodili kandidati

select datename(month, Datum_Rodjenja) as Mjesec_rodjenja


from Kandidati

Rezultat upita:

Slika 12 Mjeseci u kojima su rodjeni kandidati

21
5.18 Napisati upit kojim kreiramo uskladištenu proceduru nad tabelom instruktori.
Kod upita:
create procedure [Svi Instruktori]
as
begin
select Ime, Prezime, Adresa, Datum_Rodjenja, Broj_telefona, [E-mail]
from Instruktori
end
exec [Instruktori]

22
5.19 Napisati upit kojim kreiramo pogled na tabelu vozila sa informacijama o vrsti i
motori vozila.

create view [Vozila, vrsta i motor vozila] as


SELECT dbo.Vozila.Naziv_Vozila, dbo.VrstaVozila.Vrsta_Vozila, dbo.[Motor
Vozila].Vrsta_Motora
FROM dbo.[Motor Vozila] INNER JOIN
dbo.Vozila ON dbo.[Motor Vozila].ID_Motor_Vozila =
dbo.Vozila.Motor_Vozila INNER JOIN
dbo.VrstaVozila ON dbo.Vozila.Vrsta_Vozila =
dbo.VrstaVozila.ID_Vrsta_Vozila

Rezultat:

Slika 13 Kreiranje pogleda Vozila, vrsta i motor vozila

23
5.20 Napisati upit kojim ćemo imena instruktora napisati velikom slovima, prije
adrese napisati "Adresa instruktora: " i poslije datuma rodjenja napisati
"Datum rodjenja instuktora:"
Kod upita:
select
upper (Ime) as [Ime_instruktora],
'Adresa instruktora: ' + convert(varchar, Adresa) as [Adresa],
convert(varchar, Datum_rodjenja) + ' datum rodjenja instruktora' as Datum_Rodjenja
from Instruktori

Rezultat upita:

Slika 14 Korištenje jezičkih funkcija

Kao što vidimo iz upita ime instruktora smo napisali velikim slovima uz pomoć funkcije
upper, i korištenjem funkcije convert smo dodali string ispred adrese i istom funkcijom dodali
string poslije datuma rođenja instruktora.

24
6. Slike

Slika 1 ER dijagram baze podataka auto škola................................................................... 4

Slika 2 Popunjavanje tabele AutoSkola.............................................................................. 9

Slika 3 Prikazivanje svih podataka tabele Instruktori ...................................................... 11

Slika 4 Prikazivanje Kandidata koji nemaju upisanu adresu ............................................ 12

Slika 5 Prikaz kandidata kojima broj telefona počinje sa 066 .......................................... 13

Slika 6 Prikaz koji instruktor ima koliko kandidata na obuci........................................... 14

Slika 7 Upit kojim smo promjenili adresu u tabeli AutoSkola ......................................... 16

Slika 8 Prikazivanje kandidata rođenih između 1.1.1997 i 1.1.1998. .............................. 17

Slika 9 Sortirana imena instruktora .................................................................................. 18

Slika 10 Prikazivanje tabele Vozila sa svim informacijama ............................................ 19

Slika 11 Presjek tabela instuktori i kandidati ................................................................... 20

Slika 12 Mjeseci u kojima su rodjeni kandidati ............................................................... 21

Slika 13 Kreiranje pogleda Vozila, vrsta i motor vozila .................................................. 23

Slika 14 Korištenje jezičkih funkcija................................................................................ 24

25

You might also like