🏠 Домашнее задание
⚡ Кратко: суть занятия
Revision 2 повторяет подключение MongoDB из Python и запросы к ich.Spotify_Youtube.
В Python используется pymongo: MongoClient, выбор базы, выбор коллекции, find, list(...), DataFrame и close.
Источник показывает read-only подключение к ich и пример подключения с правами редактирования к ich_edit.
Повторение MongoDB включает равенство по Artist, диапазоны Danceability/Tempo, логические $and, regex и $in/$all.
Aggregation-повторение перечисляет $match, $group, $project, $sort, $limit, $unwind, $lookup, $out, $geoNear, $bucket, $merge, $sample и $facet.
Фасетирование возвращает несколько независимых результатов, например AlbumTypes и avgEnergy.
Домашка 20 объединяет MySQL sakila и MongoDB restaurants.
Топ-3 ошибки: публиковать реальные пароли, путать regex /hot/ и /hot/i, забыть закрыть MongoClient.
Домашнее задание и закрепление
- Домашнее задание 20 из LMS содержит две части: MySQL и MongoDB.
- MySQL: работаем с sakila. Вывести названия фильмов с расшифровкой рейтинга через CASE; описание рейтингов дано по ссылке в LMS.
- Вывести количество фильмов в каждой категории рейтинга через GROUP BY.
- Используя оконные функции и PARTITION BY, вывести названия фильмов, рейтинг и количество фильмов в каждом рейтинге. Объяснить отличие от GROUP BY-запроса.
- Изучить payment и customer. Вывести все платежи с именем, фамилией, датой платежа и суммой.
- Изменить запрос по платежам так, чтобы дата выводилась в формате “число, название месяца, год” без времени.
- MongoDB: работаем с sample_data.restaurants по URI из LMS. Найти рестораны на Staten Island, в названии которых есть pizza/Pizza/PIZZA.
- Вывести названия 5 лучших ресторанов по среднему значению отзывов $avg: "$grades.score".
Проверка перед сдачей
- Запросы запускаются без синтаксических ошибок.
- В ответе указаны база, коллекция или таблицы, с которыми выполнялась работа.
- Для сортировок и топов явно указаны поле и направление сортировки.
- Для создаваемых коллекций используется личный суффикс, если источник требует уникальность.
- Пароли и реальные URI перед публикацией заменены на placeholders или переменные окружения.