DDL: travel_sage.sql

File travel_sage.sql, 4.4 KB (added by 223270, 2 weeks ago)

kreiranje.sql

Line 
1CREATE TABLE DESTINACII (
2 idDest SERIAL PRIMARY KEY,
3 imeLokacija VARCHAR(255) NOT NULL,
4 opisLokacija VARCHAR(255),
5 tipoviMesta VARCHAR(255) NOT NULL,
6 preporachanaSezona VARCHAR(255) NOT NULL,
7 prosechnaTemp DECIMAL(5, 2),
8 -- geoLokacija GEOGRAPHY(Point, 4326)
9 -- KOORDINATI
10 lat DECIMAL(9, 6),
11 lon DECIMAL(9, 6),
12 drzhava VARCHAR(255),
13 popularnost INT,
14 ime VARCHAR(255) NOT NULL,
15 opis VARCHAR(255) NOT NULL,
16 idTag INT,
17 CONSTRAINT fk_tag_dest FOREIGN KEY (idTag) REFERENCES TAGOVI(idTag)
18);
19
20CREATE TABLE KORISNICI (
21 idKorisnik SERIAL PRIMARY KEY,
22 ime VARCHAR(255) NOT NULL,
23 prezime VARCHAR(255) NOT NULL,
24 ePoshta VARCHAR(255) NOT NULL UNIQUE,
25 telBr VARCHAR(255) NOT NULL,
26 datumRagjanje DATE,
27 idDest INT,
28 CONSTRAINT fk_dest_korisnik FOREIGN KEY (idDest) REFERENCES DESTINACII(idDest)
29);
30
31CREATE TABLE STANDARD (
32 idKorisnik INT PRIMARY KEY,
33 ime VARCHAR(255) NOT NULL,
34 prezime VARCHAR(255) NOT NULL,
35 ePoshta VARCHAR(255) NOT NULL UNIQUE,
36 telBr VARCHAR(255) NOT NULL,
37 datumRagjanje DATE,
38 CONSTRAINT fk_korisnik_standard FOREIGN KEY (idKorisnik) REFERENCES KORISNICI(idKorisnik)
39);
40
41CREATE TABLE PREMIUM (
42 idKorisnik INT PRIMARY KEY,
43 ime VARCHAR(255) NOT NULL,
44 prezime VARCHAR(255) NOT NULL,
45 ePoshta VARCHAR(255) NOT NULL UNIQUE,
46 telBr VARCHAR(255) NOT NULL,
47 datumRagjanje DATE,
48 datumKreiranje DATE,
49 popust DECIMAL(5, 2),
50 CONSTRAINT fk_korisnik_premium FOREIGN KEY (idKorisnik) REFERENCES KORISNICI(idKorisnik)
51);
52
53CREATE TABLE RECENZII (
54 idRecenzija INT PRIMARY KEY,
55 korisnichkoIme VARCHAR(255) NOT NULL,
56 kvalitet INT NOT NULL,
57 zabeleshka VARCHAR(255),
58 datumRecenzija DATE,
59 brGlasovi INT,
60 idDest INT,
61 idKorisnik INT,
62 idRezervacija INT,
63 CONSTRAINT fk_dest_recenzija FOREIGN KEY (idDest) REFERENCES DESTINACII(idDest),
64 CONSTRAINT fk_korisnik_recenzija FOREIGN KEY (idKorisnik) REFERENCES KORISNICI(idKorisnik),
65 CONSTRAINT fk_rezervacija_recenzija FOREIGN KEY (idRezervacija) REFERENCES REZERVACII(idRezervacija)
66);
67
68CREATE TABLE METEROLOSHKASOSTOJBA (
69 idMeteo INT PRIMARY KEY,
70 momentTemp DECIMAL(5, 2),
71 sostojbaVreme VARCHAR(255) NOT NULL,
72 predupreduvanja VARCHAR(255) NOT NULL,
73 vlazhnost DECIMAL(5, 2),
74 veter DECIMAL(5, 2),
75 mesec INT,
76 idDest INT,
77 CONSTRAINT fk_dest_meteo FOREIGN KEY (idDest) REFERENCES DESTINACII(idDest)
78);
79
80CREATE TABLE PAKETI (
81 idPaket INT PRIMARY KEY,
82 imePaket VARCHAR(255) NOT NULL,
83 cena INT NOT NULL,
84 pochetok TIMESTAMP NOT NULL,
85 kraj TIMESTAMP NOT NULL,
86 idDest INT,
87 idAktivnost INT,
88 idRezervacija INT,
89 CONSTRAINT fk_dest_paket FOREIGN KEY (idDest) REFERENCES DESTINACII(idDest),
90 CONSTRAINT fk_aktivnost_paket FOREIGN KEY (idAktivnost) REFERENCES AKTIVNOSTI(idAktivnost),
91 CONSTRAINT fk_rezervacija_paket FOREIGN KEY (idRezervacija) REFERENCES REZERVACII(idRezervacija)
92);
93
94CREATE TABLE AKTIVNOSTI (
95 idAktivnost INT PRIMARY KEY,
96 imeAktivnost VARCHAR(255) NOT NULL,
97 informacii VARCHAR(255),
98 kategorija VARCHAR(255) NOT NULL,
99 iznos INT,
100 idDest INT,
101 CONSTRAINT fk_dest_aktivnost FOREIGN KEY (idDest) REFERENCES DESTINACII(idDest)
102);
103
104CREATE TABLE REZERVACII (
105 idRezervacija INT PRIMARY KEY,
106 vremenskaTochka DATE NOT NULL,
107 vkupnaCena INT NOT NULL,
108 idAktivnost INT,
109 idKorisnik INT,
110 idMeteo INT,
111 CONSTRAINT fk_aktivnost_rezervacija FOREIGN KEY (idAktivnost) REFERENCES AKTIVNOSTI(idAktivnost),
112 CONSTRAINT fk_korisnik_rezervacija FOREIGN KEY (idKorisnik) REFERENCES KORISNICI(idKorisnik),
113 CONSTRAINT fk_meteo_rezervacija FOREIGN KEY (idMeteo) REFERENCES METEROLOSHKASOSTOJBA(idMeteo)
114);
115
116CREATE TABLE PREFERENCI (
117 idPreferenca INT PRIMARY KEY,
118 tipPreferenca VARCHAR(255) NOT NULL,
119 prioritet INT,
120 idKorisnik INT,
121 CONSTRAINT fk_korisnik_preferenca FOREIGN KEY (idKorisnik) REFERENCES KORISNICI(idKorisnik)
122);
123
124CREATE TABLE NASTANI (
125 idNastan INT PRIMARY KEY,
126 naziv VARCHAR(255) NOT NULL,
127 vidovi VARCHAR(255) NOT NULL,
128 pochetenDatum DATE,
129 kraenDatum DATE,
130 detali VARCHAR(255),
131 idDest INT,
132 CONSTRAINT fk_dest_nastan FOREIGN KEY (idDest) REFERENCES DESTINACII(idDest)
133);
134
135
136CREATE TABLE TAGOVI (
137 idTag INT PRIMARY KEY,
138 tagOznaka VARCHAR(255) NOT NULL,
139 idDest INT,
140 CONSTRAINT fk_dest_tag FOREIGN KEY (idDest) REFERENCES DESTINACII(idDest)
141);