You are on page 1of 19

SVEUILITE/ UNIVERZITET VITEZ U TRAVNIKU

FAKULTET POSLOVNE INFORMATIKE U TRAVNIKU


TRAVNIK

GORAN MILI

BAZA PODATAKA HONORARI AUTORA MAGAZINA INFO


SEMINARSKI RAD

TRAVNIK, 2012.

SVEUILITE/ UNIVERZITET VITEZ U TRAVNIKU


FAKULTET POSLOVNE INFORMATIKE U TRAVNIKU
TRAVNIK

BAZA PODATAKA HONORARI AUTORA MAGAZINA INFO


SEMINARSKI RAD

IZJAVA:
Ja, Goran Mili, student Sveuilita/Univerziteta VITEZ Travnik, Index broj:
FIP 0020/10 DIT, odgovorno i uz moralnu i akademsku odgovornost
izjavljujem da sam ovaj rad izradio potpuno samostalno uz koritenje citirane
literature i pomo asistenta odnosno profesora.
Potpis:

Predmet:

BAZE PODATAKA

Mentor:

Prof. dr Zoran Avramovi

Asistent:

Mr Mahir Zaimovi

Student:

Goran Mili

Broj indeksa:

FPI 0020/10DIT

Smjer:

Informacijske tehnologije
TRAVNIK, APRIL 2012.

SADRAJ

UVOD .................................................................................................................... 1
1.1

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

1.2

Koriteni alati i tehnologije............................................................................. 1

1.3

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

NAMJENA I OPIS BAZE PODATAKA .............................................................. 2

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


3.1

Tabela Autori .................................................................................................. 3

3.2

Tabela Magazin............................................................................................... 3

3.3

Tabela Tekstovi............................................................................................... 3

3.4

Tabela Opstine ................................................................................................ 4

3.5

Tabela Banke .................................................................................................. 4

3.6

Tabela Rubrike ................................................................................................ 4

ER DIJAGRAMI BAZE PODATAKA ................................................................. 5

TIPOVI PODATAKA KORITENI U TABELAMA .......................................... 6

5.1

Tabela Autori .................................................................................................. 6

5.2

Tabela Magazin............................................................................................... 6

5.3

Tabela Tekstovi............................................................................................... 7

5.4

Tabela Opstine ................................................................................................ 7

5.5

Tabela Banke .................................................................................................. 7

5.6

Tabela Rubrike ................................................................................................ 7

SQL KOD ZA POPUNJAVANJE TABELA PODACIMA .................................. 8


6.1

Tabela Autori .................................................................................................. 8

6.2

Tabela Magazin............................................................................................... 8

6.3

Tabela Tekstovi............................................................................................... 9

6.4

Tabela Opstine .............................................................................................. 10

6.5

Tabela Banke ................................................................................................ 10

6.6
7

Tabela Rubrike .............................................................................................. 10

SQL UPITI NAD POPUNJENIM TABELAMA ................................................ 11


7.1

Upit #1 .......................................................................................................... 11

7.2

Upit #2 .......................................................................................................... 11

7.3

Upit #3 .......................................................................................................... 12

7.4

Upit #4 glavni upit ..................................................................................... 13

ZAKLJUAK ...................................................................................................... 14

LITERATURA..................................................................................................... 15

