· last year · Dec 19, 2023, 08:50 AM
1
2CREATE TABLE IF NOT EXISTS User_Filmorate
3(
4 id INTEGER GENERATED BY DEFAULT AS IDENTITY PRIMARY KEY,
5 email VARCHAR,
6 login VARCHAR,
7 name VARCHAR,
8 birthday DATE
9);
10
11CREATE TABLE IF NOT EXISTS Mpa
12(
13 mpa_id INTEGER GENERATED BY DEFAULT AS IDENTITY PRIMARY KEY,
14 name VARCHAR
15);
16
17CREATE TABLE IF NOT EXISTS Genre
18(
19 genre_id INTEGER GENERATED BY DEFAULT AS IDENTITY PRIMARY KEY,
20 name VARCHAR
21);
22
23CREATE TABLE IF NOT EXISTS Film
24(
25 id INTEGER GENERATED BY DEFAULT AS IDENTITY PRIMARY KEY,
26 name VARCHAR,
27 description VARCHAR,
28 release_date DATE,
29 duration INTEGER,
30 rate INTEGER,
31 mpa_id INTEGER,
32 FOREIGN KEY (mpa_id) REFERENCES Mpa(mpa_id) ON DELETE CASCADE
33
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);
52
53CREATE TABLE IF NOT EXISTS Friendship
54(
55 friendship_id INTEGER GENERATED BY DEFAULT AS IDENTITY PRIMARY KEY,
56 friend_id INTEGER,
57 user_id INTEGER,
58 FOREIGN KEY (user_id) REFERENCES User_Filmorate(id) ON DELETE CASCADE
59);