| 1 | DROP DATABASE IF EXISTS travel_sage;
|
|---|
| 2 | CREATE DATABASE travel_sage;
|
|---|
| 3 | USE travel_sage;
|
|---|
| 4 |
|
|---|
| 5 | DROP TABLE IF EXISTS NASTANI;
|
|---|
| 6 | DROP TABLE IF EXISTS PREFERENCI;
|
|---|
| 7 | DROP TABLE IF EXISTS PAKETI;
|
|---|
| 8 | DROP TABLE IF EXISTS RECENZII;
|
|---|
| 9 | DROP TABLE IF EXISTS REZERVACII;
|
|---|
| 10 | DROP TABLE IF EXISTS PREMIUM;
|
|---|
| 11 | DROP TABLE IF EXISTS STANDARD;
|
|---|
| 12 | DROP TABLE IF EXISTS KORISNICI;
|
|---|
| 13 | DROP TABLE IF EXISTS AKTIVNOSTI;
|
|---|
| 14 | DROP TABLE IF EXISTS METEROLOSHKASOSTOJBA;
|
|---|
| 15 | DROP TABLE IF EXISTS DESTINACII;
|
|---|
| 16 | DROP TABLE IF EXISTS TAGOVI;
|
|---|
| 17 | DROP TABLE IF EXISTS destinacii_has_tagovi;
|
|---|
| 18 | DROP TABLE IF EXISTS aktivnosti_has_paketi;
|
|---|
| 19 | DROP TABLE IF EXISTS aktivnosti_has_rezervacii;
|
|---|
| 20 | DROP TABLE IF EXISTS destinacii_has_korisnici;
|
|---|
| 21 |
|
|---|
| 22 | CREATE TABLE TAGOVI (
|
|---|
| 23 | idTag INT AUTO_INCREMENT PRIMARY KEY,
|
|---|
| 24 | tagOznaka VARCHAR(255) NOT NULL
|
|---|
| 25 | );
|
|---|
| 26 |
|
|---|
| 27 | CREATE TABLE DESTINACII (
|
|---|
| 28 | idDest INT AUTO_INCREMENT PRIMARY KEY,
|
|---|
| 29 | imeLokacija VARCHAR(255) NOT NULL,
|
|---|
| 30 | opisLokacija VARCHAR(255),
|
|---|
| 31 | tipoviMesta VARCHAR(255) NOT NULL,
|
|---|
| 32 | preporachanaSezona VARCHAR(255) NOT NULL,
|
|---|
| 33 | prosechnaTemp DECIMAL(5, 2),
|
|---|
| 34 | lat DECIMAL(9, 6),
|
|---|
| 35 | lon DECIMAL(9, 6),
|
|---|
| 36 | drzhava VARCHAR(255),
|
|---|
| 37 | popularnost INT,
|
|---|
| 38 | ime VARCHAR(255) NOT NULL,
|
|---|
| 39 | opis VARCHAR(255) NOT NULL,
|
|---|
| 40 | idTag INT,
|
|---|
| 41 | CONSTRAINT fk_tag_dest FOREIGN KEY (idTag) REFERENCES TAGOVI(idTag)
|
|---|
| 42 | );
|
|---|
| 43 |
|
|---|
| 44 | CREATE TABLE METEROLOSHKASOSTOJBA (
|
|---|
| 45 | idMeteo INT AUTO_INCREMENT PRIMARY KEY,
|
|---|
| 46 | momentTemp DECIMAL(5, 2),
|
|---|
| 47 | sostojbaVreme VARCHAR(255) NOT NULL,
|
|---|
| 48 | predupreduvanja VARCHAR(255) NOT NULL,
|
|---|
| 49 | vlazhnost DECIMAL(5, 2),
|
|---|
| 50 | veter DECIMAL(5, 2),
|
|---|
| 51 | mesec INT,
|
|---|
| 52 | idDest INT,
|
|---|
| 53 | CONSTRAINT fk_dest_meteo FOREIGN KEY (idDest) REFERENCES DESTINACII(idDest)
|
|---|
| 54 | );
|
|---|
| 55 |
|
|---|
| 56 | CREATE TABLE AKTIVNOSTI (
|
|---|
| 57 | idAktivnost INT AUTO_INCREMENT PRIMARY KEY,
|
|---|
| 58 | imeAktivnost VARCHAR(255) NOT NULL,
|
|---|
| 59 | informacii VARCHAR(255),
|
|---|
| 60 | kategorija VARCHAR(255) NOT NULL,
|
|---|
| 61 | iznos INT,
|
|---|
| 62 | idDest INT,
|
|---|
| 63 | CONSTRAINT fk_dest_aktivnost FOREIGN KEY (idDest) REFERENCES DESTINACII(idDest)
|
|---|
| 64 | );
|
|---|
| 65 |
|
|---|
| 66 | CREATE TABLE KORISNICI (
|
|---|
| 67 | idKorisnik INT AUTO_INCREMENT PRIMARY KEY,
|
|---|
| 68 | ime VARCHAR(255) NOT NULL,
|
|---|
| 69 | prezime VARCHAR(255) NOT NULL,
|
|---|
| 70 | ePoshta VARCHAR(255) NOT NULL UNIQUE,
|
|---|
| 71 | telBr VARCHAR(255) NOT NULL,
|
|---|
| 72 | datumRagjanje DATE,
|
|---|
| 73 | idDest INT,
|
|---|
| 74 | CONSTRAINT fk_dest_korisnik FOREIGN KEY (idDest) REFERENCES DESTINACII(idDest)
|
|---|
| 75 | );
|
|---|
| 76 |
|
|---|
| 77 | CREATE TABLE STANDARD (
|
|---|
| 78 | idKorisnik INT,
|
|---|
| 79 | ime VARCHAR(255) NOT NULL,
|
|---|
| 80 | prezime VARCHAR(255) NOT NULL,
|
|---|
| 81 | ePoshta VARCHAR(255) NOT NULL UNIQUE,
|
|---|
| 82 | telBr VARCHAR(255) NOT NULL,
|
|---|
| 83 | datumRagjanje DATE,
|
|---|
| 84 | CONSTRAINT fk_korisnik_standard FOREIGN KEY (idKorisnik) REFERENCES KORISNICI(idKorisnik)
|
|---|
| 85 | );
|
|---|
| 86 |
|
|---|
| 87 | CREATE TABLE PREMIUM (
|
|---|
| 88 | idKorisnik INT,
|
|---|
| 89 | ime VARCHAR(255) NOT NULL,
|
|---|
| 90 | prezime VARCHAR(255) NOT NULL,
|
|---|
| 91 | ePoshta VARCHAR(255) NOT NULL UNIQUE,
|
|---|
| 92 | telBr VARCHAR(255) NOT NULL,
|
|---|
| 93 | datumRagjanje DATE,
|
|---|
| 94 | datumKreiranje DATE,
|
|---|
| 95 | popust DECIMAL(5, 2),
|
|---|
| 96 | CONSTRAINT fk_korisnik_premium FOREIGN KEY (idKorisnik) REFERENCES KORISNICI(idKorisnik)
|
|---|
| 97 | );
|
|---|
| 98 |
|
|---|
| 99 | CREATE TABLE REZERVACII (
|
|---|
| 100 | idRezervacija INT AUTO_INCREMENT PRIMARY KEY,
|
|---|
| 101 | vremenskaTochka DATE NOT NULL,
|
|---|
| 102 | vkupnaCena INT NOT NULL,
|
|---|
| 103 | idAktivnost INT,
|
|---|
| 104 | idKorisnik INT,
|
|---|
| 105 | idMeteo INT,
|
|---|
| 106 | CONSTRAINT fk_aktivnost_rezervacija FOREIGN KEY (idAktivnost) REFERENCES AKTIVNOSTI(idAktivnost),
|
|---|
| 107 | CONSTRAINT fk_korisnik_rezervacija FOREIGN KEY (idKorisnik) REFERENCES KORISNICI(idKorisnik),
|
|---|
| 108 | CONSTRAINT fk_meteo_rezervacija FOREIGN KEY (idMeteo) REFERENCES METEROLOSHKASOSTOJBA(idMeteo)
|
|---|
| 109 | );
|
|---|
| 110 |
|
|---|
| 111 | CREATE TABLE RECENZII (
|
|---|
| 112 | idRecenzija INT AUTO_INCREMENT PRIMARY KEY,
|
|---|
| 113 | korisnichkoIme VARCHAR(255) NOT NULL,
|
|---|
| 114 | kvalitet INT NOT NULL,
|
|---|
| 115 | zabeleshka VARCHAR(255),
|
|---|
| 116 | datumRecenzija DATE,
|
|---|
| 117 | brGlasovi INT,
|
|---|
| 118 | idDest INT,
|
|---|
| 119 | idKorisnik INT,
|
|---|
| 120 | idRezervacija INT,
|
|---|
| 121 | CONSTRAINT fk_dest_recenzija FOREIGN KEY (idDest) REFERENCES DESTINACII(idDest),
|
|---|
| 122 | CONSTRAINT fk_korisnik_recenzija FOREIGN KEY (idKorisnik) REFERENCES KORISNICI(idKorisnik),
|
|---|
| 123 | CONSTRAINT fk_rezervacija_recenzija FOREIGN KEY (idRezervacija) REFERENCES REZERVACII(idRezervacija)
|
|---|
| 124 | );
|
|---|
| 125 |
|
|---|
| 126 | CREATE TABLE PAKETI (
|
|---|
| 127 | idPaket INT AUTO_INCREMENT PRIMARY KEY,
|
|---|
| 128 | imePaket VARCHAR(255) NOT NULL,
|
|---|
| 129 | cena INT NOT NULL,
|
|---|
| 130 | pochetok DATETIME NOT NULL,
|
|---|
| 131 | kraj DATETIME NOT NULL,
|
|---|
| 132 | idDest INT,
|
|---|
| 133 | idAktivnost INT,
|
|---|
| 134 | idRezervacija INT,
|
|---|
| 135 | CONSTRAINT fk_dest_paket FOREIGN KEY (idDest) REFERENCES DESTINACII(idDest),
|
|---|
| 136 | CONSTRAINT fk_aktivnost_paket FOREIGN KEY (idAktivnost) REFERENCES AKTIVNOSTI(idAktivnost),
|
|---|
| 137 | CONSTRAINT fk_rezervacija_paket FOREIGN KEY (idRezervacija) REFERENCES REZERVACII(idRezervacija)
|
|---|
| 138 | );
|
|---|
| 139 |
|
|---|
| 140 | CREATE TABLE PREFERENCI (
|
|---|
| 141 | idPreferenca INT AUTO_INCREMENT PRIMARY KEY,
|
|---|
| 142 | tipPreferenca VARCHAR(255) NOT NULL,
|
|---|
| 143 | prioritet INT,
|
|---|
| 144 | idKorisnik INT,
|
|---|
| 145 | CONSTRAINT fk_korisnik_preferenca FOREIGN KEY (idKorisnik) REFERENCES KORISNICI(idKorisnik)
|
|---|
| 146 | );
|
|---|
| 147 |
|
|---|
| 148 | CREATE TABLE NASTANI (
|
|---|
| 149 | idNastan INT AUTO_INCREMENT PRIMARY KEY,
|
|---|
| 150 | naziv VARCHAR(255) NOT NULL,
|
|---|
| 151 | vidovi VARCHAR(255) NOT NULL,
|
|---|
| 152 | pochetenDatum DATE,
|
|---|
| 153 | kraenDatum DATE,
|
|---|
| 154 | detali VARCHAR(255),
|
|---|
| 155 | idDest INT,
|
|---|
| 156 | CONSTRAINT fk_dest_nastan FOREIGN KEY (idDest) REFERENCES DESTINACII(idDest)
|
|---|
| 157 | );
|
|---|
| 158 |
|
|---|
| 159 | CREATE TABLE IF NOT EXISTS destinacii_has_tagovi(
|
|---|
| 160 | destinacii_idDest INT NOT NULL,
|
|---|
| 161 | tagovi_idTag INT NOT NULL,
|
|---|
| 162 | PRIMARY KEY (destinacii_idDest, tagovi_idTag),
|
|---|
| 163 | FOREIGN KEY (destinacii_idDest) REFERENCES DESTINACII(idDest),
|
|---|
| 164 | FOREIGN KEY (tagovi_idTag) REFERENCES TAGOVI(idTag)
|
|---|
| 165 | );
|
|---|
| 166 |
|
|---|
| 167 | CREATE TABLE IF NOT EXISTS aktivnosti_has_paketi (
|
|---|
| 168 | aktivnosti_idAktivnost INT NOT NULL,
|
|---|
| 169 | paketi_idPaket INT NOT NULL,
|
|---|
| 170 | PRIMARY KEY (aktivnosti_idAktivnost, paketi_idPaket),
|
|---|
| 171 | FOREIGN KEY (aktivnosti_idAktivnost) REFERENCES AKTIVNOSTI(idAktivnost),
|
|---|
| 172 | FOREIGN KEY (paketi_idPaket) REFERENCES PAKETI(idPaket)
|
|---|
| 173 | );
|
|---|
| 174 |
|
|---|
| 175 | CREATE TABLE IF NOT EXISTS aktivnosti_has_rezervacii (
|
|---|
| 176 | aktivnosti_idAktivnost INT NOT NULL,
|
|---|
| 177 | rezervacii_idRezervacija INT NOT NULL,
|
|---|
| 178 | PRIMARY KEY (aktivnosti_idAktivnost, rezervacii_idRezervacija),
|
|---|
| 179 | FOREIGN KEY (aktivnosti_idAktivnost) REFERENCES AKTIVNOSTI(idAktivnost),
|
|---|
| 180 | FOREIGN KEY (rezervacii_idRezervacija) REFERENCES REZERVACII(idRezervacija)
|
|---|
| 181 | );
|
|---|
| 182 |
|
|---|
| 183 | CREATE TABLE IF NOT EXISTS destinacii_has_korisnici (
|
|---|
| 184 | destinacii_idDest INT NOT NULL,
|
|---|
| 185 | korisnici_idKorisnik INT NOT NULL,
|
|---|
| 186 | ocena INT NULL,
|
|---|
| 187 | komentar VARCHAR(100) NULL,
|
|---|
| 188 | datum DATE NULL,
|
|---|
| 189 | PRIMARY KEY (destinacii_idDest, korisnici_idKorisnik),
|
|---|
| 190 | FOREIGN KEY (destinacii_idDest) REFERENCES DESTINACII(idDest),
|
|---|
| 191 | FOREIGN KEY (korisnici_idKorisnik) REFERENCES KORISNICI(idKorisnik)
|
|---|
| 192 | ); |
|---|