1 UVOD
1.1 Predmet, objekt i cilj projektnog zadatka
Cilj ovog projektnog zadatke je kreiranje baze podataka Honorari Autora Magazina
Info koritenjem SQL jezika na platformi MS SQL Server 2008. Baza podataka treba da
sadri sve relevantne podatke kako bi se mogla voditi evidencija: o objavljenim
tekstovima u magazinu Info, o autorima koji su objavljivali tekstove u magazinu Info, te
o ostvarenim honorarima za napisane tekstove svakog od autora.
1.2 Koriteni alati i tehnologije
Za potrebe realizacije ovog projektnog zadataka koriten je alat Microsoft SQL
Server 2008, koji je instaliran na operativni sistem Microsoft Windows Server 2008.
Pristup bazi podataka za administraciju i menadment je obavljan sa klijentskog
operativnog sistema Microsoft Windows 2008. Koriteni su alati Microsoft SQL Server
Management Studio i SQL Server Configuration Manager. Za crtanje ER dijagrama
baze podataka koriten je Microsoft Visio 2007.
1.3 Struktura rada
U uvodnom dijelu ovog rada navedeni su predmet i cilj rada, opis koritenih alata i
tehnologija, kao i struktura rada.
U drugom dijelu ovog rada opisana je namjena baze podataka, te su opisane osnovne
karakteristike baze podataka Honorari Autora Magazina Info.
Trei dio rada daje prikaz SQL naredbi koritenih za kreiranje potrebnih tabela u bazi
podataka Honorari Autora Magazina Info.
U etvrtom dijelu je prikazan ER dijagram baze podataka Honorari Autora Magazina
Info.
Peti dio je posveen koritenim tipovima podataka, dok se u estom dijelu navode
SQL komande koritene za popunjavanje baze podataka.
U sedmom dijelu su prikazani SQL upiti koji su zapravo i svrha itavog kreiranja
baze podataka Honorari Autora Magazina Info.
Na samom kraju dat je popis literature koja je koriten prilikom izrade rada.
1

2 NAMJENA I OPIS BAZE PODATAKA


Baza podataka Honorari Autora Magazina Info ima etiri osnovna zadatka:

Voenje evidencije o autorima Info magazina;

Voenje evidencije o objavljenim tekstovima;

Pregled objavljenih tekstova za pojedinog autora;

Izraun autorskih honorara na osnovu broja objavljenih stranica i kvalitete


tekstova.

Da bi podrala postavljenje zadatke u bazi Honorari Autora Magazina Info je


kreirano ukupno pet tabela.
Tabela Autori je jedna od dvije osnovne tabele. Ona sadri sve podatke potrebne za
komunikaciju i rad sa autorom: e-mail adresu, telefon, adresu stanovanja, te podatke o
banci radi uplate honorara.
Polje CijenaStranice u ovoj tabeli sadri visinu honorara za jednu objavljenu stranicu
zavisno od kvalitete tekstova koje autor pie, a to odreuje redakcijski kolegiji.
Primarni klju ove tabele je AutorID.
Tabela Tekstovi je druga osnovna tabele baze podataka Honorari Autora Magazina
Info. Ona sadri podatke o objavljenim tekstovima: naslov, podnaslov, rubriku u kojem
je tekst objavljen, te duinu teksta u stranicama.
Ova tabela sadri polja AutorTekstaID i ObjavljenoMagazinID, koja slue za
povezivanje za tabelama Autori i Magazin.Primarni klju ove tabele je polje TekstID.
Tabela Magazin sadri osnovne podatke o izdanjima magazina: godinu izdanja,
mjesec izdanja i ukupni broj stranica magazina.
Primarni klju ove tabele je polje MagazinID koje predstavlja broj izdanja, pa se
zbog toga ne generie automatski ve se unosi.
Tri tabele Banke, Rubrike i Opstine su pomone i sadre izdvojene podatke koji se
ponavljaju. Ove tri tabele su rezultat normalizacije baze podataka Honorari Autora
Magazina Info.

3 SQL KOD ZA KREIRANJE TABELA BAZE PODATAKA


