DDL: ddl_final.sql.txt

File ddl_final.sql.txt, 8.4 KB (added by 231233, 6 days ago)
Line 
1CREATE 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
11CREATE TABLE ROLE
12(
13 role_id SERIAL NOT NULL,
14 role_name text NOT NULL,
15 PRIMARY KEY (role_id)
16);
17
18CREATE 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
26CREATE TABLE GENRE
27(
28 genre_id SERIAL NOT NULL,
29 name text NOT NULL,
30 PRIMARY KEY (genre_id)
31);
32
33CREATE 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
41CREATE 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
51CREATE TABLE CITY
52(
53 name text NOT NULL,
54 city_id SERIAL NOT NULL,
55 PRIMARY KEY (city_id)
56);
57
58CREATE 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
69CREATE 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
76CREATE 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
89CREATE 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
102CREATE 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
110CREATE 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
122CREATE 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
132CREATE 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
144CREATE 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
152CREATE 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
167CREATE 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
176CREATE 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
189CREATE 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
197CREATE 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
209CREATE 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
219CREATE 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
230CREATE 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
240CREATE 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
249CREATE 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
258CREATE 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
267CREATE 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
276CREATE 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
284CREATE 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);