ddlScript: ddlScript_part2.sql

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