From ed46edf7e7199e09a11cd0d6416cff2ccc55dc76 Mon Sep 17 00:00:00 2001 From: Sergey Filippovskikh Date: Mon, 3 Feb 2025 06:16:30 +0300 Subject: [PATCH] =?UTF-8?q?=D0=A1=D0=BF=D1=80=D0=B8=D0=BD=D1=82=2012-1.=20?= =?UTF-8?q?=D0=A0=D0=B5=D0=B9=D1=82=D0=B8=D0=BD=D0=B3=20=D0=A4=D0=B8=D0=BB?= =?UTF-8?q?=D1=8C=D0=BC=D0=BE=D0=B2.=20=D0=9F=D1=80=D0=BE=D0=BC=D0=B5?= =?UTF-8?q?=D0=B6=D1=83=D1=82=D0=BE=D1=87=D0=BD=D0=BE=D0=B5=20=D0=B7=D0=B0?= =?UTF-8?q?=D0=B4=D0=B0=D0=BD=D0=B8=D0=B5=2012=20=D1=81=D0=BF=D1=80=D0=B8?= =?UTF-8?q?=D0=BD=D1=82=D0=B0.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 20 ++++++++++++++++++-- er_diagram_filmrate.png | Bin 0 -> 37449 bytes 2 files changed, 18 insertions(+), 2 deletions(-) create mode 100644 er_diagram_filmrate.png diff --git a/README.md b/README.md index 9f00859..a116f5d 100644 --- a/README.md +++ b/README.md @@ -1,9 +1,25 @@ _java-filmorate_ # Рейтинг фильмов -### Согласно задания спринта № 11 +### Согласно задания спринта № 12 (добавление Базы данных) ## выполнено Филипповских Сергеем _**Когорта-53**_ -в файле PostmanSprint11_add-friends-likes.json находится скрипт для проверки API +![](/er_diagram_filmrate.png) + +Примеры запросов: +1. Получение пользователя с ID = 1: \ + SELECT * + FROM users + WHERE user_id = 1; + +2. Получение фильма с ID = 10: \ + SELECT * + FROM films + WHERE film_id = 10. + +3. Получение списка фильмов, понравившихся пользователю с ID = 5: \ + SELECT title + FROM films + WHERE film_id IN (SELECT film_id FROM likes WHERE user_id = 5); diff --git a/er_diagram_filmrate.png b/er_diagram_filmrate.png new file mode 100644 index 0000000000000000000000000000000000000000..e312c2109865446716f92a58e0b81f40fccf81c7 GIT binary patch literal 37449 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