| 1 | CREATE TABLE MOVIE
|
|---|
| 2 | (
|
|---|
| 3 | movie_id SERIAL NOT NULL,
|
|---|
| 4 | title text NOT NULL,
|
|---|
| 5 | release_date date NOT NULL,
|
|---|
| 6 | description text NOT NULL,
|
|---|
| 7 | duration int NOT NULL,
|
|---|
| 8 | PRIMARY KEY (movie_id)
|
|---|
| 9 | );
|
|---|
| 10 |
|
|---|
| 11 | CREATE TABLE ROLE
|
|---|
| 12 | (
|
|---|
| 13 | role_id SERIAL NOT NULL,
|
|---|
| 14 | role_name text NOT NULL,
|
|---|
| 15 | PRIMARY KEY (role_id)
|
|---|
| 16 | );
|
|---|
| 17 |
|
|---|
| 18 | CREATE TABLE DIRECTOR
|
|---|
| 19 | (
|
|---|
| 20 | director_id text NOT NULL,
|
|---|
| 21 | name text NOT NULL,
|
|---|
| 22 | surname text NOT NULL,
|
|---|
| 23 | PRIMARY KEY (director_id)
|
|---|
| 24 | );
|
|---|
| 25 |
|
|---|
| 26 | CREATE TABLE GENRE
|
|---|
| 27 | (
|
|---|
| 28 | genre_id SERIAL NOT NULL,
|
|---|
| 29 | name text NOT NULL,
|
|---|
| 30 | PRIMARY KEY (genre_id)
|
|---|
| 31 | );
|
|---|
| 32 |
|
|---|
| 33 | CREATE TABLE RESERVATION
|
|---|
| 34 | (
|
|---|
| 35 | reservation_id SERIAL NOT NULL,
|
|---|
| 36 | status text NOT NULL,
|
|---|
| 37 | "date" date NOT NULL,
|
|---|
| 38 | PRIMARY KEY (reservation_id)
|
|---|
| 39 | );
|
|---|
| 40 |
|
|---|
| 41 | CREATE TABLE PAYMENT
|
|---|
| 42 | (
|
|---|
| 43 | payment_id SERIAL NOT NULL,
|
|---|
| 44 | amount float4 NOT NULL,
|
|---|
| 45 | status text NOT NULL,
|
|---|
| 46 | reservation_id int NOT NULL,
|
|---|
| 47 | PRIMARY KEY (payment_id),
|
|---|
| 48 | CONSTRAINT FKPAYMENT601419 FOREIGN KEY (reservation_id) REFERENCES RESERVATION (reservation_id)
|
|---|
| 49 | );
|
|---|
| 50 |
|
|---|
| 51 | CREATE TABLE CITY
|
|---|
| 52 | (
|
|---|
| 53 | name text NOT NULL,
|
|---|
| 54 | city_id SERIAL NOT NULL,
|
|---|
| 55 | PRIMARY KEY (city_id)
|
|---|
| 56 | );
|
|---|
| 57 |
|
|---|
| 58 | CREATE TABLE CINEMA
|
|---|
| 59 | (
|
|---|
| 60 | cinema_id BIGSERIAL NOT NULL,
|
|---|
| 61 | name text NOT NULL,
|
|---|
| 62 | address text NOT NULL,
|
|---|
| 63 | contact text NOT NULL,
|
|---|
| 64 | city_id int NOT NULL,
|
|---|
| 65 | PRIMARY KEY (cinema_id),
|
|---|
| 66 | CONSTRAINT FKCINEMA56868 FOREIGN KEY (city_id) REFERENCES CITY (city_id)
|
|---|
| 67 | );
|
|---|
| 68 |
|
|---|
| 69 | CREATE TABLE ROLE_PERMISSION
|
|---|
| 70 | (
|
|---|
| 71 | role_id int NOT NULL,
|
|---|
| 72 | permission_id int NOT NULL,
|
|---|
| 73 | PRIMARY KEY (role_id, permission_id)
|
|---|
| 74 | );
|
|---|
| 75 |
|
|---|
| 76 | CREATE TABLE "USER"
|
|---|
| 77 | (
|
|---|
| 78 | user_id text NOT NULL,
|
|---|
| 79 | password text NOT NULL,
|
|---|
| 80 | name text NOT NULL,
|
|---|
| 81 | surname text NOT NULL,
|
|---|
| 82 | role_id int NOT NULL,
|
|---|
| 83 | cinema_id bigint,
|
|---|
| 84 | PRIMARY KEY (user_id),
|
|---|
| 85 | CONSTRAINT FKUSER65207 FOREIGN KEY (role_id) REFERENCES ROLE (role_id),
|
|---|
| 86 | CONSTRAINT FKUSER561546 FOREIGN KEY (cinema_id) REFERENCES CINEMA (cinema_id)
|
|---|
| 87 | );
|
|---|
| 88 |
|
|---|
| 89 | CREATE TABLE CINEMA_HALL
|
|---|
| 90 | (
|
|---|
| 91 | cinemahall_id SERIAL NOT NULL,
|
|---|
| 92 | capacity int NOT NULL,
|
|---|
| 93 | cinema_id bigint NOT NULL,
|
|---|
| 94 | number_rows int NOT NULL,
|
|---|
| 95 | number_seats int NOT NULL,
|
|---|
| 96 | description text NOT NULL,
|
|---|
| 97 | status text NOT NULL,
|
|---|
| 98 | PRIMARY KEY (cinemahall_id),
|
|---|
| 99 | CONSTRAINT FKCINEMA_HAL154643 FOREIGN KEY (cinema_id) REFERENCES CINEMA (cinema_id)
|
|---|
| 100 | );
|
|---|
| 101 |
|
|---|
| 102 | CREATE TABLE SEAT_TYPE
|
|---|
| 103 | (
|
|---|
| 104 | seattype_id SERIAL NOT NULL,
|
|---|
| 105 | name text NOT NULL,
|
|---|
| 106 | price float4 NOT NULL,
|
|---|
| 107 | PRIMARY KEY (seattype_id)
|
|---|
| 108 | );
|
|---|
| 109 |
|
|---|
| 110 | CREATE TABLE SEAT
|
|---|
| 111 | (
|
|---|
| 112 | seat_id SERIAL NOT NULL,
|
|---|
| 113 | row_number int NOT NULL,
|
|---|
| 114 | seat_number int NOT NULL,
|
|---|
| 115 | type_id int NOT NULL,
|
|---|
| 116 | cinemahall_id int NOT NULL,
|
|---|
| 117 | PRIMARY KEY (seat_id),
|
|---|
| 118 | CONSTRAINT FKSEAT164380 FOREIGN KEY (cinemahall_id) REFERENCES CINEMA_HALL (cinemahall_id),
|
|---|
| 119 | CONSTRAINT FKSEAT804590 FOREIGN KEY (type_id) REFERENCES SEAT_TYPE (seattype_id)
|
|---|
| 120 | );
|
|---|
| 121 |
|
|---|
| 122 | CREATE TABLE MOVIE
|
|---|
| 123 | (
|
|---|
| 124 | movie_id SERIAL NOT NULL,
|
|---|
| 125 | title text NOT NULL,
|
|---|
| 126 | release_date date NOT NULL,
|
|---|
| 127 | description text NOT NULL,
|
|---|
| 128 | duration int NOT NULL,
|
|---|
| 129 | PRIMARY KEY (movie_id)
|
|---|
| 130 | );
|
|---|
| 131 |
|
|---|
| 132 | CREATE TABLE SCREENING
|
|---|
| 133 | (
|
|---|
| 134 | screening_id SERIAL NOT NULL,
|
|---|
| 135 | "date" date NOT NULL,
|
|---|
| 136 | "time" time(7) NOT NULL,
|
|---|
| 137 | cinemahall_id int NOT NULL,
|
|---|
| 138 | movie_id int NOT NULL,
|
|---|
| 139 | PRIMARY KEY (screening_id),
|
|---|
| 140 | CONSTRAINT FKSCREENING975220 FOREIGN KEY (cinemahall_id) REFERENCES CINEMA_HALL (cinemahall_id),
|
|---|
| 141 | CONSTRAINT FKSCREENING176236 FOREIGN KEY (movie_id) REFERENCES MOVIE (movie_id)
|
|---|
| 142 | );
|
|---|
| 143 |
|
|---|
| 144 | CREATE TABLE RESERVATION
|
|---|
| 145 | (
|
|---|
| 146 | reservation_id SERIAL NOT NULL,
|
|---|
| 147 | status text NOT NULL,
|
|---|
| 148 | "date" date NOT NULL,
|
|---|
| 149 | PRIMARY KEY (reservation_id)
|
|---|
| 150 | );
|
|---|
| 151 |
|
|---|
| 152 | CREATE TABLE TICKET
|
|---|
| 153 | (
|
|---|
| 154 | ticket_id SERIAL NOT NULL,
|
|---|
| 155 | price float4 NOT NULL,
|
|---|
| 156 | user_id text NOT NULL,
|
|---|
| 157 | reservation_id int NOT NULL,
|
|---|
| 158 | seat_id int NOT NULL,
|
|---|
| 159 | screening_id int NOT NULL,
|
|---|
| 160 | PRIMARY KEY (ticket_id),
|
|---|
| 161 | CONSTRAINT FKTICKET285003 FOREIGN KEY (user_id) REFERENCES "USER" (user_id),
|
|---|
| 162 | CONSTRAINT FKTICKET332966 FOREIGN KEY (reservation_id) REFERENCES RESERVATION (reservation_id),
|
|---|
| 163 | CONSTRAINT FKTICKET680705 FOREIGN KEY (seat_id) REFERENCES SEAT (seat_id),
|
|---|
| 164 | CONSTRAINT FKTICKET411280 FOREIGN KEY (screening_id) REFERENCES SCREENING (screening_id)
|
|---|
| 165 | );
|
|---|
| 166 |
|
|---|
| 167 | CREATE TABLE PAYMENT_METHOD
|
|---|
| 168 | (
|
|---|
| 169 | payment_method_id SERIAL NOT NULL,
|
|---|
| 170 | name text NOT NULL,
|
|---|
| 171 | payment_id int NOT NULL,
|
|---|
| 172 | PRIMARY KEY (payment_method_id),
|
|---|
| 173 | CONSTRAINT FKPAYMENT_ME706637 FOREIGN KEY (payment_id) REFERENCES PAYMENT (payment_id)
|
|---|
| 174 | );
|
|---|
| 175 |
|
|---|
| 176 | CREATE TABLE REVIEW
|
|---|
| 177 | (
|
|---|
| 178 | review_id SERIAL NOT NULL,
|
|---|
| 179 | comment text NOT NULL,
|
|---|
| 180 | "date" date NOT NULL,
|
|---|
| 181 | user_id text NOT NULL,
|
|---|
| 182 | movie_id int NOT NULL,
|
|---|
| 183 | rating int NOT NULL,
|
|---|
| 184 | PRIMARY KEY (review_id),
|
|---|
| 185 | CONSTRAINT FKREVIEW298251 FOREIGN KEY (user_id) REFERENCES "USER" (user_id),
|
|---|
| 186 | CONSTRAINT FKREVIEW927899 FOREIGN KEY (movie_id) REFERENCES MOVIE (movie_id)
|
|---|
| 187 | );
|
|---|
| 188 |
|
|---|
| 189 | CREATE TABLE ACTOR
|
|---|
| 190 | (
|
|---|
| 191 | actor_id text NOT NULL,
|
|---|
| 192 | name text NOT NULL,
|
|---|
| 193 | surname text NOT NULL,
|
|---|
| 194 | PRIMARY KEY (actor_id)
|
|---|
| 195 | );
|
|---|
| 196 |
|
|---|
| 197 | CREATE TABLE PROMOTION
|
|---|
| 198 | (
|
|---|
| 199 | promotion_id SERIAL NOT NULL,
|
|---|
| 200 | name text NOT NULL,
|
|---|
| 201 | discount float4 NOT NULL,
|
|---|
| 202 | "start" date NOT NULL,
|
|---|
| 203 | "end" date NOT NULL,
|
|---|
| 204 | screening_id int NOT NULL,
|
|---|
| 205 | PRIMARY KEY (promotion_id),
|
|---|
| 206 | CONSTRAINT FKPROMOTION365376 FOREIGN KEY (screening_id) REFERENCES SCREENING (screening_id)
|
|---|
| 207 | );
|
|---|
| 208 |
|
|---|
| 209 | CREATE TABLE PRODUCT
|
|---|
| 210 | (
|
|---|
| 211 | product_id SERIAL NOT NULL,
|
|---|
| 212 | name text NOT NULL,
|
|---|
| 213 | unit text NOT NULL,
|
|---|
| 214 | quantity int NOT NULL,
|
|---|
| 215 | price float4 NOT NULL,
|
|---|
| 216 | PRIMARY KEY (product_id)
|
|---|
| 217 | );
|
|---|
| 218 |
|
|---|
| 219 | CREATE TABLE PURCHASED_PRODUCT
|
|---|
| 220 | (
|
|---|
| 221 | purchased_product_id SERIAL NOT NULL,
|
|---|
| 222 | numbers int NOT NULL,
|
|---|
| 223 | ticket_id int NOT NULL,
|
|---|
| 224 | product_id int NOT NULL,
|
|---|
| 225 | PRIMARY KEY (purchased_product_id),
|
|---|
| 226 | CONSTRAINT FKPURCHASED_989966 FOREIGN KEY (ticket_id) REFERENCES TICKET (ticket_id),
|
|---|
| 227 | CONSTRAINT FKPURCHASED_466460 FOREIGN KEY (product_id) REFERENCES PRODUCT (product_id)
|
|---|
| 228 | );
|
|---|
| 229 |
|
|---|
| 230 | CREATE TABLE NOTIFICATION
|
|---|
| 231 | (
|
|---|
| 232 | notification_id SERIAL NOT NULL,
|
|---|
| 233 | message text NOT NULL,
|
|---|
| 234 | "date" date NOT NULL,
|
|---|
| 235 | user_id text NOT NULL,
|
|---|
| 236 | PRIMARY KEY (notification_id),
|
|---|
| 237 | CONSTRAINT FKNOTIFICATI106294 FOREIGN KEY (user_id) REFERENCES "USER" (user_id)
|
|---|
| 238 | );
|
|---|
| 239 |
|
|---|
| 240 | CREATE TABLE USER_RESERVATION
|
|---|
| 241 | (
|
|---|
| 242 | user_id text NOT NULL,
|
|---|
| 243 | reservation_id int NOT NULL,
|
|---|
| 244 | PRIMARY KEY (user_id, reservation_id),
|
|---|
| 245 | CONSTRAINT FKUSER_RESER151935 FOREIGN KEY (user_id) REFERENCES "USER" (user_id),
|
|---|
| 246 | CONSTRAINT FKUSER_RESER867618 FOREIGN KEY (reservation_id) REFERENCES RESERVATION (reservation_id)
|
|---|
| 247 | );
|
|---|
| 248 |
|
|---|
| 249 | CREATE TABLE MOVIE_GENRE
|
|---|
| 250 | (
|
|---|
| 251 | genre_id int NOT NULL,
|
|---|
| 252 | movie_id int NOT NULL,
|
|---|
| 253 | PRIMARY KEY (genre_id, movie_id),
|
|---|
| 254 | CONSTRAINT FKMOVIE_GENR273664 FOREIGN KEY (genre_id) REFERENCES GENRE (genre_id),
|
|---|
| 255 | CONSTRAINT FKMOVIE_GENR655579 FOREIGN KEY (movie_id) REFERENCES MOVIE (movie_id)
|
|---|
| 256 | );
|
|---|
| 257 |
|
|---|
| 258 | CREATE TABLE MOVIE_ACTOR
|
|---|
| 259 | (
|
|---|
| 260 | movie_id int NOT NULL,
|
|---|
| 261 | actor_id text NOT NULL,
|
|---|
| 262 | PRIMARY KEY (movie_id, actor_id),
|
|---|
| 263 | CONSTRAINT FKMOVIE_ACTO60552 FOREIGN KEY (movie_id) REFERENCES MOVIE (movie_id),
|
|---|
| 264 | CONSTRAINT FKMOVIE_ACTO38053 FOREIGN KEY (actor_id) REFERENCES ACTOR (actor_id)
|
|---|
| 265 | );
|
|---|
| 266 |
|
|---|
| 267 | CREATE TABLE MOVIE_DIRECTOR
|
|---|
| 268 | (
|
|---|
| 269 | director_id text NOT NULL,
|
|---|
| 270 | movie_id int NOT NULL,
|
|---|
| 271 | PRIMARY KEY (director_id, movie_id),
|
|---|
| 272 | CONSTRAINT FKMOVIE_DIRE300372 FOREIGN KEY (director_id) REFERENCES DIRECTOR (director_id),
|
|---|
| 273 | CONSTRAINT FKMOVIE_DIRE810181 FOREIGN KEY (movie_id) REFERENCES MOVIE (movie_id)
|
|---|
| 274 | );
|
|---|
| 275 |
|
|---|
| 276 | CREATE TABLE PERMISSION
|
|---|
| 277 | (
|
|---|
| 278 | permission_id SERIAL NOT NULL,
|
|---|
| 279 | status boolean NOT NULL,
|
|---|
| 280 | name text NOT NULL,
|
|---|
| 281 | PRIMARY KEY (permission_id)
|
|---|
| 282 | );
|
|---|
| 283 |
|
|---|
| 284 | CREATE TABLE ROLE_PERMISSION
|
|---|
| 285 | (
|
|---|
| 286 | role_id int NOT NULL,
|
|---|
| 287 | permission_id int NOT NULL,
|
|---|
| 288 | PRIMARY KEY (role_id, permission_id),
|
|---|
| 289 | CONSTRAINT FKROLE_PERMI829363 FOREIGN KEY (role_id) REFERENCES ROLE (role_id),
|
|---|
| 290 | CONSTRAINT FKROLE_PERMI727346 FOREIGN KEY (permission_id) REFERENCES PERMISSION (permission_id)
|
|---|
| 291 | ); |
|---|