Download as pdf or txt
Download as pdf or txt
You are on page 1of 33

Projektovanje baze podataka za prodaju računarske opreme

VISOKA ŠKOLA STRUKOVNIH STUDIJA ZA INFORMACIONE


TEHNOLOGIJE

BAZE PODATAKA

Projekat
Projektovanje baze podataka za prodaju
računarske opreme

Mentor: Studenti:
dr Milosav Majstorović Miloš Radovanović 202/19

Aleksa Petrović 106/19

Dušan Stanojević 137/19

Beograd
Januar, 2022.

1
Projektovanje baze podataka za prodaju računarske opreme

SADRŽAJ

1. Rezime ............................................................................................................................................... 3
2. Poslovni Domen ................................................................................................................................ 4
3. Podmodeli podataka ......................................................................................................................... 6
4. Prevodjenje PMOV u relacioni model ............................................................................................. 10
5. SQL naredbe za kreiranje tabela ..................................................................................................... 14
6. SQL naredbe za umetanje podataka ........................................................................................... 19
7. Tabelarni prikaz sadržaja tabela ................................................................................................. 23
8. Prikaz baznih pogleda, procedura i funkcija ................................................................................... 28
8.1 Podsistem Radnik .............................................................................................................................. 28
8.1.1 Pogled ....................................................................................................................................... 28
8.1.2.1 Definicija poslovne transakcije ................................................................................ 28
8.1.2.2 Bazna procedura ........................................................................................................... 28
8.1.3. Bazna funkcija .................................................................................................................. 29
8.2 Podsistem Nabavka ....................................................................................................................... 29
8.2.1 Pogled ................................................................................................................................... 29
8.2.2 Poslovna transakcija i bazna procedura ...................................................................... 30
8.2.2.1 Definicija poslovne transakcije ................................................................................ 30
8.2.2.2 Bazna procedura ........................................................................................................... 30
8.2.3. Bazna funkcija .................................................................................................................. 30
8.4 Podsistem Firma ....................................................................................................................... 31
8.4.1 Pogled ................................................................................................................................... 31
8.3.2 Poslovna transakcija i bazna procedura ...................................................................... 31
8.3.2.1 Definicija poslovne transakcije ................................................................................ 31
8.3.2.2 Bazna procedura ........................................................................................................... 31
8.3.3 Bazna funkcija ................................................................................................................... 32
9. Literatura............................................................................................................................................. 33

2
Projektovanje baze podataka za prodaju računarske opreme

1. Rezime

U ovom projektu je izvršena analiza Firme za preprodaju računarske opreme. Kreiran je


model podataka za ovaj poslovni domen i izvršena njegova implementacija korz kreiranje
šema relacione baze podataka. Kroz SQL insert naredbe izvršeno je instanciranje ove šeme
baze podataka. U projektu je dat i tabelarni prikaz sadržaja tabela baze podataka. Za svaki
podsistem definisane su poslovne transakcije, dati pogledi i bazne procedure pomoću kojih
se realizuju poslovne transakcije. Za svaki podsistem je kreirana i odeređena bazna
funkcija.

3
Projektovanje baze podataka za prodaju računarske opreme

2. Poslovni Domen

Za potrebe preduzeća za prodaju računarske opreme potrebno je isprojektovati bazu


podataka sa neophodnim podacima. Poslovni domen je dekomponvan na tri celine: Radnik,
Dobavljač i Firma.

Podsistem Radnik nam je potreban jer je preduzeće kojem su neophodni radnici, da bi


organizovali I prodavali opremu.

Podsistem Dobavljač služi kako bi uvek imali uvid u stanje računarske opreme , vezu sa
dobavljačem I troskovima.

Podsitem Firma nam je preduzeće u kom se obavlja preprodaja računarske opreme.

I Podsitem – Radnik
Grad ima naziv grada, IDgrada i broj stanovnika koji u njemu žive. Lokacija ima IDlokacije,
naziv lokacije i adresu. Grad može imati 0 ili više lokacija, a lokacija se može nalaziti samo
u jednom gradu. Konkretan radnik radi na jednoj lokaciji, dok lokacija može imati više
zaposlenih radnika. Svaki radnik može a i ne mora da ima nadređenog.

Radnik ima IDradnika, Ime, Prezime, JMBG, BrojRacuna, DatumZaposlenja, Kontakt. Radnik
može biti angažovan na vise radnih mesta. Za angažovanje je potrebno voditi evidenciju o
IDangazovanja kao i od kada je radnik angažovan na datom mestu i kada se njegovo
angažovanje završava. Za radno mesto treba da se vodi evidencija o IDradnogmesta i
nazivu radnog mesta. Takođe u bazi postoji i raspored smena, zahtev za odmor i ispalata
radnicima.

II Podsistem - Dobavljač
U preduzeću je potrebno voditi informacije o Magacinu i Stanju u prodaji i nabavci istog.
Jako nam je bitno imati odnos između Dobavljača(koji sadrzi: IDdobavljaca, naziv I adresu
dobavljaca) i Nabavke(koji sadrzi: IDnabavke, DatumRaspisivanja, DatumZakljucenja,
DatumOtkazivanja i RazlogOtkazivanja).Podsistem sadrži i DodatneTroskove, kojih može biti
0 ili više, sadrži atribute Idtroskova, Iznos, Svrha i datum. Pravimo SpisakNabavke koji
sadrzi Kolicna, CenaPoJedici, koji će iz Magacina i Stanja u prodaji uzeti informacije
potrebne za nabavku.

Posle spiska nabavke pravimo samo jednu Fakturu koja sadrži IDfakture, Opis,
UkupnaVrednost, RokPlacanja, PDV, IznosvezPDV i Datum. Faktura može imati jednu i samo
jednu Isplatu. Isplata ima atribute: IDisplata, iznos i datum.

III Podsistem – Firma

U preduzeću tj. u firmi nam je bitno voditi evidenciju u komponentama koje prodajemo,
komponente imaju atribute: IDkomponente, naziv, cenu, godinu proizvodnje I garanciju.

4
Projektovanje baze podataka za prodaju računarske opreme

Komponente se dele na Miš, Tastaturu, Zvučnik, KućišteZaRačunar, HardDisk, Procesor,


Grafičku. Za sve to nam je potrebno voditi evidenciju o proizvodjaču, koji ima atribute
IDproizvođača I NazivProizvođača. Komponenta se takođe deli na GrupuKomponenta I
JednuKomponentu koje imaju kao atribut Opis. Prodavac povlači primarni ključ
IDkomponente, kao I od strane Kupca(IDkupca) I Ugovora(Idugovora). Prodavac ima
atribute IDprodavca, ime, prezime, adresa I telefon. Dok kupac IDkupca, Ime, Prezime I
kontakt.

