|
1 | 1 | ## Entity relations table for filmorate database
|
2 | 2 |
|
3 |
| - |
| 3 | + |
4 | 4 |
|
5 | 5 | ---
|
6 | 6 | ### База данных состоит из следующих таблиц:
|
7 | 7 | 1. __filmorate_user__:
|
8 |
| - - *id* (первичный ключ) |
9 |
| - - *email* (электронная почта пользователя) |
10 |
| - - *login* (логин пользователя) |
11 |
| - - *user_name* (имя пользователя) |
12 |
| - - *birthday* (дата рождения пользователя) |
13 |
| - |
| 8 | + - *id* (первичный ключ) |
| 9 | + - *email* (электронная почта пользователя) |
| 10 | + - *login* (логин пользователя) |
| 11 | + - *user_name* (имя пользователя) |
| 12 | + - *birthday* (дата рождения пользователя) |
14 | 13 | 2. __friendship_status__:
|
15 |
| - - *id* (первичный ключ) |
16 |
| - - *status_name* (статус, например, 'Ожидает подтверждения', 'В друзьях') |
| 14 | + - *id* (первичный ключ) |
| 15 | + - *status_name* (статус, например, 'Ожидает подтверждения', 'В друзьях') |
17 | 16 | 3. __friendship__:
|
18 | 17 | - *user_id* (составной первичный ключ, внешний ключ, содержит id пользователя из таблицы __user__)
|
19 | 18 | - *friend_id* (составной первичный ключ, внешний ключ, содержит id пользователя из таблицы __user__, который является другом пользователя c идентификатором *user_id*)
|
20 | 19 | - *friendship_id* (внешний ключ, содержит id статуса дружбы из таблицы __friendship__)
|
21 | 20 | 4. __mpa_rating__:
|
22 |
| - - *id* (первичный ключ) |
23 |
| - - *rating_name* (навзвание возрастного рейтинга) |
| 21 | + - *id* (первичный ключ) |
| 22 | + - *rating_name* (навзвание возрастного рейтинга) |
24 | 23 | 5. __film__:
|
25 |
| - - *id* (первичный ключ) |
26 |
| - - *title* (название фильма) |
27 |
| - - *description* (опсисание фильма) |
28 |
| - - *release_date* (дата релиза фильма) |
29 |
| - - duration (длительность фильма в минутах) |
30 |
| - - *mpa_rating_id* (внешний кллюч, содержит id возрастного рейтинга из таблицы __mpa_rating__) |
| 24 | + - *id* (первичный ключ) |
| 25 | + - *title* (название фильма) |
| 26 | + - *description* (опсисание фильма) |
| 27 | + - *release_date* (дата релиза фильма) |
| 28 | + - duration (длительность фильма в минутах) |
| 29 | + - *mpa_rating_id* (внешний кллюч, содержит id возрастного рейтинга из таблицы __mpa_rating__) |
31 | 30 | 6. __genre__:
|
32 |
| - - *id* (первичный ключ) |
33 |
| - - *genre_name* (название жанра фильма) |
| 31 | + - *id* (первичный ключ) |
| 32 | + - *genre_name* (название жанра фильма) |
34 | 33 | 7. __film_genre__ (соединительная таблица между __film__ и __genre__):
|
35 |
| - - *film_id* (составной первичный ключ, внешний ключ, содержит id фильма из таблицы __film__) |
36 |
| - - *genre_id* (составной первичный ключ, внешний ключ, содержит id жанра из таблицы __genre__) |
| 34 | + - *film_id* (составной первичный ключ, внешний ключ, содержит id фильма из таблицы __film__) |
| 35 | + - *genre_id* (составной первичный ключ, внешний ключ, содержит id жанра из таблицы __genre__) |
37 | 36 | 8. __film_like__ (содержит список лайков фильмов от пользователей):
|
38 |
| - - *film_id* (составной первичный ключ, внешний ключ, содержит id фильма из таблицы __film__) |
39 |
| - - *user_id (составной первичный ключ, внешний ключ, содержит id пользователя из таблицы __user__) |
| 37 | + - *film_id* (составной первичный ключ, внешний ключ, содержит id фильма из таблицы __film__) |
| 38 | + - *user_id* (составной первичный ключ, внешний ключ, содержит id пользователя из таблицы __user__) |
| 39 | +9. __review__ |
| 40 | + - *id* (первичный ключ) |
| 41 | + - *review_content* (содержание отзыва) |
| 42 | + - *is_positive* (является ли отзыв положительным) |
| 43 | + - *useful* (количество положительных лайков отзыва) |
| 44 | + - *user_id* (идентификатор пользователя, который написал отзыв) |
| 45 | + - *film_id* (идентификатор фильма, о котором напсисан отзыв) |
| 46 | + |
| 47 | +10. __review_like__ (соединительная таблица между __review__ и __filmorate_user__) |
| 48 | + - *review_id* (внешний ключ, содержит id фильма из таблицы __review__) |
| 49 | + - *user_id* (внешний ключ, содержит id фильма из таблицы __filmorate_user__) |
| 50 | + - *like_type* (тип оценки (лайк/дизлайк)) |
| 51 | +11. __director__ |
| 52 | + - *id* (первичный ключ) |
| 53 | + - *director_name* (имя режиссера) |
| 54 | +12. __film_director__ (соединительная таблица между __film__ и __director__) |
| 55 | + - *id* (первичный ключ) |
| 56 | + - *film_id* (внешний ключ, содержит id фильма из таблицы __film__) |
| 57 | + - *director_id* (внешний ключ, содержит id фильма из таблицы __director__)) |
| 58 | +13. __feed_events__ |
| 59 | + - *id* (первичный ключ) |
| 60 | + - *event_type* (тип события в ленте) |
| 61 | + - *operation* (тип операции над объектом) |
| 62 | + - *entity_id* (идентификатор объекта, на котром прозводилась операция) |
| 63 | + - *publication_time* (время выполнения события) |
| 64 | + - *user_id* (внешний ключ, содержит id фильма из таблицы __filmorate_user__) |
40 | 65 | ---
|
41 | 66 |
|
42 | 67 | ### Примеры запросов для основных операций:
|
|
0 commit comments