-
Notifications
You must be signed in to change notification settings - Fork 0
/
Postavka.sql
188 lines (163 loc) · 5.7 KB
/
Postavka.sql
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
----------------------------
--1.
----------------------------
/*
Kreirati bazu pod vlastitim brojem indeksa
*/
-----------------------------------------------------------------------
--Prilikom kreiranja tabela voditi računa o njihovom međusobnom odnosu.
-----------------------------------------------------------------------
/*
a)
Kreirati tabelu dobavljac sljedeće strukture:
- dobavljac_id - cjelobrojna vrijednost, primarni ključ
- dobavljac_br_rac - 50 unicode karaktera
- naziv_dobavljaca - 50 unicode karaktera
- kred_rejting - cjelobrojna vrijednost
*/
/*
b)
Kreirati tabelu narudzba sljedeće strukture:
- narudzba_id - cjelobrojna vrijednost, primarni ključ
- narudzba_detalj_id - cjelobrojna vrijednost, primarni ključ
- dobavljac_id - cjelobrojna vrijednost
- dtm_narudzbe - datumska vrijednost
- naruc_kolicina - cjelobrojna vrijednost
- cijena_proizvoda - novčana vrijednost
*/
/*
c)
Kreirati tabelu dobavljac_proizvod sljedeće strukture:
- proizvod_id cjelobrojna vrijednost, primarni ključ
- dobavljac_id cjelobrojna vrijednost, primarni ključ
- proiz_naziv 50 unicode karaktera
- serij_oznaka_proiz 50 unicode karaktera
- razlika_min_max cjelobrojna vrijednost
- razlika_max_narudzba cjelobrojna vrijednost
*/
--10 bodova
----------------------------
--2. Insert podataka
----------------------------
/*
a)
U tabelu dobavljac izvršiti insert podataka iz tabele Purchasing.Vendor prema sljedećoj strukturi:
BusinessEntityID -> dobavljac_id
AccountNumber -> dobavljac_br_rac
Name -> naziv_dobavljaca
CreditRating -> kred_rejting
*/
/*
b)
U tabelu narudzba izvršiti insert podataka iz tabela Purchasing.PurchaseOrderHeader i Purchasing.
PurchaseOrderDetail prema sljedećoj strukturi:
PurchaseOrderID -> narudzba_id
PurchaseOrderDetailID -> narudzba_detalj_id
VendorID -> dobavljac_id
OrderDate -> dtm_narudzbe
OrderQty -> naruc_kolicina
UnitPrice -> cijena_proizvoda
*/
/*
c)
U tabelu dobavljac_proizvod izvršiti insert podataka iz tabela Purchasing.ProductVendor i
Production.Product prema sljedećoj strukturi:
ProductID -> proizvod_id
BusinessEntityID -> dobavljac_id
Name -> proiz_naziv
ProductNumber -> serij_oznaka_proiz
MaxOrderQty - MinOrderQty -> razlika_min_max
MaxOrderQty - OnOrderQty -> razlika_max_narudzba
uz uslov da se povuku samo oni zapisi u kojima ProductSubcategoryID nije NULL vrijednost.
*/
--10 bodova
----------------------------
--3.
----------------------------
/*
Koristeći sve tri tabele iz vlastite baze kreirati pogled view_dob_god sljedeće strukture:
- dobavljac_id
- proizvod_id
- naruc_kolicina
- cijena_proizvoda
- ukupno, kao proizvod naručene količine i cijene proizvoda
Uslov je da se dohvate samo oni zapisi u kojima je narudžba obavljena 2013. ili 2014. godine i da se
broj računa dobavljača završava cifrom 1.
*/
--10 bodova
----------------------------
--4.
----------------------------
/*
Koristeći pogled view_dob_god kreirati proceduru proc_dob_god koja će sadržavati parametar naruc_kolicina i imati sljedeću strukturu:
- dobavljac_id
- proizvod_id
- suma_ukupno, sumirana vrijednost kolone ukupno po dobavljac_id i proizvod_id
Uslov je da se dohvataju samo oni zapisi u kojima je naručena količina trocifreni broj.
Nakon kreiranja pokrenuti proceduru za vrijednost naručene količine 300.
*/
--10 bodova
----------------------------
--5.
----------------------------
/*
a)
Tabelu dobavljac_proizvod kopirati u tabelu dobavljac_proizvod_nova.
b)
Iz tabele dobavljac_proizvod_nova izbrisati kolonu razlika_min_max.
c)
U tabeli dobavljac_proizvod_nova kreirati novu kolonu razlika. Kolonu popuniti razlikom vrijednosti kolone
razlika_max_narudzba i srednje vrijednosti ove kolone, uz uslov da ako se u zapisu nalazi NULL vrijednost
u kolonu razlika smjestiti 0.
*/
--15 bodova
----------------------------
--6.
----------------------------
/*
Prebrojati koliko u tabeli dobavljac_proizvod ima različitih serijskih oznaka proizvoda koje završavaju bilo kojim slovom engleskog alfabeta,
a koliko ima onih koji ne završavaju bilo kojim slovom engleskog alfabeta. Upit treba da vrati poruke:
'Različitih serijskih oznaka proizvoda koje završavaju slovom engleskog alfabeta ima:' iza čega slijedi broj zapisa
i
'Različitih serijskih oznaka proizvoda koje NE završavaju slovom engleskog alfabeta ima:' iza čega slijedi broj zapisa
*/
--10 bodova
----------------------------
--7.
----------------------------
/*
a)
Dati informaciju o dužinama podatka u koloni serij_oznaka_proiz tabele dobavljac_proizvod.
b)
Dati informaciju o broju različitih dužina podataka u koloni serij_oznaka_proiz tabele dobavljac_proizvod.
Poruka treba biti u obliku: 'Kolona serij_oznaka_proiz ima ___ različite dužinr podataka.
' Na mjestu donje crte se nalazi izračunati brojčani podatak.
*/
--10 bodova
----------------------------
--8.
----------------------------
/*
Prebrojati kod kolikog broja dobavljača je broj računa kreiran korištenjem više od jedne riječi iz naziva dobavljača.
Jednom riječi se podrazumijeva skup slova koji nije prekinut blank (space) znakom.
*/
--10 bodova
----------------------------
--9.
----------------------------
/*
Koristeći pogled view_dob_god kreirati proceduru proc_djeljivi koja će sadržavati parametar prebrojano i kojom će se prebrojati
broj pojavljivanja vrijednosti u koloni naruc_kolicina koje su djeljive sa 100. Sortirati po koloni prebrojano.
Nakon kreiranja pokrenuti proceduru za sljedeću vrijednost parametra prebrojano = 10
*/
--13 bodova
----------------------------
--10.
----------------------------
/*
a) Kreirati backup baze na default lokaciju.
b) Napisati kod kojim će biti moguće obrisati bazu.
c) Izvršiti restore baze.
Uslov prihvatanja kodova je da se mogu pokrenuti.
*/
--2 boda