5
Projektovanje baze podataka za prodaju računarske opreme

3. Podmodeli podataka

U nastavku su prikazani podmodeli podataka , napred opisanih celina, kroz podmodele PMOV

Slika 1. Podmodel PMOV – Radnik

6
Projektovanje baze podataka za prodaju računarske opreme

Slika 2. Podmodel PMOV – Dobavljač

7
Projektovanje baze podataka za prodaju računarske opreme

Slika 3. Podmodel PMOV – Firma

8
Projektovanje baze podataka za prodaju računarske opreme

Slika 4. Integrisani PMOV

9
Projektovanje baze podataka za prodaju računarske opreme

4. Prevodjenje PMOV u relacioni model

RADNIK

---------

IsplataRadnicima(#IDisplate, Svrha, Iznos)

Grad(#IDgrada, NazivGrada, BrojStanovnika)

RadnoMesto(#IDradnogMesta, NazivRadnogMesta)

RadniStatus(#IDradnistatus, NazivRS)

ZahtevZaOdmor(#IDodmora, Razlog, Odobren, PrviDan, PoslednjiDan)

-----

Lokacija(#IDlokacije, Adresa, NazivLokacije, #IDgradafk)

Lokacija (#IDgradafk) referencira Grad (#IDgrada)

Radnik(#IDradnika, Ime, Prezime, JMBG, BrojRacuna, DatumZaposlenja, Kontakt,

#IDNadrfk, #IDlokacijefk, #IDodmorafk, #IDradnistatusfk, #IDisplatefk)

Radnik(#IDlokacijefk) Referencira Lokacija(#IDlokacije)

Radnik(#IDodmorafk) Referencira ZahtevZaOdmor(#IDodmora)

Radnik(#IDradnistatusfk) Referencira RadniStatus(#IDradnistatus)

Radnik(#IDisplatefk) Referencira Isplata(#IDisplate)

Radnik(#IDNadrfk) Referencira Radnik (#IDradnika)

Angazovanje(#IDangazovanja, DatumOD, DatumDo, #IDradnogmesta, #IDradnika)

Angazovanje (#IDradnika) referencira Radnik(#IDradnika)

Angazovanje (#IDradnogmesta) referencira RadnoMesto(#IDradnogmesta)

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

10
Projektovanje baze podataka za prodaju računarske opreme

DOBAVLJAC

---

Dobavljac(#IDdobavljaca, NazivDobavljaca, AdresaDobavljaca)

DodatniTroskovi(#IDtroskova, Iznos, Svrha, Datum)

Stanje_U_Prodaji(#IDstanja, Naziv, Kolicina, MinKolicina, Opis, CenaPoJedinici)

Magacin(#IDmagacina, Naziv, MinKolicinaMag, KolicinaMag)

Isplata(#IDisplate, Iznos, Datum)

---

Nabavka(#IDnabavke, DatumRaspisivanja, DatumZakljucenja, DatumOtkazivanja,


RazlogOtkazivanja, #IDtroskovafk)

Nabavka(#IDtroskovafk) referencira DodatniTroskovi(#IDtroskova)

Obavlja(#IDnabavke, #IDdobavljaca)

Obavlja(#IDnabavke) referencira Nabavka(#IDnabavke)

Obavlja(#IDdobavljaca) referencira Dobavljac(#IDdobavljaca)

SpisakNabavke(#IDnabavke, #IDstanja, #IDmagacina,#IDradnika, Kolicina,


CenaPoJedinici)

SpisakNabavke (#IDnabavke) referencira Nabavka (#IDnabavke)

SpisakNabavke (#IDstanja) referencira Stanje_U_Prodaji(#IDstanja)

SpisakNabavke (#IDmagacina) referencira Magacin(#IDmagacina)

SpisakNabavke(#IDradnika) referencira Radnik(#IDradnika)

Faktura(#IDfakture, #IDisplate, Opis, UkupnaVrednost, RokPlacanja, PDV, IznosbezPDV-a,


DatumFakture, #IDnabavkefk, #IDstanjafk, #IDmagacinafk, #IDradnikafk)

FAKTURA (#IDisplate) referencira Isplata(#IDisplate),

11
Projektovanje baze podataka za prodaju računarske opreme

FAKTURA (#IDnabavkefk, #IDstanjafk, #IDmagacinafk, #IDradnikafk ) referencira


SpisakNabavke (#IDnabavke , #IDstanja, #IDmagacina, #IDradnika)

Firma

-----

Proizvodjac(#IDproizvodjaca, NazivProizvodjaca)

Kupac(#IDKupca, Ime, Prezime, Kontakt)

Ugovor(#IDugovora, Datum, Provizija)

---

Komponente(#IDkomponente, Naziv, Cena, GodinaProizvodnje, Garancija

#IDproizvodjacafk)

Komponente (#IDproizvodjacafk) referencira Proizvodjac(#IDproizvodjaca)

Prodavac(#IDprodavca,#IDkupca, #IDugovora,#IDkomponente,#IDradnika, Ime,


Prezime, Adresa, Telefon)

Prodavac(#IDradnika)Referencira Radnik(#IDradnika)

Prodavac(#IDkupca)Referencira Kupac(#IDkupca)

Prodavac(#IDugovora)Referencira Ugovor(#IDugovora)

Prodavac(#IDkomponente)Referencira Komponente(#IDkomponente)

---

GrupaKomponenata(#IDkomponente, Opis)

GrupaKomponenata(#IDkomponente) referencira Komponenta(#IDkomponente)

JednaKomponenta(#IDkomponente, Opis)

JednaKomponenta(#IDkomponente) referencira Komponenta(#IDkomponente)

--------

Mis (#IDkomponente, BrojDugmica)

Mis (#IDkomponente) referencira Komponenta(#IDkomponente)

12
Projektovanje baze podataka za prodaju računarske opreme

Tastatura(#IDkomponente, Jezik, Tip)

Tastatura(#IDkomponente) referencira Komponenta(#IDkomponente)

Zvucnik(#IDkomponente, Snaga, Kolicina)

Zvucnik(#IDkomponente) referencira Komponenta(#IDkomponente)

KucisteZaRacunar(#IDkomponente, Povrsina, Boja)

KucisteZaRacunar(#IDkomponente) referencira Komponenta(#IDkomponente)

HardDisk (#IDkomponente, Prostor, Obrtaja)

HardDisk (#IDkomponente) referencira Komponenta(#IDkomponente)

Procesor (#IDkomponente, Takt, BrojJezgra)

Procesor (#IDkomponente) referencira Komponenta(#IDkomponente)

Graficka (#IDkomponente, Generacija, Frekvencija)

Graficka (#IDkomponente) referencira Komponenta(#IDkomponente)

13
Projektovanje baze podataka za prodaju računarske opreme

5. SQL naredbe za kreiranje tabela

USE master;
GO

IF EXISTS(SELECTnameFROMmaster.dbo.sysdatabasesWHEREname=N'Racunari')
DROP DATABASE Racunari;
go
CREATE DATABASE Racunari;
GO

USE Racunari;
GO

------------
--RADNIK
------------
Create table IsplataRadnicima
(
#IDisplate int not null primary key,
Svrha varchar(20) not null,
Iznos money not null,
);

Create table Grad (


#IDgrada int not null primary key,
NazivGrada varchar(20) not null,
BrojStanovnika int not null,
);

Create table RadnoMesto(


#IDradnogMesta int not null primary key,
NazivRadnogMesta varchar(20) not null,
);

Create table RadniStatus(


#IDradnistatus int not null primary key,
NazivRS varchar(20) not null,
);

Create Table ZahtevZaOdmor(


#IDodmora int not null primary key,
Razlog varchar(20) not null,
Odobren varchar(2) not null,
PrviDan date,
PoslednjiDan date,
);

14
Projektovanje baze podataka za prodaju računarske opreme

Create table Lokacija(


#IDlokacije int not null primary key,
Adresa varchar(20) not null,
NazivLokacije varchar(20) not null,
#IDgradafk int not null,
FOREIGN KEY (#IDgradafk) REFERENCES Grad (#IDgrada),
);

Create table Radnik(


#IDradnika int not null primary key,
Ime varchar(15) not null,
Prezime varchar(15) not null,
Jmbg varchar(13) not null,
BrojRacuna int not null,
Kontakt int not null,
DatumZaposlenja date not null,

#IDNadrfk int,
#IDlokacijefk int not null,
#IDodmorafk int,
#IDradnistatusfk int not null,
#IDisplatefk int not null,
FOREIGN KEY(#IDlokacijefk) REFERENCES Lokacija(#IDlokacije),
FOREIGN KEY(#IDodmorafk) REFERENCES ZahtevZaOdmor(#IDodmora),
FOREIGN KEY(#IDradnistatusfk) REFERENCES RadniStatus(#IDradnistatus),
FOREIGN KEY(#IDisplatefk) REFERENCES IsplataRadnicima(#IDisplate),
FOREIGN KEY(#IDNadrfk) REFERENCES Radnik (#IDradnika),
);

Create table Angazovanje(


#IDangazovanja int not null,
#IDradnogMesta int not null,
#IDradnika int not null,
DatumOd date not null,
DatumDo date,
FOREIGN KEY (#IDradnogMesta) REFERENCES RadnoMesto(#IDradnogMesta),
FOREIGN KEY (#IDradnika) REFERENCES Radnik(#IDradnika),
);
------------
--DOBAVLJAC
------------
Create table Dobavljac(
#IDdobavljaca int not null primary key,
NazivDobavljaca varchar(20) not null,
AdresaDobavljaca varchar(20) not null,
);

Create table DodatniTroskovi(


#IDtroskova int not null primary key,
Iznos money not null,
Svrha varchar(20) not null,
Datum date not null,
);

Create table Stanje_U_Prodaji(


#IDstanja int not null primary key,
Naziv varchar(20) not null,
Kolicina int not null,

15
Projektovanje baze podataka za prodaju računarske opreme

MinKolicina int not null,


Opis varchar(20) not null,
CenaPoJedinici money not null,
);

Create table Magacin(


#IDmagacina int not null primary key,
Naziv varchar(20) not null,
MinKolicinaMag int not null,
KolicinaMag int not null,
);

Create table Isplata(


#IDisplate int not null primary key,
Iznos money not null,
Datum date not null,
);

Create table Nabavka(


#IDnabavke int not null primary key,
DatumRaspisivanja date not null,
DatumZakljucenja date not null,
DatumOtkazivanja date,
RazlogOtkazivanja varchar(20),

#IDtroskovafk int not null,


FOREIGN KEY (#IDtroskovafk) REFERENCES DodatniTroskovi(#IDtroskova),
);
Create table Obavlja(
#IDdobavljaca int not null,
#IDnabavke int not null,
PRIMARY KEY (#IDdobavljaca, #IDnabavke),
FOREIGN KEY (#IDdobavljaca) REFERENCES Dobavljac (#IDdobavljaca),
FOREIGN KEY (#IDnabavke) REFERENCES Nabavka (#IDnabavke),
);

Create table SpisakNabavke(


#IDnabavke int not null,
#IDstanja int not null,
#IDmagacina int not null,
#IDradnika int not null,
Kolicina int not null,
CenaPoJedinici money not null,
PRIMARY KEY (#IDnabavke, #IDstanja, #IDmagacina,#IDradnika),
FOREIGN KEY (#IDradnika) REFERENCES Radnik(#IDradnika),
FOREIGN KEY (#IDnabavke) REFERENCES Nabavka (#IDnabavke),
FOREIGN KEY (#IDstanja) REFERENCES Stanje_U_Prodaji(#IDstanja),
FOREIGN KEY (#IDmagacina) REFERENCES Magacin(#IDmagacina),
);

Create table Faktura(


#IDfakture int not null,
#IDisplate int not null,
Opis varchar(20) not null,
UkupnaVrednost money not null,
RokPlacanja date not null,
PDV money not null,
IznosBezPDV money not null,

16
Projektovanje baze podataka za prodaju računarske opreme

DatumFakture date not null,

#IDnabavkefk int not null,


#IDstanjafk int not null,
#IDmagacinafk int not null,
#IDradnikafk int not null,
PRIMARY KEY (#IDfakture, #IDisplate),
FOREIGN KEY (#IDisplate) REFERENCES Isplata(#IDisplate),
FOREIGN KEY (#IDnabavkefk, #IDstanjafk, #IDmagacinafk, #IDradnikafk ) REFERENCES
SpisakNabavke (#IDnabavke , #IDstanja, #IDmagacina, #IDradnika),
);
------------
--FIRMA
------------
Create table Proizvodjac(
#IDproizvodjac int not null primary key,
NazivProizvodjaca varchar(20) not null,
);

Create table Kupac(


#IDKupca int not null primary key,
Ime varchar(20) not null,
Prezime varchar(20) not null,
Kontakt int not null,
);

Create table Ugovor(


#IDugovora int not null primary key,
Datum date not null,
Proivizja int,
);

Create table Komponente(


#IDkomponente int not null primary key,
Naziv varchar(20) not null,
Cena money not null,
GodinaProizvodnje date not null,
Garancija date,

#IDproizvodjacafk int not null,


FOREIGN KEY (#IDproizvodjacafk) REFERENCES Proizvodjac(#IDproizvodjac),
);

Create table Prodavac(


#IDprodavca int not null,
#IDkupca int not null,
#IDugovora int not null,
#IDkomponente int not null,
#IDradnika int not null,
Ime varchar(20) not null,
Prezime varchar(20) not null,
Adresa varchar(20) not null,
Telefon int not null,
PRIMARY KEY(#IDprodavca, #IDkupca, #IDugovora, #IDkomponente, #IDradnika),
FOREIGN KEY (#IDradnika) REFERENCES Radnik (#IDradnika),
FOREIGN KEY(#IDkupca)REFERENCES Kupac(#IDkupca),
FOREIGN KEY(#IDugovora)REFERENCES Ugovor(#IDugovora),
FOREIGN KEY(#IDkomponente)REFERENCES Komponente(#IDkomponente),

17
Projektovanje baze podataka za prodaju računarske opreme

);

Create table GrupaKomponenta(


#IDkomponente int not null primary key,
Opis varchar(20) not null,
FOREIGN KEY (#IDKomponente) REFERENCES Komponente(#IDkomponente),
);

Create table JednaKomponenta(


#IDkomponente int not null primary key,
Opis varchar(20) not null,
FOREIGN KEY (#IDKomponente) REFERENCES Komponente(#IDkomponente),
);
Create table Mis(
#IDKomponente int not null primary key,
BrojDugmica int not null,
FOREIGN KEY (#IDkomponente) REFERENCES Komponente(#IDkomponente),

);
Create table Tastatura(
#IDKomponente int not null primary key,
Jezik varchar(20) not null,
Tip varchar(20) not null,
FOREIGN KEY (#IDkomponente) REFERENCES Komponente(#IDkomponente),

);

Create table Zvucnik(


#IDKomponente int not null primary key,
Snaga int not null,
Kolicina int not null,
FOREIGN KEY (#IDkomponente) REFERENCES Komponente(#IDkomponente),

);

Create table KucisteZaRacunar(


#IDKomponente int not null primary key,
Povrsina int not null,
Boja varchar(20) not null,
FOREIGN KEY (#IDkomponente) REFERENCES Komponente(#IDkomponente),

);

Create table HardDisk(


#IDKomponente int not null primary key,
Prostor int not null,
Obrtaja int not null,
FOREIGN KEY (#IDkomponente) REFERENCES Komponente(#IDkomponente),

);

Create table Procesor(


#IDKomponente int not null primary key,
Takt int not null,
BrojJezgra int not null,
FOREIGN KEY (#IDkomponente) REFERENCES Komponente(#IDkomponente),

);

18
Projektovanje baze podataka za prodaju računarske opreme

Create table Graficka(


#IDkomponente int not null primary key,
Generacija int not null,
Frekvencija int not null,
FOREIGN KEY (#IDkomponente) REFERENCES Komponente(#IDkomponente),

);

6. SQL naredbe za umetanje podataka

--RADNIK
INSERT [dbo].[IsplataRadnicima] ([#IDisplate], [Svrha], [Iznos]) VALUES (1, N'Plata',
35000.0000)
INSERT [dbo].[IsplataRadnicima] ([#IDisplate], [Svrha], [Iznos]) VALUES (2, N'Plata',
40000.0000)
INSERT [dbo].[IsplataRadnicima] ([#IDisplate], [Svrha], [Iznos]) VALUES (3, N'Dodatak',
5000.0000)
GO
INSERT [dbo].[Grad] ([#IDgrada], [NazivGrada], [BrojStanovnika]) VALUES (1, N'Beograd',
100000)
INSERT [dbo].[Grad] ([#IDgrada], [NazivGrada], [BrojStanovnika]) VALUES (2, N'Valjevo',
70000)
INSERT [dbo].[Grad] ([#IDgrada], [NazivGrada], [BrojStanovnika]) VALUES (3, N'Pancevo',
900000)
GO
INSERT [dbo].[RadnoMesto] ([#IDradnogMesta], [NazivRadnogMesta]) VALUES (1,
N'Maloprodaja')
INSERT [dbo].[RadnoMesto] ([#IDradnogMesta], [NazivRadnogMesta]) VALUES (2,
N'VeleProdaja')
GO
INSERT [dbo].[RadniStatus] ([#IDradnistatus], [NazivRS]) VALUES (1, N'Dostupan')
INSERT [dbo].[RadniStatus] ([#IDradnistatus], [NazivRS]) VALUES (2, N'Nedostupan')
GO
INSERT [dbo].[ZahtevZaOdmor] ([#IDodmora], [Razlog], [Odobren], [PrviDan],
[PoslednjiDan]) VALUES (1, N'LomljenjeRuke', N'Da', CAST(N'2021-09-10' AS Date),
CAST(N'2021-10-17' AS Date))
INSERT [dbo].[ZahtevZaOdmor] ([#IDodmora], [Razlog], [Odobren], [PrviDan],
[PoslednjiDan]) VALUES (2, N'Korona', N'Da', CAST(N'2021-08-10' AS Date), CAST(N'2021-08-
30' AS Date))
GO
INSERT [dbo].[Lokacija] ([#IDlokacije], [Adresa], [NazivLokacije], [#IDgradafk]) VALUES
(1, N'Knez Milos', N'Beograd', 1)
INSERT [dbo].[Lokacija] ([#IDlokacije], [Adresa], [NazivLokacije], [#IDgradafk]) VALUES
(2, N'Bulevar Vojvode', N'Valjevo', 2)
INSERT [dbo].[Lokacija] ([#IDlokacije], [Adresa], [NazivLokacije], [#IDgradafk]) VALUES
(3, N'Veljka Vlahovic', N'Pancevo', 3)
GO
INSERT [dbo].[Radnik] ([#IDradnika], [Ime], [Prezime], [Jmbg], [BrojRacuna], [Kontakt],
[DatumZaposlenja], [#IDNadrfk], [#IDlokacijefk], [#IDodmorafk], [#IDradnistatusfk],
[#IDisplatefk]) VALUES (1, N'Marko', N'Markovic', N'2323213', 1111, 69222333,
CAST(N'2021-07-07' AS Date), NULL, 1, NULL, 1, 2)
INSERT [dbo].[Radnik] ([#IDradnika], [Ime], [Prezime], [Jmbg], [BrojRacuna], [Kontakt],
[DatumZaposlenja], [#IDNadrfk], [#IDlokacijefk], [#IDodmorafk], [#IDradnistatusfk],
[#IDisplatefk]) VALUES (2, N'Vukasin', N'Vukasinovic', N'2323232', 2222, 69444555,
CAST(N'2021-08-08' AS Date), 1, 2, 1, 2, 1)

19
Projektovanje baze podataka za prodaju računarske opreme

INSERT [dbo].[Radnik] ([#IDradnika], [Ime], [Prezime], [Jmbg], [BrojRacuna], [Kontakt],


[DatumZaposlenja], [#IDNadrfk], [#IDlokacijefk], [#IDodmorafk], [#IDradnistatusfk],
[#IDisplatefk]) VALUES (3, N'Ivana', N'Ivanovic', N'2323232', 3333, 69555666,
CAST(N'2021-09-09' AS Date), 1, 3, 2, 2, 3)
GO
INSERT [dbo].[Angazovanje] ([#IDangazovanja], [#IDradnogMesta], [#IDradnika], [DatumOd],
[DatumDo]) VALUES (1, 2, 1, CAST(N'2021-05-05' AS Date), CAST(N'2021-06-06' AS Date))
INSERT [dbo].[Angazovanje] ([#IDangazovanja], [#IDradnogMesta], [#IDradnika], [DatumOd],
[DatumDo]) VALUES (2, 2, 2, CAST(N'2021-06-06' AS Date), CAST(N'2021-07-07' AS Date))
INSERT [dbo].[Angazovanje] ([#IDangazovanja], [#IDradnogMesta], [#IDradnika], [DatumOd],
[DatumDo]) VALUES (3, 1, 3, CAST(N'2021-07-07' AS Date), CAST(N'2021-08-08' AS Date))
GO

-----------DOBAVLJAC
INSERT [dbo].[Dobavljac] ([#IDdobavljaca], [NazivDobavljaca], [AdresaDobavljaca]) VALUES
(1, N'Gigatron', N'Petra Mihaljovica')
INSERT [dbo].[Dobavljac] ([#IDdobavljaca], [NazivDobavljaca], [AdresaDobavljaca]) VALUES
(2, N'Comtrade', N'Blagoja Parovic')
INSERT [dbo].[Dobavljac] ([#IDdobavljaca], [NazivDobavljaca], [AdresaDobavljaca]) VALUES
(3, N'TechnoShop', N'Nebojse Petrovic')
GO
INSERT [dbo].[DodatniTroskovi] ([#IDtroskova], [Iznos], [Svrha], [Datum]) VALUES (1,
50000.0000, N'Misevi', CAST(N'2021-06-06' AS Date))
INSERT [dbo].[DodatniTroskovi] ([#IDtroskova], [Iznos], [Svrha], [Datum]) VALUES (2,
75000.0000, N'Tastatura', CAST(N'2021-07-07' AS Date))
INSERT [dbo].[DodatniTroskovi] ([#IDtroskova], [Iznos], [Svrha], [Datum]) VALUES (3,
1000000.0000, N'Graficka', CAST(N'2021-07-07' AS Date))
GO
INSERT [dbo].[Stanje_U_Prodaji] ([#IDstanja], [Naziv], [Kolicina], [MinKolicina], [Opis],
[CenaPoJedinici]) VALUES (1, N'Misevi', 20, 5, N'Opticki', 1000.0000)
INSERT [dbo].[Stanje_U_Prodaji] ([#IDstanja], [Naziv], [Kolicina], [MinKolicina], [Opis],
[CenaPoJedinici]) VALUES (2, N'Graficke', 40, 10, N'Gejmerski', 15000.0000)
INSERT [dbo].[Stanje_U_Prodaji] ([#IDstanja], [Naziv], [Kolicina], [MinKolicina], [Opis],
[CenaPoJedinici]) VALUES (3, N'Procesori', 50, 15, N'16-core', 20000.0000)
GO
INSERT [dbo].[Magacin] ([#IDmagacina], [Naziv], [MinKolicinaMag], [KolicinaMag]) VALUES
(1, N'Misevi', 50, 300)
INSERT [dbo].[Magacin] ([#IDmagacina], [Naziv], [MinKolicinaMag], [KolicinaMag]) VALUES
(2, N'Tastature', 50, 300)
INSERT [dbo].[Magacin] ([#IDmagacina], [Naziv], [MinKolicinaMag], [KolicinaMag]) VALUES
(3, N'Graficka', 30, 100)
GO
INSERT [dbo].[Isplata] ([#IDisplate], [Iznos], [Datum]) VALUES (1, 10000.0000,
CAST(N'2021-07-07' AS Date))
INSERT [dbo].[Isplata] ([#IDisplate], [Iznos], [Datum]) VALUES (2, 20000.0000,
CAST(N'2021-07-07' AS Date))
INSERT [dbo].[Isplata] ([#IDisplate], [Iznos], [Datum]) VALUES (3, 15000.0000,
CAST(N'2021-07-07' AS Date))
GO
INSERT [dbo].[Nabavka] ([#IDnabavke], [DatumRaspisivanja], [DatumZakljucenja],
[DatumOtkazivanja], [RazlogOtkazivanja], [#IDtroskovafk]) VALUES (1, CAST(N'2021-07-07'
AS Date), CAST(N'2021-07-07' AS Date), NULL, NULL, 1)
INSERT [dbo].[Nabavka] ([#IDnabavke], [DatumRaspisivanja], [DatumZakljucenja],
[DatumOtkazivanja], [RazlogOtkazivanja], [#IDtroskovafk]) VALUES (2, CAST(N'2021-08-08'
AS Date), CAST(N'2021-08-08' AS Date), NULL, NULL, 2)
INSERT [dbo].[Nabavka] ([#IDnabavke], [DatumRaspisivanja], [DatumZakljucenja],
[DatumOtkazivanja], [RazlogOtkazivanja], [#IDtroskovafk]) VALUES (3, CAST(N'2021-09-09'
AS Date), CAST(N'2021-09-09' AS Date), NULL, NULL, 3)

20
Projektovanje baze podataka za prodaju računarske opreme

GO
INSERT [dbo].[Obavlja] ([#IDdobavljaca], [#IDnabavke]) VALUES (1, 1)
INSERT [dbo].[Obavlja] ([#IDdobavljaca], [#IDnabavke]) VALUES (2, 2)
INSERT [dbo].[Obavlja] ([#IDdobavljaca], [#IDnabavke]) VALUES (3, 3)
GO
INSERT [dbo].[SpisakNabavke] ([#IDnabavke], [#IDstanja], [#IDmagacina], [#IDradnika],
[Kolicina], [CenaPoJedinici]) VALUES (1, 1, 1, 1, 50, 1000.0000)
INSERT [dbo].[SpisakNabavke] ([#IDnabavke], [#IDstanja], [#IDmagacina], [#IDradnika],
[Kolicina], [CenaPoJedinici]) VALUES (2, 2, 2, 2, 50, 1500.0000)
INSERT [dbo].[SpisakNabavke] ([#IDnabavke], [#IDstanja], [#IDmagacina], [#IDradnika],
[Kolicina], [CenaPoJedinici]) VALUES (3, 3, 3, 3, 50, 20000.0000)
GO
INSERT [dbo].[Faktura] ([#IDfakture], [#IDisplate], [Opis], [UkupnaVrednost],
[RokPlacanja], [PDV], [IznosBezPDV], [DatumFakture], [#IDnabavkefk], [#IDstanjafk],
[#IDmagacinafk], [#IDradnikafk]) VALUES (1, 1, N'Misevi', 50000.0000, CAST(N'2021-08-08'
AS Date), 5.0000, 47500.0000, CAST(N'2021-07-07' AS Date), 1, 1, 1, 1)
INSERT [dbo].[Faktura] ([#IDfakture], [#IDisplate], [Opis], [UkupnaVrednost],
[RokPlacanja], [PDV], [IznosBezPDV], [DatumFakture], [#IDnabavkefk], [#IDstanjafk],
[#IDmagacinafk], [#IDradnikafk]) VALUES (2, 2, N'Tastatura', 75000.0000, CAST(N'2021-08-
08' AS Date), 7500.0000, 67500.0000, CAST(N'2021-08-08' AS Date), 2, 2, 2, 2)
INSERT [dbo].[Faktura] ([#IDfakture], [#IDisplate], [Opis], [UkupnaVrednost],
[RokPlacanja], [PDV], [IznosBezPDV], [DatumFakture], [#IDnabavkefk], [#IDstanjafk],
[#IDmagacinafk], [#IDradnikafk]) VALUES (3, 3, N'Graficka', 1000000.0000, CAST(N'2021-09-
09' AS Date), 10000.0000, 990000.0000, CAST(N'2021-09-09' AS Date), 3, 3, 3, 3)
GO
-------------FIRMA
INSERT [dbo].[Proizvodjac] ([#IDproizvodjac], [NazivProizvodjaca]) VALUES (1, N'Razer')
INSERT [dbo].[Proizvodjac] ([#IDproizvodjac], [NazivProizvodjaca]) VALUES (2, N'Intel')
INSERT [dbo].[Proizvodjac] ([#IDproizvodjac], [NazivProizvodjaca]) VALUES (3, N'NVIDIA')
INSERT [dbo].[Proizvodjac] ([#IDproizvodjac], [NazivProizvodjaca]) VALUES (4, N'GX')
INSERT [dbo].[Proizvodjac] ([#IDproizvodjac], [NazivProizvodjaca]) VALUES (5, N'SeaGate')
GO
INSERT [dbo].[Kupac] ([#IDKupca], [Ime], [Prezime], [Kontakt]) VALUES (1, N'Mirko',
N'Mirkovic', 7923142)
INSERT [dbo].[Kupac] ([#IDKupca], [Ime], [Prezime], [Kontakt]) VALUES (2, N'Petar',
N'Petrovic', 231432)
INSERT [dbo].[Kupac] ([#IDKupca], [Ime], [Prezime], [Kontakt]) VALUES (3, N'Milos',
N'Miljkovic', 2132131)
GO
INSERT [dbo].[Ugovor] ([#IDugovora], [Datum], [Proivizja]) VALUES (1, CAST(N'2021-07-07'
AS Date), 20)
INSERT [dbo].[Ugovor] ([#IDugovora], [Datum], [Proivizja]) VALUES (2, CAST(N'2021-08-08'
AS Date), 20)
INSERT [dbo].[Ugovor] ([#IDugovora], [Datum], [Proivizja]) VALUES (3, CAST(N'2021-09-09'
AS Date), 20)
GO
INSERT [dbo].[Komponente] ([#IDkomponente], [Naziv], [Cena], [GodinaProizvodnje],
[Garancija], [#IDproizvodjacafk]) VALUES (1, N'Mis', 1000.0000, CAST(N'2021-01-01' AS
Date), CAST(N'2022-01-01' AS Date), 1)
INSERT [dbo].[Komponente] ([#IDkomponente], [Naziv], [Cena], [GodinaProizvodnje],
[Garancija], [#IDproizvodjacafk]) VALUES (2, N'Tastatura', 1500.0000, CAST(N'2021-01-01'
AS Date), CAST(N'2022-01-01' AS Date), 1)
INSERT [dbo].[Komponente] ([#IDkomponente], [Naziv], [Cena], [GodinaProizvodnje],
[Garancija], [#IDproizvodjacafk]) VALUES (3, N'Graficka', 10000.0000, CAST(N'2021-02-02'
AS Date), CAST(N'2022-02-02' AS Date), 3)
INSERT [dbo].[Komponente] ([#IDkomponente], [Naziv], [Cena], [GodinaProizvodnje],
[Garancija], [#IDproizvodjacafk]) VALUES (4, N'Mis i tastatura', 2000.0000, CAST(N'2021-
01-01' AS Date), CAST(N'2022-01-01' AS Date), 1)

21
Projektovanje baze podataka za prodaju računarske opreme

INSERT [dbo].[Komponente] ([#IDkomponente], [Naziv], [Cena], [GodinaProizvodnje],


[Garancija], [#IDproizvodjacafk]) VALUES (5, N'GX Zvucnici', 8000.0000, CAST(N'2021-01-
01' AS Date), CAST(N'2022-01-01' AS Date), 4)
INSERT [dbo].[Komponente] ([#IDkomponente], [Naziv], [Cena], [GodinaProizvodnje],
[Garancija], [#IDproizvodjacafk]) VALUES (6, N'Kuciste', 3000.0000, CAST(N'2021-03-03' AS
Date), CAST(N'2022-03-03' AS Date), 1)
INSERT [dbo].[Komponente] ([#IDkomponente], [Naziv], [Cena], [GodinaProizvodnje],
[Garancija], [#IDproizvodjacafk]) VALUES (7, N'HardDisk', 6000.0000, CAST(N'2021-04-04'
AS Date), CAST(N'2022-04-04' AS Date), 5)
INSERT [dbo].[Komponente] ([#IDkomponente], [Naziv], [Cena], [GodinaProizvodnje],
[Garancija], [#IDproizvodjacafk]) VALUES (8, N'Procesor', 15000.0000, CAST(N'2021-01-01'
AS Date), CAST(N'2022-01-01' AS Date), 3)
INSERT [dbo].[Komponente] ([#IDkomponente], [Naziv], [Cena], [GodinaProizvodnje],
[Garancija], [#IDproizvodjacafk]) VALUES (9, N'Mis', 3000.0000, CAST(N'2021-01-01' AS
Date), CAST(N'2022-01-01' AS Date), 2)
GO
INSERT [dbo].[Prodavac] ([#IDprodavca], [#IDkupca], [#IDugovora], [#IDkomponente],
[#IDradnika], [Ime], [Prezime], [Adresa], [Telefon]) VALUES (1, 1, 1, 1, 1, N'Marko',
N'Markovic', N'KnezMilos', 69111222)
INSERT [dbo].[Prodavac] ([#IDprodavca], [#IDkupca], [#IDugovora], [#IDkomponente],
[#IDradnika], [Ime], [Prezime], [Adresa], [Telefon]) VALUES (2, 2, 2, 2, 2, N'Vukasin',
N'Vukasinovic', N'Bulevar Vojvode', 69333444)
INSERT [dbo].[Prodavac] ([#IDprodavca], [#IDkupca], [#IDugovora], [#IDkomponente],
[#IDradnika], [Ime], [Prezime], [Adresa], [Telefon]) VALUES (3, 3, 3, 3, 3, N'Ivana',
N'Ivanovic', N'Veljka Vlahovic', 69555666)
GO
INSERT [dbo].[GrupaKomponenta] ([#IDkomponente], [Opis]) VALUES (4, N'Mis i tastatura')
GO
INSERT [dbo].[JednaKomponenta] ([#IDkomponente], [Opis]) VALUES (3, N'Graficka')
GO
INSERT [dbo].[Mis] ([#IDKomponente], [BrojDugmica]) VALUES (1, 4)
GO
INSERT [dbo].[Zvucnik] ([#IDKomponente], [Snaga], [Kolicina]) VALUES (4, 200, 3)
GO
INSERT [dbo].[Tastatura] ([#IDKomponente], [Jezik], [Tip]) VALUES (2, 'Srpski',
'Mehanicka')
GO
INSERT [dbo].[KucisteZaRacunar] ([#IDKomponente], [Povrsina], [Boja]) VALUES (6, 10,
N'Crvena')
GO
INSERT [dbo].[HardDisk] ([#IDKomponente], [Prostor], [Obrtaja]) VALUES (7, 100000, 500)
GO
INSERT [dbo].[Procesor] ([#IDKomponente], [Takt], [BrojJezgra]) VALUES (8, 15, 16)
GO
INSERT [dbo].[Graficka] ([#IDkomponente], [Generacija], [Frekvencija]) VALUES (3, 9, 150)
GO

22
Projektovanje baze podataka za prodaju računarske opreme

7. Tabelarni prikaz sadržaja tabela

Slika 5. Tabela – Angažovanje

Slika 6. Tabela – Dobavljač

Slika 7. Tabela – Dodatni Troškovi

Slika 8. Tabela – Faktura

Slika 9. Tabela – Grad

Slika 10. Tabela – Graficka

23
Projektovanje baze podataka za prodaju računarske opreme

Slika 11. Tabela – Grupa Komponenta

Slika 12. Tabela – HardDisk

Slika 13.Tabela – Isplata

Slika 14. Tabela – IsplataRadnicima

Slika 15. Tabela – Jedna Komponenta

Slika 16. Tabela – Komponente

Slika 17. Tabela – Kucište za računar

24
Projektovanje baze podataka za prodaju računarske opreme

Slika 18. Tabela – Kupac

Slika 19. Tabela – Lokacija

Slika 20. Tabela – Magacin

Slika 21. Tabela – Miš

Slika 22. Tabela – Nabavka

Slika 23. Tabela – Procesor

25
Projektovanje baze podataka za prodaju računarske opreme

Slika 24. Tabela – Prodavac

Slika 25. Tabela – Proizvođač

Slika 26. Tabela – Radnik

Slika 27. Tabela – Radni Status

Slika 28. Tabela – Radno Mesto

Slika 29. Tabela – Spisak Nabavke

26
Projektovanje baze podataka za prodaju računarske opreme

Slika 30. Tabela – Stanje u Prodaji

Slika 31. Tabela – Tastatura

Slika 32. Tabela – Ugovor

Slika 33. Tabela – Zahtev za odmor

Slika 34. Tabela - Zvučnik

27
Projektovanje baze podataka za prodaju računarske opreme

8. Prikaz baznih pogleda, procedura i funkcija


U ovom poglavlju, po podsistemima, se daju prikazi pogleda, baznih procedura i funkcija

8.1 Podsistem Radnik


8.1.1 Pogled
Potrebno je kreirati pogled PregledNedostupnihRadnika kroz koji de se modi videti podaci o radniku,

create view PregledNedostupnihRadnika


as
select r.#IDradnika,r.ime, r.prezime, rs.NazivRS, Razlog
from radnik r join RadniStatus rs on r.#IDradnistatusfk = rs.#IDradnistatus
right join ZahtevZaOdmor zo on r.#IDodmorafk = zo.#IDodmora

select * from PregledNedostupnihRadnika

8.1.2 Poslovna transakcija i bazna procedura

8.1.2.1 Definicija poslovne transakcije


Firma ima potrebu da vodi evidenciju o dostupnim radnicima. Da li mogu da rade ili ne. Kako se radnici
vrate sa bolovanja ili odmora, mi demo lakše pristupiti dostupnim radnicima.

8.1.2.2 Bazna procedura


Napraviti baznu procduru IzmenaDostupnosti koja će kao argumente prihvatiti IDradnika,
Razlog odmora, Razlog odmora. U nastavku sledi kod za kreiranje bazne procedure.

create procedure dbo.IzmenaDostupnosti


@Dostupan nvarchar(20),
@IDD int,
@Razlog nvarchar(20)
as begin
update RadniStatus
set NazivRS = @Dostupan
where NazivRS in ( select rs.NazivRS
from Radnik r join RadniStatus rs on r.#IDradnistatusfk = rs.#IDradnistatus
join ZahtevZaOdmor o on r.#IDodmorafk = o.#IDodmora

where @IDD = r.#IDradnika and @Razlog = o.Razlog and rs.NazivRS='Dostupan')

end

exec IzmenaDostupnosti
@Dostupan = 'Nedostupan',
@IDD = 3,
@Razlog = 'Oporavio se'

28
Projektovanje baze podataka za prodaju računarske opreme

8.1.3. Bazna funkcija


Potrebno je kreirati baznu funkciju NEdostupniRadnici koja će kao argument prihvatiti
IDradnika, a vratiti pogled PregledNedostupnihRadnika. U nastavku je kod bazne funkcije.

create function NEdostupniRadnici (@neDostupan as numeric)


returns table
as return
(
select *
from PregledNedostupnihRadnikaa
where #IDradnika = @nedostupan
)
select * from NEdostupniRadnici(2)

8.2 Podsistem Nabavka

8.2.1 Pogled
Potrebno je kreirati pogled PregledDodatnihTroškova ,. kod kojih de se videti IDnabavke, iznos, svrha,
kolicina I cena po jedinici. U nastavku je kod pogleda.

create view PregledDodatnihTroskova


as
select n. #IDnabavke, d. iznos, d. svrha, s.Kolicina, s. CenaPoJedinici
from nabavka n join DodatniTroskovi d on n.#IDtroskovafk = d.#IDtroskova
join SpisakNabavke s on n.#IDnabavke = s.#IDnabavke

select * from PregledDodatnihTroskova

29
Projektovanje baze podataka za prodaju računarske opreme

8.2.2 Poslovna transakcija i bazna procedura

8.2.2.1 Definicija poslovne transakcije


U slučaju da cena narudzbine prelazi cenu koja je prosleđena potrebno je umanjiti cenu za
određeni iznos.

8.2.2.2 Bazna procedura


Napraviti baznu poceduru SmanjenjeCenuNabavke koja treba da umanji ukupnu
vrednost nabavke preko 50000RSD za 5000RSD. Procedura treba kao argumente
da prihvati Cenu i iznos za koji se umanjuje cena. U nastavku sledi programski kod
za kreiranje bazne procedure.

CREATE PROCEDURE SmanjenjeCeneNabavke


@IznosUmanjenja int,
@cena int
as
begin
UPDATE dbo.Faktura
SET UkupnaVrednost = UkupnaVrednost - @IznosUmanjenja
WHERE UkupnaVrednost IN(SELECT f.UkupnaVrednost FROM Faktura f join SpisakNabavke
sn on f.#IDnabavkefk = sn.#IDnabavke
join Isplata i on f.#IDisplate = i.#IDisplate WHERE f.UkupnaVrednost> @cena)
END;
EXEC SmanjiCenuNabavke @IznosUmanjenja = 5000, @cena = 50000

8.2.3. Bazna funkcija


Potrebno je napraviti funkciju PrekidNabavke koja će prikazati prekid veze sa
dobavljačem. Funkcija će kao argument prihvatiti IDnabavke, a vratiti naziv
dobavljača, adresu dobavljača, datum otkazivanja, razlog otkazivanja nabavke i
količinu.

Create function PrekidNabavke(@#IDnabavke int)


Returns table
As return
(

select d.nazivdobavljaca, d.adresadobavljaca, n.datumotkazivanja, n.razlogotkazivanja,


s.kolicina
from Dobavljac d join obavlja o on d.#IDdobavljaca = o.#IDdobavljaca
join Nabavka n on o.#IDnabavke = n.#IDnabavke
join SpisakNabavke s on n.#IDnabavke = s.#IDnabavke

where s.#IDnabavke = @#IDnabavke


)
select*from PrekidNabavke(11)

30
Projektovanje baze podataka za prodaju računarske opreme

U ovom slučaju neće pokazati ništa, jer nije došlo do prekida.

8.4 Podsistem Firma

8.4.1 Pogled

Potrebno je kreirati Pogled koji de vratiti informacije o prodaji.

U nastavku je kod pogleda.

create view PregledProdaje


as
select p.#IDprodavca, k.Ime as'Ime Kupca', k.Kontakt, kk.Naziv, kk.Cena
from Prodavac p join Kupac k on p.#IDkupca = k.#IDKupca
join Komponente kk on p.#IDkomponente = kk.#IDkomponente

select * from PregledProdaje

8.3.2 Poslovna transakcija i bazna procedura

8.3.2.1 Definicija poslovne transakcije


U slučaju da porudžbina pređe 9000RSD firma je odlučila da nagradi kupce.

8.3.2.2 Bazna procedura


Napraviti baznu proceduru SmanjenjivanjeCeneProdaje koja će umanjiti cenu
kupovine za 1000RSD. Procedura treba da prihvati cenu. U nastavku sledi kod za
baznu proceduru.

create procedure SmanjenjivanjeCeneProdaje

@cena money

as begin

31
Projektovanje baze podataka za prodaju računarske opreme

UPDATE Komponente
set Cena = Cena - @cena
where Cena in ( select k.cena from Komponente k where k.Cena>9000 )

end
exec SmanjenjivanjeCeneProdaje
@cena = 1000.0000

8.3.3 Bazna funkcija

Potrebno je napraviti funkciju PregledProdajeRadnika koja će prihvatiti argument


IDprodavca I vratiti radnika sa odredjenom šifrom.

create function PregledProdajeRadnika(@ID as numeric)

returns table
as return
(
Select * from PregledProdaje
where #IDprodavca = @ID
)

select * from PregledProdajeRadnika(3)

32
Projektovanje baze podataka za prodaju računarske opreme

9. Literatura

1. Majstorović M.: Baze podataka, predavanja i vežbe za predmet u ppt formi, školska
2019/2020. (na studentskom portalu).

3. Majstorović M.: Napredne Baze podataka, predavanja i vežbe za predmet u ppt formi,
školska 2019/2020. (na studentskom portalu).

2. Majstorović M.: Napredne baze podataka, ITS, Beograd, 2017, ISBN 978-86-89007-19-0.

33

You might also like