3.1 Tabela Autori
CREATE TABLE Autori (
AutorID INT NOT NULL PRIMARY KEY IDENTITY,
Ime NVARCHAR(20) NOT NULL,
Prezime NVARCHAR(20) NOT NULL,
Email VARCHAR(20) NOT NULL,
Telefon VARCHAR(12) NOT NULL,
Opstina INT NOT NULL,
Adresa NVARCHAR(30) NOT NULL,
JMBG VARCHAR(15) NOT NULL,
Banka INT NOT NULL,
BrojRacuna VARCHAR(20) NOT NULL,
BrojZiroRacuna VARCHAR(20) NOT NULL,
CijenaStranice FLOAT NOT NULL,
);
3.2 Tabela Magazin
CREATE TABLE Magazin (
MagazinID INT NOT NULL PRIMARY KEY IDENTITY,
Godina VARCHAR(4) NOT NULL,
Mjesec VARCHAR(2) NOT NULL,
UkupnoStrana INT NOT NULL,
);
3.3 Tabela Tekstovi
CREATE TABLE Tekstovi (
TekstID INT NOT NULL PRIMARY KEY IDENTITY,
Naslov NVARCHAR(20) NOT NULL,
Podnaslov NVARCHAR(100) NOT NULL,
3

Rubrika INT NOT NULL,


DuzinaTeksta INT NOT NULL,
AutorTekstaID INT NOT NULL,
ObjavljenoMagazinID INT NOT NULL,
);
3.4 Tabela Opstine
CREATE TABLE Opstine (
OpstinaID INT NOT NULL PRIMARY KEY IDENTITY,
NazivOpstine NVARCHAR(20) NOT NULL,
);
3.5 Tabela Banke
CREATE TABLE Banke (
BankaID INT NOT NULL PRIMARY KEY IDENTITY,
NazivBanke NVARCHAR(20) NOT NULL,
);

3.6 Tabela Rubrike


CREATE TABLE Rubrike (
RubrikaID INT NOT NULL PRIMARY KEY IDENTITY,
NazivRubrike NVARCHAR(20) NOT NULL,
);

4 ER DIJAGRAM BAZE PODATAKA

Slika 1 - Shema baze podataka Honorari Info Magazin.

5 TIPOVI PODATAKA KORITENI U TABELAMA

5.1 Tabela Autori


Atribut

Tip

AutorID

integer

Ime

nvarchar(20)

Prezime

nvarchar(20)

Email

varchar(20)

Telefon

varchar(12)

Opstina

integer

Adresa

nvarchar(30)

JMBG

varchar(15)

Banka

integer

BrojRacuna

varchar(20)

BrojZiroRacuna

varchar(20)

CijenaStranice

float

5.2 Tabela Magazin


Atribut

Tip

MagazinID

integer

Godina

varchar(4)

Mjesec

varchar(2)

UkupnoStrana

float

5.3 Tabela Tekstovi


Atribut

Tip

TekstID

integer

Naslov

nvarchar(20)

Podnaslov

nvarchar(100)

Rubrika

integer

DuzinaTeksta

float

AutorTekstaID

integer

ObjavljenoMagazinID

integer

5.4 Tabela Opstine


Atribut

Tip

OpstinaID

integer

NazivOpstine

nvarchar(20)

5.5 Tabela Banke


Atribut

Tip

BankaID

integer

Nazivbanke

nvarchar(20)

5.6 Tabela Rubrike


Atribut

Tip

RubrikaID

integer

NazivRubrike

nvarchar(20)

6 SQL KOD ZA POPUNJAVANJE TABELA PODACIMA

6.1 Tabela Autori

INSERT INTO Autori (Ime, Prezime, Email, Telefon, Opstina, Adresa, JMBG,
Banka, BrojRacuna, BrojZiroRacuna, CijenaStranice)
VALUES
('Goran', 'Mili', 'gmilic@info.ba', '062/345-901', 1, 'Gradaaka 27', '280997617003',
1, '85976423', '160000000782', 35),
('Senad', 'Kari', 'senad@info.ba', '065/846-762', 2, 'Bojnika 13', '210981617042', 1,
'12312546', '1792000000043', 30),
('Maid',

'Luki',

'maid@info.ba',

'061/597-984',

3,

'Trg

nezavisnosti

12',

'23454534345', 1, '3463473457', '2100004000023', 35),


('Tarik',

'Skoki',

'tarik@info.ba',

'035/789-358',

1,

'Cvjetna

ulica

21',

'126543456345', 2, '658765823', '16000000000534', 25),


('Ana', 'Zari', 'ana@info.ba', '033/564-876', 2, 'Emila Zole 12', '63456345773', 2,
'345634563456', '160000234534', 30),
('Dragan',

'Lopot',

'dragan@info.ba',

'061/795-654',

3,

'Marala

Tita 132',

'13453436453', 3, '4325345253', '2123452345623', 35);

