1 | -- delete tables if they exist
|
---|
2 | drop table if exists project.Fakturi;
|
---|
3 | drop table if exists project.Licenci;
|
---|
4 | drop table if exists project.Rezervacii;
|
---|
5 | drop table if exists project.Roba;
|
---|
6 | drop table if exists project.Ruti;
|
---|
7 | drop table if exists project.Vozila;
|
---|
8 | drop table if exists project.Administratori;
|
---|
9 | drop table if exists project.Dispeceri;
|
---|
10 | drop table if exists project.Vozaci;
|
---|
11 | drop table if exists project.Vraboteni_telefoni;
|
---|
12 | drop table if exists project.Vraboteni;
|
---|
13 | drop table if exists project.Tipovi;
|
---|
14 | drop table if exists project.Kategorii;
|
---|
15 | drop table if exists project.Kompanii;
|
---|
16 | drop table if exists project.Gradovi;
|
---|
17 | drop table if exists project.Klienti;
|
---|
18 |
|
---|
19 | -- create tables
|
---|
20 | -- Kompanii: Kompanii(kompanija_id, kompanija_ime, kompanija_adresa, kompanija_telefon)
|
---|
21 | create table project.Kompanii(
|
---|
22 | kompanija_id serial not null,
|
---|
23 | kompanija_ime varchar(300) not null,
|
---|
24 | kompanija_adresa varchar(300) not null,
|
---|
25 | kompanija_telefon varchar(300) not null,
|
---|
26 |
|
---|
27 | constraint pk_Kompanii primary key (kompanija_id),
|
---|
28 | constraint un_Kompanii_kompanija_ime unique (kompanija_ime)
|
---|
29 | );
|
---|
30 |
|
---|
31 | -- Vraboteni: Vraboteni(vraboten_id, vraboten_ime, vraboten_prezime, vraboten_email, vraboten_password, kompanija_id*(Kompanii))
|
---|
32 | create table project.Vraboteni(
|
---|
33 | vraboten_id serial not null,
|
---|
34 | vraboten_ime varchar(300) not null,
|
---|
35 | vraboten_prezime varchar(300) not null,
|
---|
36 | vraboten_email varchar(300) not null,
|
---|
37 | vraboten_password varchar(300) not null,
|
---|
38 |
|
---|
39 | kompanija_id integer not null,
|
---|
40 |
|
---|
41 | constraint pk_Vraboteni primary key (vraboten_id),
|
---|
42 | constraint fk_Vraboteni_Kompanii foreign key (kompanija_id) references project.Kompanii(kompanija_id)
|
---|
43 | );
|
---|
44 |
|
---|
45 |
|
---|
46 | -- Administratori: Administratori(administrator_id*(Vraboteni))
|
---|
47 | create table project.Administratori(
|
---|
48 | administrator_id integer not null,
|
---|
49 |
|
---|
50 | constraint pk_Administratori primary key (administrator_id),
|
---|
51 | constraint fk_Administratori_Vraboteni foreign key (administrator_id) references project.Vraboteni(vraboten_id)
|
---|
52 | );
|
---|
53 |
|
---|
54 | -- Dispeceri: Dispeceri(dispecer_id*(Vraboteni))
|
---|
55 | create table project.Dispeceri(
|
---|
56 | dispecer_id integer not null,
|
---|
57 |
|
---|
58 | constraint pk_Dispeceri primary key (dispecer_id),
|
---|
59 | constraint fk_Dispeceri_Vraboteni foreign key (dispecer_id) references project.Vraboteni(vraboten_id)
|
---|
60 | );
|
---|
61 |
|
---|
62 | -- Vozaci: Vozaci(vozac_id*(Vraboteni))
|
---|
63 | create table project.Vozaci(
|
---|
64 | vozac_id integer not null,
|
---|
65 |
|
---|
66 | constraint pk_Vozaci primary key (vozac_id),
|
---|
67 | constraint fk_Vozaci_Vraboteni foreign key (vozac_id) references project.Vraboteni(vraboten_id)
|
---|
68 | );
|
---|
69 |
|
---|
70 | -- Vraboteni_telefoni: Vraboteni_telefoni(vraboten_id*(Vraboteni), telefonski_broj)
|
---|
71 | create table project.Vraboteni_telefoni(
|
---|
72 | vraboten_id integer not null,
|
---|
73 | telefonski_broj varchar(100) not null,
|
---|
74 |
|
---|
75 | constraint pk_Vraboteni_telefoni primary key (vraboten_id, telefonski_broj),
|
---|
76 | constraint fk_Vraboteni_telefoni_Vraboteni foreign key (vraboten_id) references project.Vraboteni(vraboten_id)
|
---|
77 | );
|
---|
78 |
|
---|
79 | -- Tipovi: Tipovi(tip_id, tip_ime)
|
---|
80 | create table project.Tipovi(
|
---|
81 | tip_id serial not null,
|
---|
82 | tip_ime varchar(300) not null,
|
---|
83 |
|
---|
84 | constraint pk_Tipovi primary key (tip_id),
|
---|
85 | constraint un_Tipovi_tip_ime unique (tip_ime)
|
---|
86 | );
|
---|
87 |
|
---|
88 | -- Vozila: Vozila(vozilo_id, vozilo_kapacitet, vozilo_marka, kompanija_id*(Kompanii), tip_id*(Tipovi), vozac_id*(Vozaci))
|
---|
89 | create table project.Vozila(
|
---|
90 | vozilo_id serial not null,
|
---|
91 | vozilo_kapacitet integer not null,
|
---|
92 | vozilo_marka varchar(300) not null,
|
---|
93 |
|
---|
94 | kompanija_id integer not null,
|
---|
95 | tip_id integer not null,
|
---|
96 | vozac_id integer not null,
|
---|
97 |
|
---|
98 | constraint pk_Vozila primary key (vozilo_id),
|
---|
99 | constraint fk_Vozila_Kompanii foreign key (kompanija_id) references project.Kompanii(kompanija_id),
|
---|
100 | constraint fk_Vozila_Tipovi foreign key (tip_id) references project.Tipovi(tip_id),
|
---|
101 | constraint fk_Vozila_Vozaci foreign key (vozac_id) references project.Vozaci(vozac_id)
|
---|
102 | );
|
---|
103 |
|
---|
104 | -- Klienti: Klienti(klient_id, klient_ime, klient_prezime, klient_email, klient_telefon)
|
---|
105 | create table project.Klienti(
|
---|
106 | klient_id serial not null,
|
---|
107 | klient_ime varchar(300) not null,
|
---|
108 | klient_prezime varchar(300) not null,
|
---|
109 | klient_email varchar(300) not null,
|
---|
110 | klient_password varchar(300) not null,
|
---|
111 | klient_telefon varchar(100) not null,
|
---|
112 |
|
---|
113 | constraint pk_Klienti primary key (klient_id),
|
---|
114 | constraint un_Klienti_klient_email unique (klient_email)
|
---|
115 | );
|
---|
116 |
|
---|
117 | -- Gradovi: Gradovi(grad_id, grad_ime)
|
---|
118 | create table project.Gradovi(
|
---|
119 | grad_id serial not null,
|
---|
120 | grad_ime varchar(300) not null,
|
---|
121 |
|
---|
122 | constraint pk_Gradovi primary key (grad_id),
|
---|
123 | constraint un_Gradovi_ime unique (grad_ime)
|
---|
124 | );
|
---|
125 |
|
---|
126 | -- Ruti: Ruti(ruta_id, datum_poagjanje, datum_pristignuvanje,s vozilo_id*(Vozila),
|
---|
127 | -- zapocnuva_vo*(Gradovi), zavrsuva_vo*(Gradovi), dispecer_id*(Dispeceri), vozac_id*(Vozaci))
|
---|
128 | create table project.Ruti(
|
---|
129 | ruta_id serial not null,
|
---|
130 | datum_poagjanje date not null,
|
---|
131 | datum_pristignuvanje date not null,
|
---|
132 |
|
---|
133 | vozilo_id integer not null,
|
---|
134 | zapocnuva_vo integer not null,
|
---|
135 | zavrsuva_vo integer not null,
|
---|
136 | dispecer_id integer not null,
|
---|
137 | vozac_id integer not null,
|
---|
138 |
|
---|
139 | constraint pk_Ruti primary key (ruta_id),
|
---|
140 | constraint fk_Ruti_Vozila foreign key(vozilo_id) references project.Vozila(vozilo_id),
|
---|
141 | constraint fk_Ruti_Zapocnuva_Gradovi foreign key(zapocnuva_vo) references project.Gradovi(grad_id),
|
---|
142 | constraint fk_Ruti_Zavrsuva_Gradovi foreign key(zavrsuva_vo) references project.Gradovi(grad_id),
|
---|
143 | constraint fk_Ruti_Dispeceri foreign key(dispecer_id) references project.Dispeceri(dispecer_id),
|
---|
144 | constraint fk_Ruti_Vozaci foreign key(vozac_id) references project.Vozaci(vozac_id)
|
---|
145 | );
|
---|
146 |
|
---|
147 | -- Kategorija: Kategorii(kategorija_id, kategorija_ime)
|
---|
148 | create table project.Kategorii(
|
---|
149 | kategorija_id serial not null,
|
---|
150 | kategorija_ime varchar(300) not null,
|
---|
151 |
|
---|
152 | constraint pk_Kategorii primary key (kategorija_id),
|
---|
153 | constraint un_Kategorija_ime unique (kategorija_ime)
|
---|
154 | );
|
---|
155 |
|
---|
156 | -- Rezervacii: Rezervacii(rezervacija_id, rezervacija_status, klient_id*(Klienti), ruta_id*(Ruti))
|
---|
157 | create table project.Rezervacii(
|
---|
158 | rezervacija_id serial not null,
|
---|
159 | rezervacija_status varchar(300) not null,
|
---|
160 |
|
---|
161 | klient_id integer not null,
|
---|
162 | ruta_id integer not null,
|
---|
163 |
|
---|
164 | constraint pk_Rezervacii primary key (rezervacija_id),
|
---|
165 | constraint fk_Rezervacii_Klienti foreign key (klient_id) references project.Klienti(klient_id),
|
---|
166 | constraint fk_Rezervacii_Ruti foreign key (ruta_id) references project.Ruti(ruta_id)
|
---|
167 | );
|
---|
168 |
|
---|
169 | -- Roba: Roba(roba_id, roba_kolicina, kategorija_id*(Kategorii), rezervacija_id*(Rezervacii))
|
---|
170 | create table project.Roba(
|
---|
171 | roba_id serial not null,
|
---|
172 | roba_kolicina integer not null,
|
---|
173 |
|
---|
174 | rezervacija_id integer not null,
|
---|
175 | kategorija_id integer not null,
|
---|
176 |
|
---|
177 | constraint pk_Roba primary key (roba_id),
|
---|
178 | constraint fk_Roba_Kategorii foreign key(kategorija_id) references project.Kategorii(kategorija_id),
|
---|
179 | constraint fk_Roba_Rezervacii foreign key (rezervacija_id) references project.Rezervacii(rezervacija_id)
|
---|
180 | );
|
---|
181 |
|
---|
182 | -- Fakturi: Fakturi(faktura_id, faktura_iznos, rezervacija_id*(Rezervacii), administrator_id*(Vraboteni))
|
---|
183 | create table project.Fakturi(
|
---|
184 | faktura_id serial not null,
|
---|
185 | faktura_iznos integer not null,
|
---|
186 |
|
---|
187 | rezervacija_id integer not null,
|
---|
188 | administrator_id integer not null,
|
---|
189 |
|
---|
190 | constraint pk_Fakturi primary key (faktura_id),
|
---|
191 | constraint fk_Fakturi_Rezervacii foreign key (rezervacija_id) references project.Rezervacii(rezervacija_id),
|
---|
192 | constraint fk_Fakturi_Administratori foreign key (administrator_id) references project.Administratori(administrator_id)
|
---|
193 | );
|
---|
194 |
|
---|
195 | -- Licenci: Licenci(kompanija_id*(Kompanii), licenca_id, licenca_vazi_od, licenca_vazi_do)
|
---|
196 | create table project.Licenci(
|
---|
197 | licenca_id serial not null,
|
---|
198 | licenca_vazi_od date not null,
|
---|
199 | licenca_vazi_do date not null,
|
---|
200 |
|
---|
201 | kompanija_id integer not null,
|
---|
202 |
|
---|
203 | constraint pk_Licenci primary key (kompanija_id, licenca_id),
|
---|
204 | constraint fk_Licenci_Kompanii foreign key (kompanija_id) references project.Kompanii(kompanija_id)
|
---|
205 | );
|
---|
206 |
|
---|