https://dbdiagram.io/d/64a18fe402bd1c4a5e5e7cb0
Хранит в себе всех зарегистрированных пользователей
Колонки:
- id - pk
- name - имя
- email - почта (обязательное, email)
- login - логин (обязательное, непустое)
- birthday - дата рождежния (обязательное, в прошлом)
Хранит в себе связи "друзья" пользователей
Колонки:
- user_id -
pkиз таблицыusers(обязательное) - friend_id -
pkиз таблицыusers(обязательное) - is_approve - флаг, который указывание на статус связи (подтвержденная или нет) (обязательное, по дефолту -
false)
Хранит в себе все фильмы
Колонки:
- id - pk
- name - имя фильма (обязательное, непустое)
- description - описание (обязательное)
- duration - продолжительность в секундах (обязательное)
- release_date - дата релиза фильма (обязательное)
- mpa_id integer - рейтинг MPA.
pkиз таблицыmpa
Хранит в себе все лайки фильмов
Колонки:
- film_id -
pkиз таблицыfilms - user_id -
pkиз таблицыusers
Хранит в себе все доступные жанры фильмов
Колонки:
- id - pk
- name - имя
Хранит в себе все рейтинги MPA
Колонки:
- id - pk
- name - имя
Хранит в себе все жанры фильмов
Колонки:
- film_id -
pkиз таблицыfilms - genre_id -
pkиз таблицыgenres
SELECT *
FROM users
WHERE id IN (SELECT DISTINCT user_id
FROM friends
WHERE friend_id = 1
OR friend_id = 2)
AND id NOT IN (1, 2);
SELECT *
FROM films
WHERE mpa_id IN (SELECT id
FROM mpa
WHERE name = 'PG');
SELECT *
FROM films
WHERE id IN (SELECT film_id
FROM films_genres
WHERE genre_id IN (SELECT id
FROM genres
WHERE name = 'COMEDY'));