6.2 Tabela Magazin

SET IDENTITY_INSERT Magazin ON


INSERT INTO Magazin (MagazinID, Godina, Mjesec, UkupnoStrana)
VALUES
(171, 2012, 4, 112),
(170, 2012, 3, 128),
(169, 2012, 2, 128),
8

(168, 2012, 1, 128),


(167, 2011, 12, 128),
(166, 2011, 11, 128),
(165, 2011, 10, 128),
(164, 2011, 09, 112),
(162, 2011, 07, 136),
(161, 2011, 06, 128),
(160, 2011, 05, 128);

Napomena: opcija IDENTITY_INSERT je ukljuena zbog runog unoenja


primarnih kljueva kako bi njihovi brojevi odgovarali stvarnom broju magazina.
Opasnost od duplicirana je minimalna poto se tek po jedan magazin unosi svaki mjesec,
a brojevi magazina su svakako jedinstveni.

6.3 Tabela Tekstovi

INSERT

INTO

Tekstovi

(Naslov,

Rubrika,

DuzinaTeksta,

AutorTekstaID,

ObjavljenoMagazinID, Podnaslov)
VALUES
('Canon FG34', 1, 2, 1, 171, 'Lorem ipsum dolor sit amet'),
('Epson TRG12', 1, 3, 1, 170, 'Lorem ipsum dolor sit amet'),
('Nikon RZEO12', 1, 1, 1, 169, 'Lorem ipsum dolor sit amet'),
('Acer 2376', 1, 2, 2, 171, 'Lorem ipsum dolor sit amet'),
('Firefox', 2, 2, 2, 170, 'Lorem ipsum dolor sit amet'),
('Google Chrome', 2, 2, 2, 169, 'Lorem ipsum dolor sit amet'),
('Internet Explorer 10', 2, 2, 1, 171, 'Lorem ipsum dolor sit amet'),
('MS Office 2012', 3, 4, 3, 171, 'Lorem ipsum dolor sit amet'),
('Windows 8', 3, 8, 1, 170, 'Lorem ipsum dolor sit amet'),
('Avira antivirus', 3, 2, 3, 169, 'Lorem ipsum dolor sit amet'),
9

('Windows Server 2012', 3, 4, 1, 170, 'Lorem ipsum dolor sit amet'),


('Ubuntu Linux', 3, 5, 2, 169, 'Lorem ipsum dolor sit amet'),
('Comodo Firewall', 3, 1, 3, 171, 'Lorem ipsum dolor sit amet'),
('Adobe Photoshop', 3, 3, 2, 169, 'Lorem ipsum dolor sit amet');

6.4 Tabela Opstine


INSERT INTO Opstine (NazivOpstine)
VALUES ('Centar'), ('Tuzla'), ('Mostar'), ('Novi Grad');

6.5 Tabela Banke


INSERT INTO Banke (NazivBanke)
VALUES ('Raiffeisen'), ('UniCredit'), ('Tuzlanksa banka'), ('Volks Bank');

6.6 Tabela Rubrike


INSERT INTO Rubrike (NazivRubrike)
VALUES ('Hardver'), ('Internet'), ('Softver'), ('Vijesti');

10

7 SQL UPITI NAD POPUNJENIM TABELAMA

7.1 Upit #1
Upit koji kao rezultat daje popis tekstova, autora i duzine teksta iz broja 171:
SELECT Autori.Ime, Autori.Prezime, Tekstovi.Naslov, Tekstovi.DuzinaTeksta
FROM Autori INNER JOIN Tekstovi
ON Autori.AutorID = Tekstovi.AutorTekstaID
WHERE Tekstovi.ObjavljenoMagazinID = '171'
Rezultat:
Ime

Prezime

Naslov

DuzinaTeksta

---------------- ------------------ ------------------ ---------------------Goran

Mili

Canon FG34

Senad

Kari

Acer 2376

Goran

Mili

Internet Explorer 10

Maid

Luki

MS Office 2012

Maid

Luki

Comodo Firewall

