DatabaseCreation: DDL.2.sql

File DDL.2.sql, 75.2 KB (added by 231102, 5 days ago)
Line 
1-- ============ TABLE: dok_dokument_potpis ============
2CREATE TABLE public.dok_dokument_potpis (
3 id integer NOT NULL DEFAULT nextval('dok_dokument_potpis_id_seq'::regclass),
4 vraboten_angazman_id integer NOT NULL,
5 vraboten_funkcija_id integer,
6 generiran_dokument_id integer NOT NULL,
7 tip_potpis character varying(255),
8 potpis text,
9 data timestamp without time zone,
10 CONSTRAINT dok_dokument_potpis_pkey PRIMARY KEY (id),
11 CONSTRAINT fk_dp_angazman FOREIGN KEY (vraboten_angazman_id) REFERENCES vr_vraboten_angazman(id),
12 CONSTRAINT fk_dp_funkcija FOREIGN KEY (vraboten_funkcija_id) REFERENCES vr_vraboten_funkcija(id),
13 CONSTRAINT fk_dp_gen_doc FOREIGN KEY (generiran_dokument_id) REFERENCES dok_generiran_dokument(id) ON DELETE CASCADE
14);
15
16-- ============ TABLE: dok_dokument_templejt_atributi ============
17CREATE TABLE public.dok_dokument_templejt_atributi (
18 id integer NOT NULL DEFAULT nextval('dok_dokument_templejt_atributi_id_seq'::regclass),
19 dokument_templejt_id integer NOT NULL,
20 ime_atribut character varying(255),
21 regex character varying(255),
22 tip_atribut_id integer NOT NULL,
23 zadolzitelen boolean,
24 CONSTRAINT dok_dokument_templejt_atributi_pkey PRIMARY KEY (id),
25 CONSTRAINT fk_dta_templejt FOREIGN KEY (dokument_templejt_id) REFERENCES dok_dokument_templejti(id),
26 CONSTRAINT fk_dta_tip_atr FOREIGN KEY (tip_atribut_id) REFERENCES tip_atribut(id)
27);
28
29-- ============ TABLE: dok_dokument_templejti ============
30CREATE TABLE public.dok_dokument_templejti (
31 id integer NOT NULL DEFAULT nextval('dok_dokument_templejti_id_seq'::regclass),
32 tip_dokument_organizaciona_edinica_id integer NOT NULL,
33 templejt text,
34 aktiven boolean,
35 CONSTRAINT dok_dokument_templejti_pkey PRIMARY KEY (id),
36 CONSTRAINT fk_dt_tdoe FOREIGN KEY (tip_dokument_organizaciona_edinica_id) REFERENCES dok_tip_dokumenti_organizaciona_edinica(id)
37);
38
39-- ============ TABLE: dok_generiran_dokument ============
40CREATE TABLE public.dok_generiran_dokument (
41 id integer NOT NULL DEFAULT nextval('dok_generiran_dokument_id_seq'::regclass),
42 tip_dokument_organizaciona_edinica_id integer NOT NULL,
43 dokument_templejt_id integer NOT NULL,
44 url character varying(255),
45 user_id integer NOT NULL,
46 CONSTRAINT dok_generiran_dokument_pkey PRIMARY KEY (id),
47 CONSTRAINT fk_gd_tdoe FOREIGN KEY (tip_dokument_organizaciona_edinica_id) REFERENCES dok_tip_dokumenti_organizaciona_edinica(id),
48 CONSTRAINT fk_gd_templejt FOREIGN KEY (dokument_templejt_id) REFERENCES dok_dokument_templejti(id)
49);
50
51-- ============ TABLE: dok_generiran_dokument_vrednosti ============
52CREATE TABLE public.dok_generiran_dokument_vrednosti (
53 id integer NOT NULL DEFAULT nextval('dok_generiran_dokument_vrednosti_id_seq'::regclass),
54 dokument_templejt_atributi_id integer NOT NULL,
55 generiran_dokument_id integer NOT NULL,
56 string_vrednost character varying(255),
57 numericka_vrednost numeric,
58 boolean_vrednost boolean,
59 CONSTRAINT dok_generiran_dokument_vrednosti_pkey PRIMARY KEY (id),
60 CONSTRAINT fk_gdv_dta FOREIGN KEY (dokument_templejt_atributi_id) REFERENCES dok_dokument_templejt_atributi(id),
61 CONSTRAINT fk_gdv_gen_doc FOREIGN KEY (generiran_dokument_id) REFERENCES dok_generiran_dokument(id) ON DELETE CASCADE
62);
63
64-- ============ TABLE: dok_tip_dokumenti_organizaciona_edinica ============
65CREATE TABLE public.dok_tip_dokumenti_organizaciona_edinica (
66 id integer NOT NULL DEFAULT nextval('dok_tip_dokumenti_organizaciona_edinica_id_seq'::regclass),
67 dokument_ime character varying(255),
68 organizaciona_edinica_id integer NOT NULL,
69 tip_naplata_organizaciona_edinica_id integer NOT NULL,
70 CONSTRAINT dok_tip_dokumenti_organizaciona_edinica_pkey PRIMARY KEY (id),
71 CONSTRAINT fk_tdoe_org_ed FOREIGN KEY (organizaciona_edinica_id) REFERENCES or_organizaciona_edinica(id),
72 CONSTRAINT fk_tdoe_tnoe FOREIGN KEY (tip_naplata_organizaciona_edinica_id) REFERENCES fin_tip_naplati_organizaciona_edinica(id)
73);
74
75-- ============ TABLE: drzavi ============
76CREATE TABLE public.drzavi (
77 id integer NOT NULL DEFAULT nextval('drzavi_id_seq'::regclass),
78 drzava_kod character varying(255),
79 drzava_ime character varying(255),
80 CONSTRAINT drzavi_pkey PRIMARY KEY (id)
81);
82
83-- ============ TABLE: ent_entiteti ============
84CREATE TABLE public.ent_entiteti (
85 id integer NOT NULL DEFAULT nextval('ent_entiteti_id_seq'::regclass),
86 ime_entitet character varying(255),
87 user_id integer NOT NULL,
88 CONSTRAINT ent_entiteti_pkey PRIMARY KEY (id),
89 CONSTRAINT ent_entiteti_ime_entitet_key UNIQUE (ime_entitet),
90 CONSTRAINT fk_ent_user FOREIGN KEY (user_id) REFERENCES korisnici(id)
91);
92
93-- ============ TABLE: ent_entiteti_smetki ============
94CREATE TABLE public.ent_entiteti_smetki (
95 id integer NOT NULL DEFAULT nextval('ent_entiteti_smetki_id_seq'::regclass),
96 entitet_id integer NOT NULL,
97 transakciska_smetka_id integer NOT NULL,
98 aktivna boolean,
99 CONSTRAINT ent_entiteti_smetki_pkey PRIMARY KEY (id),
100 CONSTRAINT fk_ents_entitet FOREIGN KEY (entitet_id) REFERENCES ent_entiteti(id),
101 CONSTRAINT fk_ents_smetka FOREIGN KEY (transakciska_smetka_id) REFERENCES fin_transakciski_smetki(id)
102);
103
104-- ============ TABLE: fin_banki ============
105CREATE TABLE public.fin_banki (
106 id integer NOT NULL DEFAULT nextval('fin_banki_id_seq'::regclass),
107 ime_banka character varying(255) NOT NULL,
108 swift_bic character varying(255),
109 drzava_kod character varying(2),
110 CONSTRAINT fin_banki_pkey PRIMARY KEY (id)
111);
112
113-- ============ TABLE: fin_finansiska_obvrska ============
114CREATE TABLE public.fin_finansiska_obvrska (
115 id integer NOT NULL DEFAULT nextval('fin_finansiska_obvrska_id_seq'::regclass),
116 user_id integer NOT NULL,
117 organizaciona_edinica_id integer NOT NULL,
118 tip_naplata_organizaciona_edinica_id integer NOT NULL,
119 tip_naplati_cenovnik_id integer,
120 status_finansiska_obvrska_id integer NOT NULL,
121 dokument_id integer,
122 datum_kreiranje timestamp without time zone NOT NULL,
123 datum_dospevanje date,
124 originalna_suma numeric(14,2) NOT NULL,
125 otvorena_suma numeric(14,2) NOT NULL,
126 vid_valuta_id integer NOT NULL,
127 opis character varying(255),
128 finansiska_obvrska_id integer,
129 CONSTRAINT fin_finansiska_obvrska_pkey PRIMARY KEY (id),
130 CONSTRAINT chk_fo_originalna_pozitivna CHECK ((originalna_suma > (0)::numeric)),
131 CONSTRAINT chk_fo_otvorena_max CHECK ((otvorena_suma <= originalna_suma)),
132 CONSTRAINT chk_fo_otvorena_nenegativna CHECK ((otvorena_suma >= (0)::numeric)),
133 CONSTRAINT fk_fo_dokument FOREIGN KEY (dokument_id) REFERENCES fin_finansiski_dokument(id),
134 CONSTRAINT fk_fo_org_ed FOREIGN KEY (organizaciona_edinica_id) REFERENCES or_organizaciona_edinica(id),
135 CONSTRAINT fk_fo_parent_fo FOREIGN KEY (finansiska_obvrska_id) REFERENCES fin_finansiska_obvrska(id),
136 CONSTRAINT fk_fo_status FOREIGN KEY (status_finansiska_obvrska_id) REFERENCES fin_status_finansiska_obvrska(id),
137 CONSTRAINT fk_fo_tip_cenov FOREIGN KEY (tip_naplati_cenovnik_id) REFERENCES fin_tip_naplati_cenovnik(id),
138 CONSTRAINT fk_fo_tip_nap_oe FOREIGN KEY (tip_naplata_organizaciona_edinica_id) REFERENCES fin_tip_naplati_organizaciona_edinica(id),
139 CONSTRAINT fk_fo_user FOREIGN KEY (user_id) REFERENCES korisnici(id),
140 CONSTRAINT fk_fo_valuta FOREIGN KEY (vid_valuta_id) REFERENCES fin_vid_valuta(id)
141);
142
143-- ============ TABLE: fin_finansiska_obvrska_stavka ============
144CREATE TABLE public.fin_finansiska_obvrska_stavka (
145 id integer NOT NULL DEFAULT nextval('fin_finansiska_obvrska_stavka_id_seq'::regclass),
146 finansiska_obvrska_id integer NOT NULL,
147 naziv_stavka character varying(255) NOT NULL,
148 referenca_tip character varying(255),
149 referenca_id integer,
150 kolicina numeric(12,2) NOT NULL DEFAULT 1,
151 edinicna_cena numeric(14,2) NOT NULL,
152 iznos numeric(14,2) NOT NULL,
153 CONSTRAINT fin_finansiska_obvrska_stavka_pkey PRIMARY KEY (id),
154 CONSTRAINT chk_fos_cena CHECK ((edinicna_cena >= (0)::numeric)),
155 CONSTRAINT chk_fos_iznos CHECK ((iznos >= (0)::numeric)),
156 CONSTRAINT chk_fos_kolicina CHECK ((kolicina > (0)::numeric)),
157 CONSTRAINT fk_fos_fo FOREIGN KEY (finansiska_obvrska_id) REFERENCES fin_finansiska_obvrska(id) ON DELETE CASCADE
158);
159
160-- ============ TABLE: fin_finansiski_dokument ============
161CREATE TABLE public.fin_finansiski_dokument (
162 id integer NOT NULL DEFAULT nextval('fin_finansiski_dokument_id_seq'::regclass),
163 finansiski_dokument_tip_id integer NOT NULL,
164 organizaciona_edinica_id integer NOT NULL,
165 user_id integer,
166 dokument_broj character varying(255) NOT NULL,
167 datum_izdavanje date NOT NULL,
168 status character varying(255) NOT NULL,
169 vid_valuta_id integer NOT NULL,
170 vkupen_iznos numeric(14,2) NOT NULL,
171 izvoren_tip character varying(255),
172 CONSTRAINT fin_finansiski_dokument_pkey PRIMARY KEY (id),
173 CONSTRAINT fk_fd_org_ed FOREIGN KEY (organizaciona_edinica_id) REFERENCES or_organizaciona_edinica(id),
174 CONSTRAINT fk_fd_tip FOREIGN KEY (finansiski_dokument_tip_id) REFERENCES fin_finansiski_dokument_tip(id),
175 CONSTRAINT fk_fd_user FOREIGN KEY (user_id) REFERENCES korisnici(id),
176 CONSTRAINT fk_fd_valuta FOREIGN KEY (vid_valuta_id) REFERENCES fin_vid_valuta(id)
177);
178
179-- ============ TABLE: fin_finansiski_dokument_tip ============
180CREATE TABLE public.fin_finansiski_dokument_tip (
181 id integer NOT NULL DEFAULT nextval('fin_finansiski_dokument_tip_id_seq'::regclass),
182 kod character varying(255) NOT NULL,
183 ime character varying(255) NOT NULL,
184 nasoka character varying(255) NOT NULL,
185 CONSTRAINT fin_finansiski_dokument_tip_pkey PRIMARY KEY (id),
186 CONSTRAINT fin_finansiski_dokument_tip_kod_key UNIQUE (kod)
187);
188
189-- ============ TABLE: fin_finansiski_dokument_vrska ============
190CREATE TABLE public.fin_finansiski_dokument_vrska (
191 id integer NOT NULL DEFAULT nextval('fin_finansiski_dokument_vrska_id_seq'::regclass),
192 parent_dokument_id integer NOT NULL,
193 child_dokument_id integer NOT NULL,
194 relation_type character varying(255) NOT NULL,
195 CONSTRAINT fin_finansiski_dokument_vrska_pkey PRIMARY KEY (id),
196 CONSTRAINT fk_fdv_child FOREIGN KEY (child_dokument_id) REFERENCES fin_finansiski_dokument(id),
197 CONSTRAINT fk_fdv_parent FOREIGN KEY (parent_dokument_id) REFERENCES fin_finansiski_dokument(id)
198);
199
200-- ============ TABLE: fin_isplata_alokacija ============
201CREATE TABLE public.fin_isplata_alokacija (
202 id integer NOT NULL DEFAULT nextval('fin_isplata_alokacija_id_seq'::regclass),
203 isplata_id integer NOT NULL,
204 isplatna_obvrska_id integer NOT NULL,
205 alocirana_suma numeric(14,2) NOT NULL,
206 created_at timestamp without time zone NOT NULL,
207 CONSTRAINT fin_isplata_alokacija_pkey PRIMARY KEY (id),
208 CONSTRAINT chk_ia_suma CHECK ((alocirana_suma > (0)::numeric)),
209 CONSTRAINT fk_ia_io FOREIGN KEY (isplatna_obvrska_id) REFERENCES fin_isplatna_obvrska(id),
210 CONSTRAINT fk_ia_isplata FOREIGN KEY (isplata_id) REFERENCES fin_isplati(id) ON DELETE CASCADE
211);
212
213-- ============ TABLE: fin_isplati ============
214CREATE TABLE public.fin_isplati (
215 id integer NOT NULL DEFAULT nextval('fin_isplati_id_seq'::regclass),
216 user_id integer NOT NULL,
217 korisnik_isplata_id integer NOT NULL,
218 transakciska_smetka_id integer NOT NULL,
219 organizaciona_edinica_id integer NOT NULL,
220 naplatena_suma numeric(14,2) NOT NULL,
221 vid_valuta_id integer NOT NULL,
222 status_transakcija_id integer NOT NULL,
223 nadvoresna_referenca character varying(255),
224 pobarana timestamp without time zone,
225 izvrsena timestamp without time zone,
226 data date,
227 CONSTRAINT fin_isplati_pkey PRIMARY KEY (id),
228 CONSTRAINT chk_isplata_suma CHECK ((naplatena_suma > (0)::numeric)),
229 CONSTRAINT fk_isp_kor_isp FOREIGN KEY (korisnik_isplata_id) REFERENCES fin_korisnici_isplata(id),
230 CONSTRAINT fk_isp_org_ed FOREIGN KEY (organizaciona_edinica_id) REFERENCES or_organizaciona_edinica(id),
231 CONSTRAINT fk_isp_smetka FOREIGN KEY (transakciska_smetka_id) REFERENCES fin_transakciski_smetki(id),
232 CONSTRAINT fk_isp_stat_trans FOREIGN KEY (status_transakcija_id) REFERENCES fin_status_transakcija(id),
233 CONSTRAINT fk_isp_user FOREIGN KEY (user_id) REFERENCES korisnici(id),
234 CONSTRAINT fk_isp_valuta FOREIGN KEY (vid_valuta_id) REFERENCES fin_vid_valuta(id)
235);
236
237-- ============ TABLE: fin_isplatna_obvrska ============
238CREATE TABLE public.fin_isplatna_obvrska (
239 id integer NOT NULL DEFAULT nextval('fin_isplatna_obvrska_id_seq'::regclass),
240 user_id integer NOT NULL,
241 organizaciona_edinica_id integer NOT NULL,
242 tip_isplatna_obvrska_id integer NOT NULL,
243 status_isplatna_obvrska_id integer NOT NULL,
244 dokument_id integer NOT NULL,
245 plata_stavka_vraboten_id integer,
246 izvoren_tip character varying(255),
247 originalna_suma numeric(14,2) NOT NULL,
248 otvorena_suma numeric(14,2) NOT NULL,
249 vid_valuta_id integer NOT NULL,
250 kreirano_na timestamp without time zone NOT NULL,
251 odobreno_na timestamp without time zone,
252 due_date date,
253 opis character varying(255),
254 CONSTRAINT fin_isplatna_obvrska_pkey PRIMARY KEY (id),
255 CONSTRAINT chk_io_originalna_pozitivna CHECK ((originalna_suma > (0)::numeric)),
256 CONSTRAINT chk_io_otvorena_max CHECK ((otvorena_suma <= originalna_suma)),
257 CONSTRAINT chk_io_otvorena_nenegativna CHECK ((otvorena_suma >= (0)::numeric)),
258 CONSTRAINT fk_io_dokument FOREIGN KEY (dokument_id) REFERENCES fin_finansiski_dokument(id),
259 CONSTRAINT fk_io_org_ed FOREIGN KEY (organizaciona_edinica_id) REFERENCES or_organizaciona_edinica(id),
260 CONSTRAINT fk_io_plata_stavka FOREIGN KEY (plata_stavka_vraboten_id) REFERENCES fin_plata_stavka_vraboten(id),
261 CONSTRAINT fk_io_status FOREIGN KEY (status_isplatna_obvrska_id) REFERENCES fin_status_isplatna_obvrska(id),
262 CONSTRAINT fk_io_tip FOREIGN KEY (tip_isplatna_obvrska_id) REFERENCES fin_tip_isplatna_obvrska(id),
263 CONSTRAINT fk_io_user FOREIGN KEY (user_id) REFERENCES korisnici(id),
264 CONSTRAINT fk_io_valuta FOREIGN KEY (vid_valuta_id) REFERENCES fin_vid_valuta(id)
265);
266
267-- ============ TABLE: fin_korisnici_isplata ============
268CREATE TABLE public.fin_korisnici_isplata (
269 id integer NOT NULL DEFAULT nextval('fin_korisnici_isplata_id_seq'::regclass),
270 transakciska_smetka_id integer NOT NULL,
271 user_id integer NOT NULL,
272 CONSTRAINT fin_korisnici_isplata_pkey PRIMARY KEY (id),
273 CONSTRAINT fk_ki_smetka FOREIGN KEY (transakciska_smetka_id) REFERENCES fin_transakciski_smetki(id),
274 CONSTRAINT fk_ki_user FOREIGN KEY (user_id) REFERENCES korisnici(id)
275);
276
277-- ============ TABLE: fin_korisnici_naplati ============
278CREATE TABLE public.fin_korisnici_naplati (
279 id integer NOT NULL DEFAULT nextval('fin_korisnici_naplati_id_seq'::regclass),
280 korisnik_vid_naplata_id integer NOT NULL,
281 user_id integer NOT NULL,
282 CONSTRAINT fin_korisnici_naplati_pkey PRIMARY KEY (id),
283 CONSTRAINT fk_kn_user FOREIGN KEY (user_id) REFERENCES korisnici(id),
284 CONSTRAINT fk_kn_vid_nap FOREIGN KEY (korisnik_vid_naplata_id) REFERENCES fin_korisnik_vid_naplati(id)
285);
286
287-- ============ TABLE: fin_korisnik_naplata_atributi_vrednosti ============
288CREATE TABLE public.fin_korisnik_naplata_atributi_vrednosti (
289 id integer NOT NULL DEFAULT nextval('fin_korisnik_naplata_atributi_vrednosti_id_seq'::regclass),
290 korisnici_naplata_id integer NOT NULL,
291 korisnik_vid_naplata_atribut_id integer NOT NULL,
292 string_vrednost character varying(255),
293 numericka_vrednost numeric,
294 boolean_vrednost boolean,
295 CONSTRAINT fin_korisnik_naplata_atributi_vrednosti_pkey PRIMARY KEY (id),
296 CONSTRAINT fk_knav_kn FOREIGN KEY (korisnici_naplata_id) REFERENCES fin_korisnici_naplati(id),
297 CONSTRAINT fk_knav_kvna FOREIGN KEY (korisnik_vid_naplata_atribut_id) REFERENCES fin_korisnik_vid_naplati_attributi(id)
298);
299
300-- ============ TABLE: fin_korisnik_vid_naplati ============
301CREATE TABLE public.fin_korisnik_vid_naplati (
302 id integer NOT NULL DEFAULT nextval('fin_korisnik_vid_naplati_id_seq'::regclass),
303 ime_vid character varying(255),
304 CONSTRAINT fin_korisnik_vid_naplati_pkey PRIMARY KEY (id)
305);
306
307-- ============ TABLE: fin_korisnik_vid_naplati_attributi ============
308CREATE TABLE public.fin_korisnik_vid_naplati_attributi (
309 id integer NOT NULL DEFAULT nextval('fin_korisnik_vid_naplati_attributi_id_seq'::regclass),
310 korisnik_vid_naplata_id integer NOT NULL,
311 tip_atribut_id integer NOT NULL,
312 ime_atribut character varying(255),
313 zadolzitelen boolean,
314 CONSTRAINT fin_korisnik_vid_naplati_attributi_pkey PRIMARY KEY (id),
315 CONSTRAINT fk_kvna_tip_atr FOREIGN KEY (tip_atribut_id) REFERENCES tip_atribut(id),
316 CONSTRAINT fk_kvna_vid_nap FOREIGN KEY (korisnik_vid_naplata_id) REFERENCES fin_korisnik_vid_naplati(id)
317);
318
319-- ============ TABLE: fin_naplata_alokacija ============
320CREATE TABLE public.fin_naplata_alokacija (
321 id integer NOT NULL DEFAULT nextval('fin_naplata_alokacija_id_seq'::regclass),
322 naplata_id integer NOT NULL,
323 finansiska_obvrska_id integer NOT NULL,
324 finansiska_obvrska_stavka_id integer,
325 alocirana_suma numeric(14,2),
326 created_at timestamp without time zone NOT NULL,
327 CONSTRAINT fin_naplata_alokacija_pkey PRIMARY KEY (id),
328 CONSTRAINT chk_na_suma CHECK ((alocirana_suma > (0)::numeric)),
329 CONSTRAINT fk_na_fo FOREIGN KEY (finansiska_obvrska_id) REFERENCES fin_finansiska_obvrska(id),
330 CONSTRAINT fk_na_fos FOREIGN KEY (finansiska_obvrska_stavka_id) REFERENCES fin_finansiska_obvrska_stavka(id),
331 CONSTRAINT fk_na_naplata FOREIGN KEY (naplata_id) REFERENCES fin_naplati(id) ON DELETE CASCADE
332);
333
334-- ============ TABLE: fin_naplati ============
335CREATE TABLE public.fin_naplati (
336 id integer NOT NULL DEFAULT nextval('fin_naplati_id_seq'::regclass),
337 user_id integer NOT NULL,
338 korisnik_naplata_id integer NOT NULL,
339 transakciska_smetka_id integer NOT NULL,
340 organizaciona_edinica_id integer NOT NULL,
341 naplatena_suma numeric(14,2) NOT NULL,
342 vid_valuta_id integer NOT NULL,
343 status_transakcija_id integer NOT NULL,
344 nadvoresna_referenca character varying(255),
345 provider_transaction_id character varying(255),
346 requested_at timestamp without time zone,
347 confirmed_at timestamp without time zone,
348 data date,
349 CONSTRAINT fin_naplati_pkey PRIMARY KEY (id),
350 CONSTRAINT chk_naplata_suma CHECK ((naplatena_suma > (0)::numeric)),
351 CONSTRAINT fk_nap_kor_nap FOREIGN KEY (korisnik_naplata_id) REFERENCES fin_korisnici_naplati(id),
352 CONSTRAINT fk_nap_org_ed FOREIGN KEY (organizaciona_edinica_id) REFERENCES or_organizaciona_edinica(id),
353 CONSTRAINT fk_nap_smetka FOREIGN KEY (transakciska_smetka_id) REFERENCES fin_transakciski_smetki(id),
354 CONSTRAINT fk_nap_stat_trans FOREIGN KEY (status_transakcija_id) REFERENCES fin_status_transakcija(id),
355 CONSTRAINT fk_nap_user FOREIGN KEY (user_id) REFERENCES korisnici(id),
356 CONSTRAINT fk_nap_valuta FOREIGN KEY (vid_valuta_id) REFERENCES fin_vid_valuta(id)
357);
358
359-- ============ TABLE: fin_plata_komponenta ============
360CREATE TABLE public.fin_plata_komponenta (
361 id integer NOT NULL DEFAULT nextval('fin_plata_komponenta_id_seq'::regclass),
362 plata_stavka_vraboten_id integer NOT NULL,
363 tip_platna_komponenta_id integer NOT NULL,
364 kvantitet numeric(12,2),
365 stapka numeric(14,2),
366 iznos numeric(14,2) NOT NULL,
367 izvoren_tip character varying(255),
368 opis character varying(255),
369 CONSTRAINT fin_plata_komponenta_pkey PRIMARY KEY (id),
370 CONSTRAINT fk_pk_stavka FOREIGN KEY (plata_stavka_vraboten_id) REFERENCES fin_plata_stavka_vraboten(id),
371 CONSTRAINT fk_pk_tip FOREIGN KEY (tip_platna_komponenta_id) REFERENCES fin_tip_platna_komponenta(id)
372);
373
374-- ============ TABLE: fin_plata_period ============
375CREATE TABLE public.fin_plata_period (
376 id integer NOT NULL DEFAULT nextval('fin_plata_period_id_seq'::regclass),
377 organizaciona_edinica_id integer NOT NULL,
378 datum_od date NOT NULL,
379 datum_do date NOT NULL,
380 status_plata_period_id integer NOT NULL,
381 created_at timestamp without time zone NOT NULL,
382 approved_at timestamp without time zone,
383 CONSTRAINT fin_plata_period_pkey PRIMARY KEY (id),
384 CONSTRAINT chk_pp_period CHECK ((datum_od <= datum_do)),
385 CONSTRAINT fk_pp_org_ed FOREIGN KEY (organizaciona_edinica_id) REFERENCES or_organizaciona_edinica(id),
386 CONSTRAINT fk_pp_status FOREIGN KEY (status_plata_period_id) REFERENCES fin_status_plata_period(id)
387);
388
389-- ============ TABLE: fin_plata_stavka_vraboten ============
390CREATE TABLE public.fin_plata_stavka_vraboten (
391 id integer NOT NULL DEFAULT nextval('fin_plata_stavka_vraboten_id_seq'::regclass),
392 plata_period_id integer NOT NULL,
393 vraboten_id integer NOT NULL,
394 vraboteni_plata_id integer NOT NULL,
395 bruto_vkupno numeric(14,2) NOT NULL,
396 neto_vkupno numeric(14,2) NOT NULL,
397 danoci_vkupno numeric(14,2) NOT NULL,
398 odbivki_vkupno numeric(14,2) NOT NULL,
399 vid_valuta_id integer NOT NULL,
400 CONSTRAINT fin_plata_stavka_vraboten_pkey PRIMARY KEY (id),
401 CONSTRAINT chk_psv_nenegativni CHECK (((bruto_vkupno >= (0)::numeric) AND (neto_vkupno >= (0)::numeric) AND (danoci_vkupno >= (0)::numeric))),
402 CONSTRAINT chk_psv_neto_max CHECK ((neto_vkupno <= bruto_vkupno)),
403 CONSTRAINT fk_psv_period FOREIGN KEY (plata_period_id) REFERENCES fin_plata_period(id),
404 CONSTRAINT fk_psv_plata FOREIGN KEY (vraboteni_plata_id) REFERENCES vr_vraboten_kompensacija(id),
405 CONSTRAINT fk_psv_valuta FOREIGN KEY (vid_valuta_id) REFERENCES fin_vid_valuta(id),
406 CONSTRAINT fk_psv_vraboten FOREIGN KEY (vraboten_id) REFERENCES vr_vraboten_angazman(id)
407);
408
409-- ============ TABLE: fin_plata_vlez ============
410CREATE TABLE public.fin_plata_vlez (
411 id integer NOT NULL DEFAULT nextval('fin_plata_vlez_id_seq'::regclass),
412 plata_period_id integer NOT NULL,
413 vraboten_id integer NOT NULL,
414 tip_platna_komponenta_id integer NOT NULL,
415 kvantitet numeric(12,2),
416 stapka numeric(14,2),
417 amount numeric(14,2),
418 izvoren_tip character varying(255),
419 CONSTRAINT fin_plata_vlez_pkey PRIMARY KEY (id),
420 CONSTRAINT fk_pv_period FOREIGN KEY (plata_period_id) REFERENCES fin_plata_period(id),
421 CONSTRAINT fk_pv_tip_komp FOREIGN KEY (tip_platna_komponenta_id) REFERENCES fin_tip_platna_komponenta(id),
422 CONSTRAINT fk_pv_vraboten FOREIGN KEY (vraboten_id) REFERENCES vr_vraboten_angazman(id)
423);
424
425-- ============ TABLE: fin_status_finansiska_obvrska ============
426CREATE TABLE public.fin_status_finansiska_obvrska (
427 id integer NOT NULL DEFAULT nextval('fin_status_finansiska_obvrska_id_seq'::regclass),
428 kod character varying(255) NOT NULL,
429 ime character varying(255) NOT NULL,
430 CONSTRAINT fin_status_finansiska_obvrska_pkey PRIMARY KEY (id),
431 CONSTRAINT fin_status_finansiska_obvrska_kod_key UNIQUE (kod)
432);
433
434-- ============ TABLE: fin_status_isplatna_obvrska ============
435CREATE TABLE public.fin_status_isplatna_obvrska (
436 id integer NOT NULL DEFAULT nextval('fin_status_isplatna_obvrska_id_seq'::regclass),
437 kod character varying(255) NOT NULL,
438 ime character varying(255) NOT NULL,
439 CONSTRAINT fin_status_isplatna_obvrska_pkey PRIMARY KEY (id),
440 CONSTRAINT fin_status_isplatna_obvrska_kod_key UNIQUE (kod)
441);
442
443-- ============ TABLE: fin_status_plata_period ============
444CREATE TABLE public.fin_status_plata_period (
445 id integer NOT NULL DEFAULT nextval('fin_status_plata_period_id_seq'::regclass),
446 kod character varying(255) NOT NULL,
447 ime character varying(255) NOT NULL,
448 CONSTRAINT fin_status_plata_period_pkey PRIMARY KEY (id),
449 CONSTRAINT fin_status_plata_period_kod_key UNIQUE (kod)
450);
451
452-- ============ TABLE: fin_status_transakcija ============
453CREATE TABLE public.fin_status_transakcija (
454 id integer NOT NULL DEFAULT nextval('fin_status_transakcija_id_seq'::regclass),
455 ime_status character varying(255),
456 CONSTRAINT fin_status_transakcija_pkey PRIMARY KEY (id),
457 CONSTRAINT fin_status_transakcija_ime_status_key UNIQUE (ime_status)
458);
459
460-- ============ TABLE: fin_tip_isplatna_obvrska ============
461CREATE TABLE public.fin_tip_isplatna_obvrska (
462 id integer NOT NULL DEFAULT nextval('fin_tip_isplatna_obvrska_id_seq'::regclass),
463 kod character varying(255) NOT NULL,
464 ime character varying(255) NOT NULL,
465 CONSTRAINT fin_tip_isplatna_obvrska_pkey PRIMARY KEY (id),
466 CONSTRAINT fin_tip_isplatna_obvrska_kod_key UNIQUE (kod)
467);
468
469-- ============ TABLE: fin_tip_naplati_cenovnik ============
470CREATE TABLE public.fin_tip_naplati_cenovnik (
471 id integer NOT NULL DEFAULT nextval('fin_tip_naplati_cenovnik_id_seq'::regclass),
472 tip_naplata_organizaciona_edinica_id integer NOT NULL,
473 vid_valuta_id integer NOT NULL,
474 iznos numeric(14,2) NOT NULL,
475 valid_from date NOT NULL,
476 valid_to date,
477 prioritet integer NOT NULL DEFAULT 1,
478 dozvoli_rati boolean NOT NULL DEFAULT false,
479 max_rati integer,
480 aktivna boolean NOT NULL DEFAULT true,
481 CONSTRAINT fin_tip_naplati_cenovnik_pkey PRIMARY KEY (id),
482 CONSTRAINT chk_cenovnik_iznos CHECK ((iznos > (0)::numeric)),
483 CONSTRAINT chk_cenovnik_period CHECK (((valid_to IS NULL) OR (valid_from <= valid_to))),
484 CONSTRAINT fk_tnc_tnoe FOREIGN KEY (tip_naplata_organizaciona_edinica_id) REFERENCES fin_tip_naplati_organizaciona_edinica(id),
485 CONSTRAINT fk_tnc_valuta FOREIGN KEY (vid_valuta_id) REFERENCES fin_vid_valuta(id)
486);
487
488-- ============ TABLE: fin_tip_naplati_organizaciona_edinica ============
489CREATE TABLE public.fin_tip_naplati_organizaciona_edinica (
490 id integer NOT NULL DEFAULT nextval('fin_tip_naplati_organizaciona_edinica_id_seq'::regclass),
491 ime_tip_naplata character varying(255) NOT NULL,
492 organizaciona_edinica_id integer NOT NULL,
493 aktivna boolean NOT NULL DEFAULT true,
494 CONSTRAINT fin_tip_naplati_organizaciona_edinica_pkey PRIMARY KEY (id),
495 CONSTRAINT fk_tnoe_org_ed FOREIGN KEY (organizaciona_edinica_id) REFERENCES or_organizaciona_edinica(id)
496);
497
498-- ============ TABLE: fin_tip_platna_komponenta ============
499CREATE TABLE public.fin_tip_platna_komponenta (
500 id integer NOT NULL DEFAULT nextval('fin_tip_platna_komponenta_id_seq'::regclass),
501 kod character varying(255) NOT NULL,
502 ime character varying(255) NOT NULL,
503 kategorija character varying(255) NOT NULL,
504 default_sign integer NOT NULL,
505 CONSTRAINT fin_tip_platna_komponenta_pkey PRIMARY KEY (id),
506 CONSTRAINT fin_tip_platna_komponenta_kod_key UNIQUE (kod)
507);
508
509-- ============ TABLE: fin_transakciski_smetki ============
510CREATE TABLE public.fin_transakciski_smetki (
511 id integer NOT NULL DEFAULT nextval('fin_transakciski_smetki_id_seq'::regclass),
512 banka_id integer,
513 account_holder_ime character varying(255),
514 iban character varying(255),
515 domestic_account_number character varying(255),
516 routing_code character varying(255),
517 account_type character varying(255) NOT NULL,
518 vid_valuta_id integer NOT NULL,
519 aktivna boolean NOT NULL DEFAULT true,
520 CONSTRAINT fin_transakciski_smetki_pkey PRIMARY KEY (id),
521 CONSTRAINT fk_ts_banka FOREIGN KEY (banka_id) REFERENCES fin_banki(id),
522 CONSTRAINT fk_ts_valuta FOREIGN KEY (vid_valuta_id) REFERENCES fin_vid_valuta(id)
523);
524
525-- ============ TABLE: fin_vid_valuta ============
526CREATE TABLE public.fin_vid_valuta (
527 id integer NOT NULL DEFAULT nextval('fin_vid_valuta_id_seq'::regclass),
528 iso_code character varying(3) NOT NULL,
529 ime_valuta character varying(255) NOT NULL,
530 simbol character varying(255),
531 decimali_kvantitet integer NOT NULL DEFAULT 2,
532 aktivna boolean NOT NULL DEFAULT true,
533 CONSTRAINT fin_vid_valuta_pkey PRIMARY KEY (id),
534 CONSTRAINT fin_vid_valuta_iso_code_key UNIQUE (iso_code)
535);
536
537-- ============ TABLE: gradovi ============
538CREATE TABLE public.gradovi (
539 id integer NOT NULL DEFAULT nextval('gradovi_id_seq'::regclass),
540 grad_kod character varying(255),
541 grad_ime character varying(255),
542 drzava_id integer NOT NULL,
543 CONSTRAINT gradovi_pkey PRIMARY KEY (id),
544 CONSTRAINT fk_gradovi_drzava FOREIGN KEY (drzava_id) REFERENCES drzavi(id)
545);
546
547-- ============ TABLE: korisnici ============
548CREATE TABLE public.korisnici (
549 id integer NOT NULL DEFAULT nextval('korisnici_id_seq'::regclass),
550 username character varying(255),
551 password character varying(255),
552 lice_id integer NOT NULL,
553 created_at timestamp without time zone,
554 updated_at timestamp without time zone,
555 CONSTRAINT korisnici_pkey PRIMARY KEY (id),
556 CONSTRAINT fk_korisnici_lice FOREIGN KEY (lice_id) REFERENCES lice(id)
557);
558
559-- ============ TABLE: lice ============
560CREATE TABLE public.lice (
561 id integer NOT NULL DEFAULT nextval('lice_id_seq'::regclass),
562 ime character varying(255),
563 prezime character varying(255),
564 datum_ragjanje date,
565 pol character varying(255),
566 email character varying(255),
567 telefon character varying(255),
568 grad_id integer NOT NULL,
569 aktiven boolean,
570 CONSTRAINT lice_pkey PRIMARY KEY (id),
571 CONSTRAINT fk_lice_grad FOREIGN KEY (grad_id) REFERENCES gradovi(id)
572);
573
574-- ============ TABLE: or_mapa_objekt ============
575CREATE TABLE public.or_mapa_objekt (
576 id integer NOT NULL DEFAULT nextval('or_mapa_objekt_id_seq'::regclass),
577 map_object_type_id integer NOT NULL,
578 spatial_tekst text,
579 CONSTRAINT or_mapa_objekt_pkey PRIMARY KEY (id),
580 CONSTRAINT fk_mapa_obj_tip FOREIGN KEY (map_object_type_id) REFERENCES or_tip_mapa_objekt(id)
581);
582
583-- ============ TABLE: or_mapa_objekt_organizacija ============
584CREATE TABLE public.or_mapa_objekt_organizacija (
585 id integer NOT NULL DEFAULT nextval('or_mapa_objekt_organizacija_id_seq'::regclass),
586 tip_objekt_organizacija_id integer NOT NULL,
587 ime character varying(255),
588 mapa_objekt_id integer NOT NULL,
589 organizaciona_edinica_id integer NOT NULL,
590 mapa_objekt_organizacija_id integer,
591 CONSTRAINT or_mapa_objekt_organizacija_pkey PRIMARY KEY (id),
592 CONSTRAINT fk_moo_mapa_obj FOREIGN KEY (mapa_objekt_id) REFERENCES or_mapa_objekt(id),
593 CONSTRAINT fk_moo_org_ed FOREIGN KEY (organizaciona_edinica_id) REFERENCES or_organizaciona_edinica(id),
594 CONSTRAINT fk_moo_parent FOREIGN KEY (mapa_objekt_organizacija_id) REFERENCES or_mapa_objekt_organizacija(id),
595 CONSTRAINT fk_moo_tip_obj FOREIGN KEY (tip_objekt_organizacija_id) REFERENCES or_tip_objekt_organizacija(id)
596);
597
598-- ============ TABLE: or_organizaciona_edinica ============
599CREATE TABLE public.or_organizaciona_edinica (
600 id integer NOT NULL DEFAULT nextval('or_organizaciona_edinica_id_seq'::regclass),
601 toe_id integer NOT NULL,
602 oe_id integer,
603 ime character varying(255),
604 mapa_objekt_id integer,
605 CONSTRAINT or_organizaciona_edinica_pkey PRIMARY KEY (id),
606 CONSTRAINT fk_org_ed_mapa FOREIGN KEY (mapa_objekt_id) REFERENCES or_mapa_objekt(id),
607 CONSTRAINT fk_org_ed_oe FOREIGN KEY (oe_id) REFERENCES or_organizaciona_edinica(id),
608 CONSTRAINT fk_org_ed_toe FOREIGN KEY (toe_id) REFERENCES or_tipovi_organizaciona_edinica(id)
609);
610
611-- ============ TABLE: or_organizaciona_edinica_atributi_vrednosti ============
612CREATE TABLE public.or_organizaciona_edinica_atributi_vrednosti (
613 id integer NOT NULL DEFAULT nextval('or_organizaciona_edinica_atributi_vrednosti_id_seq'::regclass),
614 tip_organizaciona_edinica_atribut integer NOT NULL,
615 organizaciona_edinica integer NOT NULL,
616 string_vrednost character varying(255),
617 numericka_vrednost numeric,
618 boolean_vrednost boolean,
619 CONSTRAINT or_organizaciona_edinica_atributi_vrednosti_pkey PRIMARY KEY (id),
620 CONSTRAINT fk_oeav_oe FOREIGN KEY (organizaciona_edinica) REFERENCES or_organizaciona_edinica(id) ON DELETE CASCADE,
621 CONSTRAINT fk_oeav_toea FOREIGN KEY (tip_organizaciona_edinica_atribut) REFERENCES or_tipovi_organizaciona_edinica_atributi(id)
622);
623
624-- ============ TABLE: or_organizaciona_edinica_smetki ============
625CREATE TABLE public.or_organizaciona_edinica_smetki (
626 id integer NOT NULL DEFAULT nextval('or_organizaciona_edinica_smetki_id_seq'::regclass),
627 organizaciona_edinica_id integer NOT NULL,
628 transakciska_smetka_id integer NOT NULL,
629 aktivna boolean,
630 CONSTRAINT or_organizaciona_edinica_smetki_pkey PRIMARY KEY (id),
631 CONSTRAINT fk_oes_org_ed FOREIGN KEY (organizaciona_edinica_id) REFERENCES or_organizaciona_edinica(id),
632 CONSTRAINT fk_oes_smetka FOREIGN KEY (transakciska_smetka_id) REFERENCES fin_transakciski_smetki(id)
633);
634
635-- ============ TABLE: or_tip_mapa_objekt ============
636CREATE TABLE public.or_tip_mapa_objekt (
637 id integer NOT NULL DEFAULT nextval('or_tip_mapa_objekt_id_seq'::regclass),
638 name character varying(255),
639 CONSTRAINT or_tip_mapa_objekt_pkey PRIMARY KEY (id),
640 CONSTRAINT or_tip_mapa_objekt_name_key UNIQUE (name)
641);
642
643-- ============ TABLE: or_tip_objekt_organizacija ============
644CREATE TABLE public.or_tip_objekt_organizacija (
645 id integer NOT NULL DEFAULT nextval('or_tip_objekt_organizacija_id_seq'::regclass),
646 ime character varying(255),
647 CONSTRAINT or_tip_objekt_organizacija_pkey PRIMARY KEY (id)
648);
649
650-- ============ TABLE: or_tipovi_organizaciona_edinica ============
651CREATE TABLE public.or_tipovi_organizaciona_edinica (
652 id integer NOT NULL DEFAULT nextval('or_tipovi_organizaciona_edinica_id_seq'::regclass),
653 ime character varying(255),
654 CONSTRAINT or_tipovi_organizaciona_edinica_pkey PRIMARY KEY (id)
655);
656
657-- ============ TABLE: or_tipovi_organizaciona_edinica_atributi ============
658CREATE TABLE public.or_tipovi_organizaciona_edinica_atributi (
659 id integer NOT NULL DEFAULT nextval('or_tipovi_organizaciona_edinica_atributi_id_seq'::regclass),
660 tip_organizaciona_edinica_id integer NOT NULL,
661 ime character varying(255),
662 regex character varying(255),
663 tip_atribut_id integer NOT NULL,
664 zadolzitelen boolean,
665 CONSTRAINT or_tipovi_organizaciona_edinica_atributi_pkey PRIMARY KEY (id),
666 CONSTRAINT fk_toea_tip_atr FOREIGN KEY (tip_atribut_id) REFERENCES tip_atribut(id),
667 CONSTRAINT fk_toea_toe FOREIGN KEY (tip_organizaciona_edinica_id) REFERENCES or_tipovi_organizaciona_edinica(id)
668);
669
670-- ============ TABLE: sm_akademska_godina ============
671CREATE TABLE public.sm_akademska_godina (
672 id integer NOT NULL DEFAULT nextval('sm_akademska_godina_id_seq'::regclass),
673 organizaciona_edinica_id integer NOT NULL,
674 oznaka character varying(255),
675 datum_od date NOT NULL,
676 datum_do date NOT NULL,
677 aktivna boolean DEFAULT true,
678 CONSTRAINT sm_akademska_godina_pkey PRIMARY KEY (id),
679 CONSTRAINT sm_akademska_godina_oznaka_key UNIQUE (oznaka),
680 CONSTRAINT chk_ag_period CHECK ((datum_od <= datum_do)),
681 CONSTRAINT fk_ag_org_ed FOREIGN KEY (organizaciona_edinica_id) REFERENCES or_organizaciona_edinica(id)
682);
683
684-- ============ TABLE: sm_akademski_semestar ============
685CREATE TABLE public.sm_akademski_semestar (
686 id integer NOT NULL DEFAULT nextval('sm_akademski_semestar_id_seq'::regclass),
687 organizaciona_edinica_id integer NOT NULL,
688 akademska_godina_id integer NOT NULL,
689 tip_akademski_semestar_id integer NOT NULL,
690 period_akademski_semestar_id integer NOT NULL,
691 tip_naplata_organizaciona_edinica_id integer NOT NULL,
692 name character varying(255),
693 CONSTRAINT sm_akademski_semestar_pkey PRIMARY KEY (id),
694 CONSTRAINT fk_as_godina FOREIGN KEY (akademska_godina_id) REFERENCES sm_akademska_godina(id),
695 CONSTRAINT fk_as_org_ed FOREIGN KEY (organizaciona_edinica_id) REFERENCES or_organizaciona_edinica(id),
696 CONSTRAINT fk_as_period FOREIGN KEY (period_akademski_semestar_id) REFERENCES sm_period_akademski_semestar(id),
697 CONSTRAINT fk_as_tip FOREIGN KEY (tip_akademski_semestar_id) REFERENCES sm_tip_akademski_semestar(id),
698 CONSTRAINT fk_as_tip_naplata FOREIGN KEY (tip_naplata_organizaciona_edinica_id) REFERENCES fin_tip_naplati_organizaciona_edinica(id)
699);
700
701-- ============ TABLE: sm_akademski_semestar_smer_kvota ============
702CREATE TABLE public.sm_akademski_semestar_smer_kvota (
703 id integer NOT NULL DEFAULT nextval('sm_akademski_semestar_smer_kvota_id_seq'::regclass),
704 akademski_semestar_id integer NOT NULL,
705 smer_verzija_id integer NOT NULL,
706 tip_kvota_id integer NOT NULL,
707 tip_naplata_oe_id integer NOT NULL,
708 aktivna boolean DEFAULT true,
709 CONSTRAINT sm_akademski_semestar_smer_kvota_pkey PRIMARY KEY (id),
710 CONSTRAINT fk_assk_kvota FOREIGN KEY (tip_kvota_id) REFERENCES sm_tip_kvota(id),
711 CONSTRAINT fk_assk_semestar FOREIGN KEY (akademski_semestar_id) REFERENCES sm_akademski_semestar(id),
712 CONSTRAINT fk_assk_tip_naplata FOREIGN KEY (tip_naplata_oe_id) REFERENCES fin_tip_naplati_organizaciona_edinica(id),
713 CONSTRAINT fk_assk_verzija FOREIGN KEY (smer_verzija_id) REFERENCES sm_smer_verzija(id)
714);
715
716-- ============ TABLE: sm_akreditacija ============
717CREATE TABLE public.sm_akreditacija (
718 id integer NOT NULL DEFAULT nextval('sm_akreditacija_id_seq'::regclass),
719 tip_akreditacija_id integer NOT NULL,
720 predmet_id integer NOT NULL,
721 naziv_verzija character varying(255),
722 opis_sodrzina text,
723 krediti integer NOT NULL,
724 status_akreditacija_id integer NOT NULL,
725 akreditacisko_telo_id integer NOT NULL,
726 validen_od date NOT NULL,
727 validen_do date,
728 broj_odluka character varying(255),
729 aktiven boolean DEFAULT true,
730 CONSTRAINT sm_akreditacija_pkey PRIMARY KEY (id),
731 CONSTRAINT chk_ak_krediti CHECK ((krediti > 0)),
732 CONSTRAINT fk_akr_predmet FOREIGN KEY (predmet_id) REFERENCES sm_predmet(id),
733 CONSTRAINT fk_akr_status FOREIGN KEY (status_akreditacija_id) REFERENCES sm_status_akreditacija(id),
734 CONSTRAINT fk_akr_telo FOREIGN KEY (akreditacisko_telo_id) REFERENCES sm_akreditacisko_telo(id),
735 CONSTRAINT fk_akr_tip FOREIGN KEY (tip_akreditacija_id) REFERENCES sm_tip_akreditacija(id)
736);
737
738-- ============ TABLE: sm_akreditacija_fond ============
739CREATE TABLE public.sm_akreditacija_fond (
740 id integer NOT NULL DEFAULT nextval('sm_akreditacija_fond_id_seq'::regclass),
741 tip_fond character varying(255),
742 fond integer,
743 akreditacija_id integer NOT NULL,
744 CONSTRAINT sm_akreditacija_fond_pkey PRIMARY KEY (id),
745 CONSTRAINT fk_af_akr FOREIGN KEY (akreditacija_id) REFERENCES sm_akreditacija(id)
746);
747
748-- ============ TABLE: sm_akreditacija_predmet_grupa_preduslov ============
749CREATE TABLE public.sm_akreditacija_predmet_grupa_preduslov (
750 id integer NOT NULL DEFAULT nextval('sm_akreditacija_predmet_grupa_preduslov_id_seq'::regclass),
751 akreditacija_id integer NOT NULL,
752 logicki_operator character varying(255),
753 CONSTRAINT sm_akreditacija_predmet_grupa_preduslov_pkey PRIMARY KEY (id),
754 CONSTRAINT fk_apgp_akr FOREIGN KEY (akreditacija_id) REFERENCES sm_akreditacija(id)
755);
756
757-- ============ TABLE: sm_akreditacija_predmet_preduslov ============
758CREATE TABLE public.sm_akreditacija_predmet_preduslov (
759 id integer NOT NULL DEFAULT nextval('sm_akreditacija_predmet_preduslov_id_seq'::regclass),
760 akreditacija_predmet_grupa_preduslov_id integer NOT NULL,
761 predmet_id integer,
762 krediti_preduslov integer,
763 CONSTRAINT sm_akreditacija_predmet_preduslov_pkey PRIMARY KEY (id),
764 CONSTRAINT fk_app_grupa FOREIGN KEY (akreditacija_predmet_grupa_preduslov_id) REFERENCES sm_akreditacija_predmet_grupa_preduslov(id),
765 CONSTRAINT fk_app_predmet FOREIGN KEY (predmet_id) REFERENCES sm_predmet(id)
766);
767
768-- ============ TABLE: sm_akreditacija_telo_clen ============
769CREATE TABLE public.sm_akreditacija_telo_clen (
770 id integer NOT NULL DEFAULT nextval('sm_akreditacija_telo_clen_id_seq'::regclass),
771 akreditacisko_telo_id integer NOT NULL,
772 vraboten_angazman_id integer,
773 tip_uloga_akreditacija_telo_id integer NOT NULL,
774 datum_od date,
775 datum_do date,
776 aktiven boolean NOT NULL DEFAULT true,
777 CONSTRAINT sm_akreditacija_telo_clen_pkey PRIMARY KEY (id),
778 CONSTRAINT fk_atc_angazman FOREIGN KEY (vraboten_angazman_id) REFERENCES vr_vraboten_angazman(id),
779 CONSTRAINT fk_atc_telo FOREIGN KEY (akreditacisko_telo_id) REFERENCES sm_akreditacisko_telo(id),
780 CONSTRAINT fk_atc_uloga FOREIGN KEY (tip_uloga_akreditacija_telo_id) REFERENCES sm_tip_uloga_akreditacija_telo(id)
781);
782
783-- ============ TABLE: sm_akreditacisko_telo ============
784CREATE TABLE public.sm_akreditacisko_telo (
785 id integer NOT NULL DEFAULT nextval('sm_akreditacisko_telo_id_seq'::regclass),
786 tip_akreditacisko_telo_id integer NOT NULL,
787 organizaciona_edinica_id integer,
788 ime character varying(255) NOT NULL,
789 opis character varying(255),
790 aktiven boolean NOT NULL DEFAULT true,
791 CONSTRAINT sm_akreditacisko_telo_pkey PRIMARY KEY (id),
792 CONSTRAINT fk_at_org_ed FOREIGN KEY (organizaciona_edinica_id) REFERENCES or_organizaciona_edinica(id),
793 CONSTRAINT fk_at_tip FOREIGN KEY (tip_akreditacisko_telo_id) REFERENCES sm_tip_akreditacisko_telo(id)
794);
795
796-- ============ TABLE: sm_ispitna_sesija ============
797CREATE TABLE public.sm_ispitna_sesija (
798 id integer NOT NULL DEFAULT nextval('sm_ispitna_sesija_id_seq'::regclass),
799 akademski_semestar_id integer NOT NULL,
800 naziv character varying(255) NOT NULL,
801 datum_od date NOT NULL,
802 datum_do date NOT NULL,
803 status character varying(255),
804 CONSTRAINT sm_ispitna_sesija_pkey PRIMARY KEY (id),
805 CONSTRAINT chk_sesija_period CHECK ((datum_od <= datum_do)),
806 CONSTRAINT fk_is_semestar FOREIGN KEY (akademski_semestar_id) REFERENCES sm_akademski_semestar(id)
807);
808
809-- ============ TABLE: sm_kurs_realizacija ============
810CREATE TABLE public.sm_kurs_realizacija (
811 id integer NOT NULL DEFAULT nextval('sm_kurs_realizacija_id_seq'::regclass),
812 akreditacija_id integer NOT NULL,
813 akademski_semestar_id integer NOT NULL,
814 organizaciona_edinica_id integer NOT NULL,
815 kapacitet_studenti integer,
816 minimalen_broj integer,
817 status character varying(255),
818 CONSTRAINT sm_kurs_realizacija_pkey PRIMARY KEY (id),
819 CONSTRAINT chk_kr_kapacitet CHECK (((kapacitet_studenti IS NULL) OR (kapacitet_studenti > 0))),
820 CONSTRAINT fk_kr_akr FOREIGN KEY (akreditacija_id) REFERENCES sm_akreditacija(id),
821 CONSTRAINT fk_kr_org_ed FOREIGN KEY (organizaciona_edinica_id) REFERENCES or_organizaciona_edinica(id),
822 CONSTRAINT fk_kr_semestar FOREIGN KEY (akademski_semestar_id) REFERENCES sm_akademski_semestar(id)
823);
824
825-- ============ TABLE: sm_kurs_realizacija_nastaven_kadar ============
826CREATE TABLE public.sm_kurs_realizacija_nastaven_kadar (
827 id integer NOT NULL DEFAULT nextval('sm_kurs_realizacija_nastaven_kadar_id_seq'::regclass),
828 vraboten_angazman_id integer NOT NULL,
829 tip_uloga_nastaven_kadar_id integer NOT NULL,
830 fond_casovi_nedelno numeric(5,2),
831 datum_od date NOT NULL,
832 datum_do date,
833 primaren boolean NOT NULL DEFAULT false,
834 aktiven boolean NOT NULL DEFAULT true,
835 CONSTRAINT sm_kurs_realizacija_nastaven_kadar_pkey PRIMARY KEY (id),
836 CONSTRAINT chk_krnk_fond CHECK (((fond_casovi_nedelno IS NULL) OR (fond_casovi_nedelno > (0)::numeric))),
837 CONSTRAINT chk_krnk_period CHECK (((datum_do IS NULL) OR (datum_od <= datum_do))),
838 CONSTRAINT fk_krnk_angazman FOREIGN KEY (vraboten_angazman_id) REFERENCES vr_vraboten_angazman(id),
839 CONSTRAINT fk_krnk_uloga FOREIGN KEY (tip_uloga_nastaven_kadar_id) REFERENCES vr_tip_uloga_nastaven_kadar(id)
840);
841
842-- ============ TABLE: sm_kurs_realizacija_paralelka ============
843CREATE TABLE public.sm_kurs_realizacija_paralelka (
844 id integer NOT NULL DEFAULT nextval('sm_kurs_realizacija_paralelka_id_seq'::regclass),
845 kurs_realizacija_id integer NOT NULL,
846 oznaka character varying(255) NOT NULL,
847 kapacitet_studenti integer NOT NULL,
848 aktiven boolean DEFAULT true,
849 CONSTRAINT sm_kurs_realizacija_paralelka_pkey PRIMARY KEY (id),
850 CONSTRAINT fk_krp_realizacija FOREIGN KEY (kurs_realizacija_id) REFERENCES sm_kurs_realizacija(id)
851);
852
853-- ============ TABLE: sm_organizaciona_edinica_diplomirani ============
854CREATE TABLE public.sm_organizaciona_edinica_diplomirani (
855 id integer NOT NULL DEFAULT nextval('sm_organizaciona_edinica_diplomirani_id_seq'::regclass),
856 organizaciona_edinica_id integer NOT NULL,
857 student_id integer NOT NULL,
858 diploma_dokument_id integer NOT NULL,
859 smer_id integer NOT NULL,
860 akademska_godina_id integer NOT NULL,
861 CONSTRAINT sm_organizaciona_edinica_diplomirani_pkey PRIMARY KEY (id),
862 CONSTRAINT fk_oedip_ag FOREIGN KEY (akademska_godina_id) REFERENCES sm_akademska_godina(id),
863 CONSTRAINT fk_oedip_dok FOREIGN KEY (diploma_dokument_id) REFERENCES dok_generiran_dokument(id),
864 CONSTRAINT fk_oedip_org_ed FOREIGN KEY (organizaciona_edinica_id) REFERENCES or_organizaciona_edinica(id),
865 CONSTRAINT fk_oedip_smer FOREIGN KEY (smer_id) REFERENCES sm_smer(id),
866 CONSTRAINT fk_oedip_stud FOREIGN KEY (student_id) REFERENCES sm_studenti(id)
867);
868
869-- ============ TABLE: sm_organizaciona_edinica_dostignuvanja ============
870CREATE TABLE public.sm_organizaciona_edinica_dostignuvanja (
871 id integer NOT NULL DEFAULT nextval('sm_organizaciona_edinica_dostignuvanja_id_seq'::regclass),
872 organizaciona_edinica_id integer NOT NULL,
873 tip_dostignuvanje_id integer NOT NULL,
874 opis character varying(255),
875 aktiven boolean,
876 CONSTRAINT sm_organizaciona_edinica_dostignuvanja_pkey PRIMARY KEY (id),
877 CONSTRAINT fk_oed_org_ed FOREIGN KEY (organizaciona_edinica_id) REFERENCES or_organizaciona_edinica(id),
878 CONSTRAINT fk_oed_tip FOREIGN KEY (tip_dostignuvanje_id) REFERENCES sm_tip_dostignuvanje(id)
879);
880
881-- ============ TABLE: sm_organizaciona_edinica_student_atributi ============
882CREATE TABLE public.sm_organizaciona_edinica_student_atributi (
883 id integer NOT NULL DEFAULT nextval('sm_organizaciona_edinica_student_atributi_id_seq'::regclass),
884 organizaciona_edinica_id integer NOT NULL,
885 ime character varying(255),
886 regex character varying(255),
887 tip_atribut_id integer NOT NULL,
888 zadolzitelen boolean,
889 CONSTRAINT sm_organizaciona_edinica_student_atributi_pkey PRIMARY KEY (id),
890 CONSTRAINT fk_oesa_org_ed FOREIGN KEY (organizaciona_edinica_id) REFERENCES or_tipovi_organizaciona_edinica(id),
891 CONSTRAINT fk_oesa_tip_atr FOREIGN KEY (tip_atribut_id) REFERENCES tip_atribut(id)
892);
893
894-- ============ TABLE: sm_organizaciona_edinica_student_atributi_vrednosti ============
895CREATE TABLE public.sm_organizaciona_edinica_student_atributi_vrednosti (
896 id integer NOT NULL DEFAULT nextval('sm_organizaciona_edinica_student_atributi_vrednosti_id_seq'::regclass),
897 organizaciona_edinica_student_atribut integer NOT NULL,
898 student_id integer NOT NULL,
899 string_vrednost character varying(255),
900 numericka_vrednost numeric,
901 boolean_vrednost boolean,
902 CONSTRAINT sm_organizaciona_edinica_student_atributi_vrednosti_pkey PRIMARY KEY (id),
903 CONSTRAINT fk_oesav_oesa FOREIGN KEY (organizaciona_edinica_student_atribut) REFERENCES sm_organizaciona_edinica_student_atributi(id),
904 CONSTRAINT fk_oesav_stud FOREIGN KEY (student_id) REFERENCES sm_studenti(id)
905);
906
907-- ============ TABLE: sm_organizaciona_edinica_upis_pravilo ============
908CREATE TABLE public.sm_organizaciona_edinica_upis_pravilo (
909 id integer NOT NULL DEFAULT nextval('sm_organizaciona_edinica_upis_pravilo_id_seq'::regclass),
910 organizaciona_edinica_id integer NOT NULL,
911 templejt character varying(255),
912 validaciski_regex character varying(255),
913 strategija character varying(255),
914 CONSTRAINT sm_organizaciona_edinica_upis_pravilo_pkey PRIMARY KEY (id),
915 CONSTRAINT fk_oeup_org_ed FOREIGN KEY (organizaciona_edinica_id) REFERENCES or_organizaciona_edinica(id)
916);
917
918-- ============ TABLE: sm_paralelka_nastaven_kadar ============
919CREATE TABLE public.sm_paralelka_nastaven_kadar (
920 id integer NOT NULL DEFAULT nextval('sm_paralelka_nastaven_kadar_id_seq'::regclass),
921 kurs_realizacija_paralelka_id integer NOT NULL,
922 kurs_realizacija_kadar_id integer NOT NULL,
923 CONSTRAINT sm_paralelka_nastaven_kadar_pkey PRIMARY KEY (id),
924 CONSTRAINT fk_pnk_kadar FOREIGN KEY (kurs_realizacija_kadar_id) REFERENCES sm_kurs_realizacija_nastaven_kadar(id) ON DELETE CASCADE,
925 CONSTRAINT fk_pnk_paralelka FOREIGN KEY (kurs_realizacija_paralelka_id) REFERENCES sm_kurs_realizacija_paralelka(id)
926);
927
928-- ============ TABLE: sm_period_akademski_semestar ============
929CREATE TABLE public.sm_period_akademski_semestar (
930 id integer NOT NULL DEFAULT nextval('sm_period_akademski_semestar_id_seq'::regclass),
931 ime_period character varying(255),
932 CONSTRAINT sm_period_akademski_semestar_pkey PRIMARY KEY (id),
933 CONSTRAINT sm_period_akademski_semestar_ime_period_key UNIQUE (ime_period)
934);
935
936-- ============ TABLE: sm_predmet ============
937CREATE TABLE public.sm_predmet (
938 id integer NOT NULL DEFAULT nextval('sm_predmet_id_seq'::regclass),
939 organizaciona_edinica_id integer NOT NULL,
940 kratenka character varying(255),
941 ime_predmet character varying(255) NOT NULL,
942 opis text,
943 CONSTRAINT sm_predmet_pkey PRIMARY KEY (id),
944 CONSTRAINT sm_predmet_kratenka_key UNIQUE (kratenka),
945 CONSTRAINT fk_pred_org_ed FOREIGN KEY (organizaciona_edinica_id) REFERENCES or_organizaciona_edinica(id)
946);
947
948-- ============ TABLE: sm_sistem_ocenuvanje ============
949CREATE TABLE public.sm_sistem_ocenuvanje (
950 id integer NOT NULL DEFAULT nextval('sm_sistem_ocenuvanje_id_seq'::regclass),
951 organicationa_edinica_id integer NOT NULL,
952 ime_sistem character varying(255),
953 CONSTRAINT sm_sistem_ocenuvanje_pkey PRIMARY KEY (id),
954 CONSTRAINT fk_so_org_ed FOREIGN KEY (organicationa_edinica_id) REFERENCES or_organizaciona_edinica(id)
955);
956
957-- ============ TABLE: sm_sistem_ocenuvanje_vrednost ============
958CREATE TABLE public.sm_sistem_ocenuvanje_vrednost (
959 id integer NOT NULL DEFAULT nextval('sm_sistem_ocenuvanje_vrednost_id_seq'::regclass),
960 sistem_ocenuvanje_id integer NOT NULL,
961 ocena_labela character varying(255),
962 ocena_vrednost integer,
963 polozitelna boolean,
964 CONSTRAINT sm_sistem_ocenuvanje_vrednost_pkey PRIMARY KEY (id),
965 CONSTRAINT chk_sov_vrednost CHECK (((ocena_vrednost IS NULL) OR (ocena_vrednost >= 0))),
966 CONSTRAINT fk_sov_sistem FOREIGN KEY (sistem_ocenuvanje_id) REFERENCES sm_sistem_ocenuvanje(id) ON UPDATE CASCADE ON DELETE CASCADE
967);
968
969-- ============ TABLE: sm_smer ============
970CREATE TABLE public.sm_smer (
971 id integer NOT NULL DEFAULT nextval('sm_smer_id_seq'::regclass),
972 organizaciona_edinica_id integer NOT NULL,
973 ime_smer character varying(255),
974 tip_smer_id integer NOT NULL,
975 akademski_stepen_id integer NOT NULL,
976 vid_kvalifikacija_id integer NOT NULL,
977 pole_kvalifikacija_id integer NOT NULL,
978 CONSTRAINT sm_smer_pkey PRIMARY KEY (id),
979 CONSTRAINT fk_smer_org_ed FOREIGN KEY (organizaciona_edinica_id) REFERENCES or_organizaciona_edinica(id),
980 CONSTRAINT fk_smer_pole_kval FOREIGN KEY (pole_kvalifikacija_id) REFERENCES vr_pole_kvalifikacija(id),
981 CONSTRAINT fk_smer_stepen FOREIGN KEY (akademski_stepen_id) REFERENCES vr_akademski_stepen(id),
982 CONSTRAINT fk_smer_tip FOREIGN KEY (tip_smer_id) REFERENCES sm_tip_smer(id),
983 CONSTRAINT fk_smer_vid_kval FOREIGN KEY (vid_kvalifikacija_id) REFERENCES vr_vid_kvalifikacija(id)
984);
985
986-- ============ TABLE: sm_smer_diplomiranje_grupa_preduslov ============
987CREATE TABLE public.sm_smer_diplomiranje_grupa_preduslov (
988 id integer NOT NULL DEFAULT nextval('sm_smer_diplomiranje_grupa_preduslov_id_seq'::regclass),
989 smer_verzija_id integer NOT NULL,
990 logicki_operator character varying(255),
991 CONSTRAINT sm_smer_diplomiranje_grupa_preduslov_pkey PRIMARY KEY (id),
992 CONSTRAINT fk_sdgp_verzija FOREIGN KEY (smer_verzija_id) REFERENCES sm_smer_verzija(id)
993);
994
995-- ============ TABLE: sm_smer_diplomiranje_preduslov ============
996CREATE TABLE public.sm_smer_diplomiranje_preduslov (
997 id integer NOT NULL DEFAULT nextval('sm_smer_diplomiranje_preduslov_id_seq'::regclass),
998 smer_diplomiranje_grupa_preduslov_id integer NOT NULL,
999 krediti integer,
1000 organizaciona_edinica_dostignuvanje_id integer,
1001 CONSTRAINT sm_smer_diplomiranje_preduslov_pkey PRIMARY KEY (id),
1002 CONSTRAINT fk_sdp_dostignuvanje FOREIGN KEY (organizaciona_edinica_dostignuvanje_id) REFERENCES sm_organizaciona_edinica_dostignuvanja(id),
1003 CONSTRAINT fk_sdp_grupa FOREIGN KEY (smer_diplomiranje_grupa_preduslov_id) REFERENCES sm_smer_diplomiranje_grupa_preduslov(id)
1004);
1005
1006-- ============ TABLE: sm_smer_upis_grupa_preduslov ============
1007CREATE TABLE public.sm_smer_upis_grupa_preduslov (
1008 id integer NOT NULL DEFAULT nextval('sm_smer_upis_grupa_preduslov_id_seq'::regclass),
1009 smer_verzija_id integer NOT NULL,
1010 logicki_operator character varying(255),
1011 CONSTRAINT sm_smer_upis_grupa_preduslov_pkey PRIMARY KEY (id),
1012 CONSTRAINT fk_sugp_verzija FOREIGN KEY (smer_verzija_id) REFERENCES sm_smer_verzija(id)
1013);
1014
1015-- ============ TABLE: sm_smer_upis_preduslov ============
1016CREATE TABLE public.sm_smer_upis_preduslov (
1017 id integer NOT NULL DEFAULT nextval('sm_smer_upis_preduslov_id_seq'::regclass),
1018 smer_upis_grupa_preduslov_id integer NOT NULL,
1019 vid_kvalifikacija_id integer NOT NULL,
1020 pole_kvalifikacija_id integer NOT NULL,
1021 CONSTRAINT sm_smer_upis_preduslov_pkey PRIMARY KEY (id),
1022 CONSTRAINT fk_sup_grupa FOREIGN KEY (smer_upis_grupa_preduslov_id) REFERENCES sm_smer_upis_grupa_preduslov(id),
1023 CONSTRAINT fk_sup_pole_kval FOREIGN KEY (pole_kvalifikacija_id) REFERENCES vr_pole_kvalifikacija(id),
1024 CONSTRAINT fk_sup_vid_kval FOREIGN KEY (vid_kvalifikacija_id) REFERENCES vr_vid_kvalifikacija(id)
1025);
1026
1027-- ============ TABLE: sm_smer_verzija ============
1028CREATE TABLE public.sm_smer_verzija (
1029 id integer NOT NULL DEFAULT nextval('sm_smer_verzija_id_seq'::regclass),
1030 smer_id integer NOT NULL,
1031 ime_smer_verzija character varying(255),
1032 aktiven boolean DEFAULT true,
1033 CONSTRAINT sm_smer_verzija_pkey PRIMARY KEY (id),
1034 CONSTRAINT fk_sv_smer FOREIGN KEY (smer_id) REFERENCES sm_smer(id)
1035);
1036
1037-- ============ TABLE: sm_smer_verzija_semestar ============
1038CREATE TABLE public.sm_smer_verzija_semestar (
1039 id integer NOT NULL DEFAULT nextval('sm_smer_verzija_semestar_id_seq'::regclass),
1040 smer_verzija_id integer NOT NULL,
1041 reden_broj integer NOT NULL,
1042 period_akademski_semestar_id integer NOT NULL,
1043 vkupno_ects_potrebni integer DEFAULT 30,
1044 min_izborni_krediti integer,
1045 aktiven boolean DEFAULT true,
1046 CONSTRAINT sm_smer_verzija_semestar_pkey PRIMARY KEY (id),
1047 CONSTRAINT fk_svs_period FOREIGN KEY (period_akademski_semestar_id) REFERENCES sm_period_akademski_semestar(id),
1048 CONSTRAINT fk_svs_verzija FOREIGN KEY (smer_verzija_id) REFERENCES sm_smer_verzija(id)
1049);
1050
1051-- ============ TABLE: sm_smer_verzija_semestar_kurs ============
1052CREATE TABLE public.sm_smer_verzija_semestar_kurs (
1053 id integer NOT NULL DEFAULT nextval('sm_smer_verzija_semestar_kurs_id_seq'::regclass),
1054 smer_verzija_semestar_id integer NOT NULL,
1055 akreditacija_id integer NOT NULL,
1056 zadolzitelen boolean NOT NULL DEFAULT true,
1057 izborna_grupa_kod character varying(255),
1058 aktiven boolean DEFAULT true,
1059 CONSTRAINT sm_smer_verzija_semestar_kurs_pkey PRIMARY KEY (id),
1060 CONSTRAINT fk_svsk_akr FOREIGN KEY (akreditacija_id) REFERENCES sm_akreditacija(id),
1061 CONSTRAINT fk_svsk_svs FOREIGN KEY (smer_verzija_semestar_id) REFERENCES sm_smer_verzija_semestar(id)
1062);
1063
1064-- ============ TABLE: sm_status_akreditacija ============
1065CREATE TABLE public.sm_status_akreditacija (
1066 id integer NOT NULL DEFAULT nextval('sm_status_akreditacija_id_seq'::regclass),
1067 kod character varying(255) NOT NULL,
1068 ime character varying(255) NOT NULL,
1069 CONSTRAINT sm_status_akreditacija_pkey PRIMARY KEY (id),
1070 CONSTRAINT sm_status_akreditacija_kod_key UNIQUE (kod)
1071);
1072
1073-- ============ TABLE: sm_student_dostignuvanje ============
1074CREATE TABLE public.sm_student_dostignuvanje (
1075 id integer NOT NULL DEFAULT nextval('sm_student_dostignuvanje_id_seq'::regclass),
1076 organizaciona_edinica_dostignuvanje_id integer NOT NULL,
1077 odobreno_od_vraboten_id integer NOT NULL,
1078 student_id integer NOT NULL,
1079 datum_postignato timestamp without time zone NOT NULL,
1080 status character varying(255) NOT NULL,
1081 opis_detali character varying(255),
1082 CONSTRAINT sm_student_dostignuvanje_pkey PRIMARY KEY (id),
1083 CONSTRAINT fk_sd_oed FOREIGN KEY (organizaciona_edinica_dostignuvanje_id) REFERENCES sm_organizaciona_edinica_dostignuvanja(id),
1084 CONSTRAINT fk_sd_stud FOREIGN KEY (student_id) REFERENCES sm_studenti(id),
1085 CONSTRAINT fk_sd_vraboten FOREIGN KEY (odobreno_od_vraboten_id) REFERENCES vr_vraboten_angazman(id)
1086);
1087
1088-- ============ TABLE: sm_student_ispit_prijava ============
1089CREATE TABLE public.sm_student_ispit_prijava (
1090 id integer NOT NULL DEFAULT nextval('sm_student_ispit_prijava_id_seq'::regclass),
1091 student_upisan_kurs_id integer NOT NULL,
1092 ispitna_sesija_id integer NOT NULL,
1093 datum_prijava timestamp without time zone NOT NULL,
1094 status character varying(255) NOT NULL,
1095 CONSTRAINT sm_student_ispit_prijava_pkey PRIMARY KEY (id),
1096 CONSTRAINT fk_sip_sesija FOREIGN KEY (ispitna_sesija_id) REFERENCES sm_ispitna_sesija(id),
1097 CONSTRAINT fk_sip_suk FOREIGN KEY (student_upisan_kurs_id) REFERENCES sm_student_upisan_kurs(id)
1098);
1099
1100-- ============ TABLE: sm_student_ocena_zapis ============
1101CREATE TABLE public.sm_student_ocena_zapis (
1102 id integer NOT NULL DEFAULT nextval('sm_student_ocena_zapis_id_seq'::regclass),
1103 student_upisan_kurs_id integer NOT NULL,
1104 ispitna_sesija_id integer NOT NULL,
1105 datum_zapis timestamp without time zone NOT NULL,
1106 osvoeni_poeni numeric(5,2),
1107 sistem_ocenuvanje_vrednost_id integer NOT NULL,
1108 kurs_realizacija_nastaven_kadar_id integer NOT NULL,
1109 CONSTRAINT sm_student_ocena_zapis_pkey PRIMARY KEY (id),
1110 CONSTRAINT chk_soz_poeni CHECK (((osvoeni_poeni IS NULL) OR ((osvoeni_poeni >= (0)::numeric) AND (osvoeni_poeni <= (100)::numeric)))),
1111 CONSTRAINT fk_soz_kadar FOREIGN KEY (kurs_realizacija_nastaven_kadar_id) REFERENCES sm_kurs_realizacija_nastaven_kadar(id),
1112 CONSTRAINT fk_soz_sesija FOREIGN KEY (ispitna_sesija_id) REFERENCES sm_ispitna_sesija(id),
1113 CONSTRAINT fk_soz_suk FOREIGN KEY (student_upisan_kurs_id) REFERENCES sm_student_upisan_kurs(id),
1114 CONSTRAINT fk_soz_vrednost FOREIGN KEY (sistem_ocenuvanje_vrednost_id) REFERENCES sm_sistem_ocenuvanje_vrednost(id)
1115);
1116
1117-- ============ TABLE: sm_student_paralelka_raspredelba ============
1118CREATE TABLE public.sm_student_paralelka_raspredelba (
1119 id integer NOT NULL DEFAULT nextval('sm_student_paralelka_raspredelba_id_seq'::regclass),
1120 student_upisan_kurs_id integer NOT NULL,
1121 kurs_realizacija_paralelka_id integer NOT NULL,
1122 datum_raspredelba timestamp without time zone NOT NULL,
1123 CONSTRAINT sm_student_paralelka_raspredelba_pkey PRIMARY KEY (id),
1124 CONSTRAINT fk_spr_paralelka FOREIGN KEY (kurs_realizacija_paralelka_id) REFERENCES sm_kurs_realizacija_paralelka(id),
1125 CONSTRAINT fk_spr_suk FOREIGN KEY (student_upisan_kurs_id) REFERENCES sm_student_upisan_kurs(id)
1126);
1127
1128-- ============ TABLE: sm_student_semestar_upis ============
1129CREATE TABLE public.sm_student_semestar_upis (
1130 id integer NOT NULL DEFAULT nextval('sm_student_semestar_upis_id_seq'::regclass),
1131 studenti_smerovi_id integer NOT NULL,
1132 akademski_semestar_id integer NOT NULL,
1133 smer_verzija_semestar_id integer NOT NULL,
1134 datum_upis timestamp without time zone NOT NULL,
1135 status character varying(255) NOT NULL,
1136 CONSTRAINT sm_student_semestar_upis_pkey PRIMARY KEY (id),
1137 CONSTRAINT fk_ssu_semestar FOREIGN KEY (akademski_semestar_id) REFERENCES sm_akademski_semestar(id),
1138 CONSTRAINT fk_ssu_stud_smer FOREIGN KEY (studenti_smerovi_id) REFERENCES sm_studenti_smerovi(id),
1139 CONSTRAINT fk_ssu_svs FOREIGN KEY (smer_verzija_semestar_id) REFERENCES sm_smer_verzija_semestar(id)
1140);
1141
1142-- ============ TABLE: sm_student_upisan_kurs ============
1143CREATE TABLE public.sm_student_upisan_kurs (
1144 id integer NOT NULL DEFAULT nextval('sm_student_upisan_kurs_id_seq'::regclass),
1145 student_semestar_upis_id integer NOT NULL,
1146 kurs_realizacija_id integer NOT NULL,
1147 status_slushanje character varying(255) NOT NULL,
1148 CONSTRAINT sm_student_upisan_kurs_pkey PRIMARY KEY (id),
1149 CONSTRAINT fk_suk_kr FOREIGN KEY (kurs_realizacija_id) REFERENCES sm_kurs_realizacija(id),
1150 CONSTRAINT fk_suk_upis FOREIGN KEY (student_semestar_upis_id) REFERENCES sm_student_semestar_upis(id)
1151);
1152
1153-- ============ TABLE: sm_studenti ============
1154CREATE TABLE public.sm_studenti (
1155 id integer NOT NULL DEFAULT nextval('sm_studenti_id_seq'::regclass),
1156 user_id integer NOT NULL,
1157 organizaciona_edinica_id integer NOT NULL,
1158 indeks character varying(255),
1159 aktiven boolean DEFAULT true,
1160 CONSTRAINT sm_studenti_pkey PRIMARY KEY (id),
1161 CONSTRAINT fk_stud_org_ed FOREIGN KEY (organizaciona_edinica_id) REFERENCES or_organizaciona_edinica(id),
1162 CONSTRAINT fk_stud_user FOREIGN KEY (user_id) REFERENCES korisnici(id)
1163);
1164
1165-- ============ TABLE: sm_studenti_smerovi ============
1166CREATE TABLE public.sm_studenti_smerovi (
1167 id integer NOT NULL DEFAULT nextval('sm_studenti_smerovi_id_seq'::regclass),
1168 student_id integer NOT NULL,
1169 smer_verzija_id integer NOT NULL,
1170 kvota_id integer NOT NULL,
1171 primaren boolean DEFAULT true,
1172 aktiven boolean DEFAULT true,
1173 CONSTRAINT sm_studenti_smerovi_pkey PRIMARY KEY (id),
1174 CONSTRAINT fk_ss_kvota FOREIGN KEY (kvota_id) REFERENCES sm_tip_kvota(id),
1175 CONSTRAINT fk_ss_stud FOREIGN KEY (student_id) REFERENCES sm_studenti(id),
1176 CONSTRAINT fk_ss_verzija FOREIGN KEY (smer_verzija_id) REFERENCES sm_smer_verzija(id)
1177);
1178
1179-- ============ TABLE: sm_tip_akademski_semestar ============
1180CREATE TABLE public.sm_tip_akademski_semestar (
1181 id integer NOT NULL DEFAULT nextval('sm_tip_akademski_semestar_id_seq'::regclass),
1182 ime_tip character varying(255),
1183 CONSTRAINT sm_tip_akademski_semestar_pkey PRIMARY KEY (id),
1184 CONSTRAINT sm_tip_akademski_semestar_ime_tip_key UNIQUE (ime_tip)
1185);
1186
1187-- ============ TABLE: sm_tip_akreditacija ============
1188CREATE TABLE public.sm_tip_akreditacija (
1189 id integer NOT NULL DEFAULT nextval('sm_tip_akreditacija_id_seq'::regclass),
1190 kod character varying(255) NOT NULL,
1191 ime character varying(255) NOT NULL,
1192 CONSTRAINT sm_tip_akreditacija_pkey PRIMARY KEY (id),
1193 CONSTRAINT sm_tip_akreditacija_kod_key UNIQUE (kod)
1194);
1195
1196-- ============ TABLE: sm_tip_akreditacisko_telo ============
1197CREATE TABLE public.sm_tip_akreditacisko_telo (
1198 id integer NOT NULL DEFAULT nextval('sm_tip_akreditacisko_telo_id_seq'::regclass),
1199 kod character varying(255) NOT NULL,
1200 ime character varying(255) NOT NULL,
1201 CONSTRAINT sm_tip_akreditacisko_telo_pkey PRIMARY KEY (id),
1202 CONSTRAINT sm_tip_akreditacisko_telo_kod_key UNIQUE (kod)
1203);
1204
1205-- ============ TABLE: sm_tip_dostignuvanje ============
1206CREATE TABLE public.sm_tip_dostignuvanje (
1207 id integer NOT NULL DEFAULT nextval('sm_tip_dostignuvanje_id_seq'::regclass),
1208 kod character varying(255),
1209 ime character varying(255) NOT NULL,
1210 organizaciona_edinica_id integer NOT NULL,
1211 CONSTRAINT sm_tip_dostignuvanje_pkey PRIMARY KEY (id),
1212 CONSTRAINT sm_tip_dostignuvanje_kod_key UNIQUE (kod),
1213 CONSTRAINT fk_td_org_ed FOREIGN KEY (organizaciona_edinica_id) REFERENCES or_organizaciona_edinica(id)
1214);
1215
1216-- ============ TABLE: sm_tip_kvota ============
1217CREATE TABLE public.sm_tip_kvota (
1218 id integer NOT NULL DEFAULT nextval('sm_tip_kvota_id_seq'::regclass),
1219 kod character varying(255),
1220 organizaciona_edinica_id integer NOT NULL,
1221 ime character varying(255),
1222 CONSTRAINT sm_tip_kvota_pkey PRIMARY KEY (id),
1223 CONSTRAINT sm_tip_kvota_kod_key UNIQUE (kod),
1224 CONSTRAINT fk_tk_org_ed FOREIGN KEY (organizaciona_edinica_id) REFERENCES or_organizaciona_edinica(id)
1225);
1226
1227-- ============ TABLE: sm_tip_smer ============
1228CREATE TABLE public.sm_tip_smer (
1229 id integer NOT NULL DEFAULT nextval('sm_tip_smer_id_seq'::regclass),
1230 ime_tip character varying(255),
1231 CONSTRAINT sm_tip_smer_pkey PRIMARY KEY (id),
1232 CONSTRAINT sm_tip_smer_ime_tip_key UNIQUE (ime_tip)
1233);
1234
1235-- ============ TABLE: sm_tip_uloga_akreditacija_telo ============
1236CREATE TABLE public.sm_tip_uloga_akreditacija_telo (
1237 id integer NOT NULL DEFAULT nextval('sm_tip_uloga_akreditacija_telo_id_seq'::regclass),
1238 kod character varying(255) NOT NULL,
1239 ime character varying(255) NOT NULL,
1240 CONSTRAINT sm_tip_uloga_akreditacija_telo_pkey PRIMARY KEY (id),
1241 CONSTRAINT sm_tip_uloga_akreditacija_telo_kod_key UNIQUE (kod)
1242);
1243
1244-- ============ TABLE: sm_upis_pravilo_brojac ============
1245CREATE TABLE public.sm_upis_pravilo_brojac (
1246 id integer NOT NULL DEFAULT nextval('sm_upis_pravilo_brojac_id_seq'::regclass),
1247 pravilo_id integer NOT NULL,
1248 opseg_vrednost character varying(255),
1249 posledna_sekvenca integer NOT NULL DEFAULT 0,
1250 updated_at timestamp without time zone,
1251 CONSTRAINT sm_upis_pravilo_brojac_pkey PRIMARY KEY (id),
1252 CONSTRAINT fk_upb_pravilo FOREIGN KEY (pravilo_id) REFERENCES sm_organizaciona_edinica_upis_pravilo(id)
1253);
1254
1255-- ============ TABLE: tip_atribut ============
1256CREATE TABLE public.tip_atribut (
1257 id integer NOT NULL DEFAULT nextval('tip_atribut_id_seq'::regclass),
1258 ime character varying(255),
1259 CONSTRAINT tip_atribut_pkey PRIMARY KEY (id),
1260 CONSTRAINT tip_atribut_ime_key UNIQUE (ime)
1261);
1262
1263-- ============ TABLE: tmp_salary_truth ============
1264CREATE TABLE public.tmp_salary_truth (
1265 plata_period_id integer,
1266 vraboten_id integer,
1267 true_bruto numeric,
1268 true_odbivki numeric,
1269 true_danok numeric
1270);
1271
1272-- ============ TABLE: vr_akademski_stepen ============
1273CREATE TABLE public.vr_akademski_stepen (
1274 id integer NOT NULL DEFAULT nextval('vr_akademski_stepen_id_seq'::regclass),
1275 ime character varying(255),
1276 CONSTRAINT vr_akademski_stepen_pkey PRIMARY KEY (id),
1277 CONSTRAINT vr_akademski_stepen_ime_key UNIQUE (ime)
1278);
1279
1280-- ============ TABLE: vr_akademsko_zvanje ============
1281CREATE TABLE public.vr_akademsko_zvanje (
1282 id integer NOT NULL DEFAULT nextval('vr_akademsko_zvanje_id_seq'::regclass),
1283 kod character varying(255) NOT NULL,
1284 ime character varying(255) NOT NULL,
1285 redosled integer,
1286 aktivno boolean NOT NULL DEFAULT true,
1287 CONSTRAINT vr_akademsko_zvanje_pkey PRIMARY KEY (id),
1288 CONSTRAINT vr_akademsko_zvanje_kod_key UNIQUE (kod)
1289);
1290
1291-- ============ TABLE: vr_lice_kvalifikacija ============
1292CREATE TABLE public.vr_lice_kvalifikacija (
1293 id integer NOT NULL DEFAULT nextval('vr_lice_kvalifikacija_id_seq'::regclass),
1294 lice_id integer NOT NULL,
1295 vid_kvalifikacija_id integer NOT NULL,
1296 pole_kvalifikacija_id integer,
1297 naziv_kvalifikacija character varying(255) NOT NULL,
1298 institucija_izdavac character varying(255),
1299 drzava_id integer NOT NULL,
1300 datum_izdavanje date,
1301 dokument_url character varying(255),
1302 CONSTRAINT vr_lice_kvalifikacija_pkey PRIMARY KEY (id),
1303 CONSTRAINT fk_lk_drzava FOREIGN KEY (drzava_id) REFERENCES drzavi(id),
1304 CONSTRAINT fk_lk_lice FOREIGN KEY (lice_id) REFERENCES lice(id),
1305 CONSTRAINT fk_lk_pole_kval FOREIGN KEY (pole_kvalifikacija_id) REFERENCES vr_pole_kvalifikacija(id),
1306 CONSTRAINT fk_lk_vid_kval FOREIGN KEY (vid_kvalifikacija_id) REFERENCES vr_vid_kvalifikacija(id)
1307);
1308
1309-- ============ TABLE: vr_pole_kvalifikacija ============
1310CREATE TABLE public.vr_pole_kvalifikacija (
1311 id integer NOT NULL DEFAULT nextval('vr_pole_kvalifikacija_id_seq'::regclass),
1312 kod character varying(255) NOT NULL,
1313 ime character varying(255) NOT NULL,
1314 CONSTRAINT vr_pole_kvalifikacija_pkey PRIMARY KEY (id),
1315 CONSTRAINT vr_pole_kvalifikacija_kod_key UNIQUE (kod)
1316);
1317
1318-- ============ TABLE: vr_pozicija_preduslov ============
1319CREATE TABLE public.vr_pozicija_preduslov (
1320 id integer NOT NULL DEFAULT nextval('vr_pozicija_preduslov_id_seq'::regclass),
1321 pozicija_preduslov_grupa_id integer NOT NULL,
1322 tip_preduslov character varying(255) NOT NULL,
1323 minimalen_akademski_stepen_id integer,
1324 vid_kvalifikacija_id integer,
1325 pole_kvalifikacija_id integer,
1326 min_godini_iskustvo integer,
1327 obvrzna_verifikacija boolean NOT NULL DEFAULT false,
1328 zadolzitelen boolean NOT NULL DEFAULT true,
1329 CONSTRAINT vr_pozicija_preduslov_pkey PRIMARY KEY (id),
1330 CONSTRAINT fk_pp_grupa FOREIGN KEY (pozicija_preduslov_grupa_id) REFERENCES vr_pozicija_preduslov_grupa(id),
1331 CONSTRAINT fk_pp_pole_kval FOREIGN KEY (pole_kvalifikacija_id) REFERENCES vr_pole_kvalifikacija(id),
1332 CONSTRAINT fk_pp_stepen FOREIGN KEY (minimalen_akademski_stepen_id) REFERENCES vr_akademski_stepen(id),
1333 CONSTRAINT fk_pp_vid_kval FOREIGN KEY (vid_kvalifikacija_id) REFERENCES vr_vid_kvalifikacija(id)
1334);
1335
1336-- ============ TABLE: vr_pozicija_preduslov_grupa ============
1337CREATE TABLE public.vr_pozicija_preduslov_grupa (
1338 id integer NOT NULL DEFAULT nextval('vr_pozicija_preduslov_grupa_id_seq'::regclass),
1339 rabota_pozicija_id integer NOT NULL,
1340 logicki_operator character varying(255) NOT NULL,
1341 CONSTRAINT vr_pozicija_preduslov_grupa_pkey PRIMARY KEY (id),
1342 CONSTRAINT fk_ppg_rab_poz FOREIGN KEY (rabota_pozicija_id) REFERENCES vr_rabota_pozicija(id)
1343);
1344
1345-- ============ TABLE: vr_rabota_pozicija ============
1346CREATE TABLE public.vr_rabota_pozicija (
1347 id integer NOT NULL DEFAULT nextval('vr_rabota_pozicija_id_seq'::regclass),
1348 tip_organizaciona_edinica_id integer NOT NULL,
1349 kod_pozicija character varying(255) NOT NULL,
1350 ime_pozicija character varying(255) NOT NULL,
1351 kategorija character varying(255),
1352 aktivna boolean NOT NULL DEFAULT true,
1353 CONSTRAINT vr_rabota_pozicija_pkey PRIMARY KEY (id),
1354 CONSTRAINT fk_rp_tip_org_ed FOREIGN KEY (tip_organizaciona_edinica_id) REFERENCES or_tipovi_organizaciona_edinica(id)
1355);
1356
1357-- ============ TABLE: vr_status_vrabotenje ============
1358CREATE TABLE public.vr_status_vrabotenje (
1359 id integer NOT NULL DEFAULT nextval('vr_status_vrabotenje_id_seq'::regclass),
1360 kod character varying(255) NOT NULL,
1361 ime character varying(255) NOT NULL,
1362 CONSTRAINT vr_status_vrabotenje_pkey PRIMARY KEY (id),
1363 CONSTRAINT vr_status_vrabotenje_kod_key UNIQUE (kod)
1364);
1365
1366-- ============ TABLE: vr_tip_angazman ============
1367CREATE TABLE public.vr_tip_angazman (
1368 id integer NOT NULL DEFAULT nextval('vr_tip_angazman_id_seq'::regclass),
1369 kod character varying(255) NOT NULL,
1370 ime character varying(255) NOT NULL,
1371 CONSTRAINT vr_tip_angazman_pkey PRIMARY KEY (id),
1372 CONSTRAINT vr_tip_angazman_kod_key UNIQUE (kod)
1373);
1374
1375-- ============ TABLE: vr_tip_funkcija ============
1376CREATE TABLE public.vr_tip_funkcija (
1377 id integer NOT NULL DEFAULT nextval('vr_tip_funkcija_id_seq'::regclass),
1378 kod character varying(255) NOT NULL,
1379 ime character varying(255) NOT NULL,
1380 mandatna boolean NOT NULL DEFAULT false,
1381 CONSTRAINT vr_tip_funkcija_pkey PRIMARY KEY (id),
1382 CONSTRAINT vr_tip_funkcija_kod_key UNIQUE (kod)
1383);
1384
1385-- ============ TABLE: vr_tip_organizaciona_uloga ============
1386CREATE TABLE public.vr_tip_organizaciona_uloga (
1387 id integer NOT NULL DEFAULT nextval('vr_tip_organizaciona_uloga_id_seq'::regclass),
1388 kod character varying(255) NOT NULL,
1389 ime character varying(255) NOT NULL,
1390 opis character varying(255),
1391 CONSTRAINT vr_tip_organizaciona_uloga_pkey PRIMARY KEY (id),
1392 CONSTRAINT vr_tip_organizaciona_uloga_kod_key UNIQUE (kod)
1393);
1394
1395-- ============ TABLE: vr_tip_uloga_nastaven_kadar ============
1396CREATE TABLE public.vr_tip_uloga_nastaven_kadar (
1397 id integer NOT NULL DEFAULT nextval('vr_tip_uloga_nastaven_kadar_id_seq'::regclass),
1398 kod character varying(255) NOT NULL,
1399 ime character varying(255) NOT NULL,
1400 CONSTRAINT vr_tip_uloga_nastaven_kadar_pkey PRIMARY KEY (id),
1401 CONSTRAINT vr_tip_uloga_nastaven_kadar_kod_key UNIQUE (kod)
1402);
1403
1404-- ============ TABLE: vr_vid_kvalifikacija ============
1405CREATE TABLE public.vr_vid_kvalifikacija (
1406 id integer NOT NULL DEFAULT nextval('vr_vid_kvalifikacija_id_seq'::regclass),
1407 kod character varying(255) NOT NULL,
1408 ime character varying(255) NOT NULL,
1409 akademski_stepen_id integer NOT NULL,
1410 CONSTRAINT vr_vid_kvalifikacija_pkey PRIMARY KEY (id),
1411 CONSTRAINT vr_vid_kvalifikacija_kod_key UNIQUE (kod),
1412 CONSTRAINT fk_vk_stepen FOREIGN KEY (akademski_stepen_id) REFERENCES vr_akademski_stepen(id)
1413);
1414
1415-- ============ TABLE: vr_vraboten_akademsko_zvanje ============
1416CREATE TABLE public.vr_vraboten_akademsko_zvanje (
1417 id integer NOT NULL DEFAULT nextval('vr_vraboten_akademsko_zvanje_id_seq'::regclass),
1418 vraboten_angazman_id integer NOT NULL,
1419 akademsko_zvanje_id integer NOT NULL,
1420 datum_od date NOT NULL,
1421 datum_do date,
1422 dokument_id integer,
1423 aktivno boolean NOT NULL DEFAULT true,
1424 CONSTRAINT vr_vraboten_akademsko_zvanje_pkey PRIMARY KEY (id),
1425 CONSTRAINT chk_vaz_period CHECK (((datum_do IS NULL) OR (datum_od <= datum_do))),
1426 CONSTRAINT fk_vaz_angazman FOREIGN KEY (vraboten_angazman_id) REFERENCES vr_vraboten_angazman(id),
1427 CONSTRAINT fk_vaz_dokument FOREIGN KEY (dokument_id) REFERENCES dok_generiran_dokument(id),
1428 CONSTRAINT fk_vaz_zvanje FOREIGN KEY (akademsko_zvanje_id) REFERENCES vr_akademsko_zvanje(id)
1429);
1430
1431-- ============ TABLE: vr_vraboten_angazman ============
1432CREATE TABLE public.vr_vraboten_angazman (
1433 id integer NOT NULL DEFAULT nextval('vr_vraboten_angazman_id_seq'::regclass),
1434 lice_id integer NOT NULL,
1435 organizaciona_edinica_id integer NOT NULL,
1436 rabota_pozicija_id integer NOT NULL,
1437 status_vrabotenje_id integer NOT NULL,
1438 tip_angazman_id integer NOT NULL,
1439 datum_od date NOT NULL,
1440 datum_do date,
1441 primaren boolean NOT NULL DEFAULT true,
1442 fte numeric(5,2),
1443 nadreden_angazman_id integer,
1444 aktiven boolean NOT NULL DEFAULT true,
1445 CONSTRAINT vr_vraboten_angazman_pkey PRIMARY KEY (id),
1446 CONSTRAINT chk_va_fte CHECK (((fte IS NULL) OR ((fte > (0)::numeric) AND (fte <= (1)::numeric)))),
1447 CONSTRAINT chk_va_period CHECK (((datum_do IS NULL) OR (datum_od <= datum_do))),
1448 CONSTRAINT fk_va_lice FOREIGN KEY (lice_id) REFERENCES lice(id),
1449 CONSTRAINT fk_va_nadreden FOREIGN KEY (nadreden_angazman_id) REFERENCES vr_vraboten_angazman(id),
1450 CONSTRAINT fk_va_org_ed FOREIGN KEY (organizaciona_edinica_id) REFERENCES or_organizaciona_edinica(id),
1451 CONSTRAINT fk_va_rab_poz FOREIGN KEY (rabota_pozicija_id) REFERENCES vr_rabota_pozicija(id),
1452 CONSTRAINT fk_va_stat_vrab FOREIGN KEY (status_vrabotenje_id) REFERENCES vr_status_vrabotenje(id),
1453 CONSTRAINT fk_va_tip_ang FOREIGN KEY (tip_angazman_id) REFERENCES vr_tip_angazman(id)
1454);
1455
1456-- ============ TABLE: vr_vraboten_funkcija ============
1457CREATE TABLE public.vr_vraboten_funkcija (
1458 id integer NOT NULL DEFAULT nextval('vr_vraboten_funkcija_id_seq'::regclass),
1459 vraboten_angazman_id integer NOT NULL,
1460 tip_funkcija_id integer NOT NULL,
1461 organizaciona_edinica_id integer NOT NULL,
1462 datum_od date NOT NULL,
1463 datum_do date,
1464 dokument_id integer,
1465 aktivna boolean NOT NULL DEFAULT true,
1466 CONSTRAINT vr_vraboten_funkcija_pkey PRIMARY KEY (id),
1467 CONSTRAINT chk_vf_period CHECK (((datum_do IS NULL) OR (datum_od <= datum_do))),
1468 CONSTRAINT fk_vf_angazman FOREIGN KEY (vraboten_angazman_id) REFERENCES vr_vraboten_angazman(id),
1469 CONSTRAINT fk_vf_dokument FOREIGN KEY (dokument_id) REFERENCES dok_generiran_dokument(id),
1470 CONSTRAINT fk_vf_org_ed FOREIGN KEY (organizaciona_edinica_id) REFERENCES or_organizaciona_edinica(id),
1471 CONSTRAINT fk_vf_tip_func FOREIGN KEY (tip_funkcija_id) REFERENCES vr_tip_funkcija(id)
1472);
1473
1474-- ============ TABLE: vr_vraboten_kompensacija ============
1475CREATE TABLE public.vr_vraboten_kompensacija (
1476 id integer NOT NULL DEFAULT nextval('vr_vraboten_kompensacija_id_seq'::regclass),
1477 vraboten_angazman_id integer NOT NULL,
1478 valid_from date NOT NULL,
1479 valid_to date,
1480 tip_osnova character varying(255) NOT NULL,
1481 bruto_osnova numeric(14,2),
1482 neto_osnova numeric(14,2),
1483 vid_valuta_id integer NOT NULL,
1484 fond_casovi numeric(10,2),
1485 aktivna boolean NOT NULL DEFAULT true,
1486 CONSTRAINT vr_vraboten_kompensacija_pkey PRIMARY KEY (id),
1487 CONSTRAINT chk_vk_bruto CHECK ((bruto_osnova >= (0)::numeric)),
1488 CONSTRAINT chk_vk_period CHECK (((valid_to IS NULL) OR (valid_from <= valid_to))),
1489 CONSTRAINT fk_vk_angazman FOREIGN KEY (vraboten_angazman_id) REFERENCES vr_vraboten_angazman(id),
1490 CONSTRAINT fk_vk_valuta FOREIGN KEY (vid_valuta_id) REFERENCES fin_vid_valuta(id)
1491);
1492
1493-- ============ TABLE: vr_vraboten_organizaciona_uloga ============
1494CREATE TABLE public.vr_vraboten_organizaciona_uloga (
1495 id integer NOT NULL DEFAULT nextval('vr_vraboten_organizaciona_uloga_id_seq'::regclass),
1496 vraboten_angazman_id integer NOT NULL,
1497 tip_organizaciona_uloga_id integer NOT NULL,
1498 organizaciona_edinica_id integer NOT NULL,
1499 datum_od date NOT NULL,
1500 datum_do date,
1501 aktivna boolean NOT NULL DEFAULT true,
1502 CONSTRAINT vr_vraboten_organizaciona_uloga_pkey PRIMARY KEY (id),
1503 CONSTRAINT fk_vou_angazman FOREIGN KEY (vraboten_angazman_id) REFERENCES vr_vraboten_angazman(id),
1504 CONSTRAINT fk_vou_org_ed FOREIGN KEY (organizaciona_edinica_id) REFERENCES or_organizaciona_edinica(id),
1505 CONSTRAINT fk_vou_tip_uloga FOREIGN KEY (tip_organizaciona_uloga_id) REFERENCES vr_tip_organizaciona_uloga(id)
1506);