Слайд 1: задача
Начните с пользовательского вопроса, а не с технологии.
Цель проекта: проанализировать заказы и найти самые прибыльные категории.Занятие 81 посвящено презентации финального проекта по базам данных.
Извлечённый источник содержит только страницу входа LMS, поэтому детали задания нужно сверить в LMS или у куратора.
На занятии важно показать не только результат, но и логику проектирования: какие данные есть, как они связаны и почему выбрана такая модель.
Для SQL-проекта подготовьте ER-диаграмму, таблицы, ключи, ограничения и аналитические запросы.
Для MongoDB-проекта подготовьте структуру документов, примеры документов, индексы и aggregation pipeline.
В презентации должны быть демонстрация данных, запросов, результатов и проверка типичных сценариев.
Топ-3 ошибки: показывать только скриншоты без запросов, не объяснять выбор модели, не иметь воспроизводимой проверки результата.
Начните с пользовательского вопроса, а не с технологии.
Цель проекта: проанализировать заказы и найти самые прибыльные категории.Покажите схему или пример документа.
orders -> customers -> payments
или
{ customer, orders: [ ... ] }Запрос должен быть читаемым и объяснённым.
SELECT
c.name AS category,
COUNT(*) AS orders_count,
SUM(o.total) AS revenue
FROM orders AS o
JOIN categories AS c ON c.category_id = o.category_id
GROUP BY c.name
ORDER BY revenue DESC;Pipeline показывает вычисление, а не просто список документов.
db.orders.aggregate([
{ $group: { _id: '$category', revenue: { $sum: '$total' }, orders: { $sum: 1 } } },
{ $sort: { revenue: -1 } }
]);Объясните, под какой фильтр создан индекс.
db.orders.createIndex({ category: 1, total: -1 });