[d48b326] | 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 |
|
---|