7.2 Upit #2
Upit koji kao rezultat daje popis svih tekstova jednog autora (Goran Mili):
SELECT Tekstovi.Naslov, Tekstovi.DuzinaTeksta, Tekstovi.ObjavljenoMagazinID
FROM Autori INNER JOIN Tekstovi
ON Autori.AutorID = Tekstovi.AutorTekstaID
WHERE Autori.Ime = 'Goran' AND Autori.Prezime = 'Mili'

11

Rezultat:
Naslov

DuzinaTeksta ObjavljenoMagazinID

--------------------

------------

---------------------------

Canon FG34

171

Epson TRG12

170

Nikon RZEO12

169

Internet Explorer 10

171

Windows 8

170

Windows Server 2012

170

7.3 Upit #3
Upit koji kao rezultat daje prosjean broj strana koje autor pie u magazinu:
SELECT Autori.Ime, Autori.Prezime, AVG(Tekstovi.DuzinaTeksta) AS 'Prosjecno
strana'
FROM Autori INNER JOIN Tekstovi
ON Autori.AutorID = Tekstovi.AutorTekstaID
GROUP BY Autori.Ime, Autori.Prezime
Rezultat:
Ime

Prezime

Prosjecno strana

-------------------- -------------------- ---------------Senad

Kari

Maid

Luki

Goran

Mili

12

7.4 Upit #4 glavni upit


Upit koji kao rezultat daje ukupnu sumu honorara autora Goran Mili za broj 171:
SELECT Autori.Ime, Autori.Prezime, SUM(Tekstovi.DuzinaTeksta) AS 'Ukupno
Strana', Autori.CijenaStranice AS 'Cijena po stranici', SUM(Tekstovi.DuzinaTeksta) *
Autori.CijenaStranice AS 'Ukupni honorar'
FROM Autori INNER JOIN Tekstovi
ON Autori.AutorID = Tekstovi.AutorTekstaID
WHERE

Autori.Ime

'Goran'

AND

Autori.Prezime

'Mili'

AND

Tekstovi.ObjavljenoMagazinID= 171
GROUP BY Autori.Ime, Autori.Prezime, Autori.CijenaStranice
Rezultat:
Ime

Prezime

Ukupno Strana Cijena po stranici Ukupni honorar

----------- --------------- ------------------- --------------------- -------------------Goran

Mili

35,00

140,00

13

8 ZAKLJUAK

Baza podataka Honorari Autora Magazina Info u svom sadanjem stanju predstavlja
jako dobar okvir za kreiranje aplikacije koja bi olakala posao urednicima Info
magazina. Kreiranjem aplikacije bi se olakao posao korisnicima koji ne poznaju
dovoljno dobro SQL komande, a takoer bi olakala unos novih podataka kroz filtriranje
korisnikih unosa.
Obzirom da je baza podataka Honorari Autora Magazina Info uraena u
Microsoftovom SQL Serveru, kao prirodno okruenje za kreiranje aplikacije se nameu
neki od Microsoftovih programskih jezika Visual Basic ili C#.
to se tie moguih proirenja baze Honorari Autora Magazina Info, u obzir bi dolo
uvanje kompletnih tekstova umjesto trenutnih naslova i podnaslova. Ovim proirenjem
bi baza podataka postala jo korisnija urednicima magazina Info, jer bi se mogla koristiti
i za referenciranje prilikom pisanja tekstova. Takoer, ovakva baza bi mogla posluiti i
za kreiranje online pretrage tekstova koja bi se mogla postaviti na web sajta magazina
Info.

14

9 LITERATURA

Knjige:
1. Gordana Pavlovi-Laeti, "Uvod u relacione baze podataka", Matematiki
fakultet, Beograd, 1996.
2. Mike Chapple, Microsoft SQL Server 2008 For Dummies, For Dummies, USA,
2008.
3. Allen G. Taylor, SQL For Dummies, For Dummies, USA, 1998.

Internet:
4. http://en.wikipedia.org/wiki/SQL, (18.04.2012.)
5. http://www.w3schools.com/sql/default.asp, (18.04.2012.)

15

You might also like