· last year · Dec 16, 2023, 01:25 PM
1DROP ALL OBJECTS DELETE FILES;
2
3CREATE TABLE IF NOT EXISTS User_Filmorate
4(
5 id INTEGER GENERATED BY DEFAULT AS IDENTITY PRIMARY KEY,
6 email VARCHAR,
7 login VARCHAR,
8 name VARCHAR,
9 birthday DATE
10);
11
12CREATE TABLE IF NOT EXISTS Mpa
13(
14 mpa_id INTEGER GENERATED BY DEFAULT AS IDENTITY PRIMARY KEY,
15 name VARCHAR
16);
17
18CREATE TABLE IF NOT EXISTS Genre
19(
20 genre_id INTEGER GENERATED BY DEFAULT AS IDENTITY PRIMARY KEY,
21 name VARCHAR
22);
23
24CREATE TABLE IF NOT EXISTS Film
25(
26 id INTEGER GENERATED BY DEFAULT AS IDENTITY PRIMARY KEY,
27 name VARCHAR,
28 description VARCHAR,
29 release_date DATE,
30 duration INTEGER,
31 rate INTEGER,
32 mpa_id INTEGER,
33 FOREIGN KEY (mpa_id) REFERENCES mpa(mpa_id) ON DELETE CASCADE
34);
35
36CREATE TABLE IF NOT EXISTS Genre_Film
37(
38 genre_film_id INTEGER GENERATED BY DEFAULT AS IDENTITY PRIMARY KEY,
39 film_id INTEGER,
40 FOREIGN KEY (film_id) REFERENCES film(id) ON DELETE CASCADE,
41 genre_id INTEGER,
42 FOREIGN KEY (genre_id) REFERENCES genre(genre_id) ON DELETE CASCADE
43);
44
45CREATE TABLE IF NOT EXISTS Like_Film
46(
47 like_id INTEGER GENERATED BY DEFAULT AS IDENTITY PRIMARY KEY,
48 film_id INTEGER,
49 FOREIGN KEY (film_id) REFERENCES film(id) ON DELETE CASCADE,
50 user_id INTEGER,
51 FOREIGN KEY (user_id) REFERENCES User_Filmorate(id) ON DELETE CASCADE
52);
53
54CREATE TABLE IF NOT EXISTS Friendship
55(
56 friendship_id INTEGER GENERATED BY DEFAULT AS IDENTITY PRIMARY KEY,
57 friend_id INTEGER,
58 FOREIGN KEY (friend_id) REFERENCES User_Filmorate(id) ON DELETE CASCADE,
59 user_id INTEGER,
60 FOREIGN KEY (user_id) REFERENCES User_Filmorate(id) ON DELETE CASCADE
61);