← К оглавлению занятия

✅ Решения

📁 Блок: Финальный блок / итоговое повторение ⏱️ Время изучения: ~60 мин 🎯 Сложность: Повторение

⚡ Кратко: суть занятия

Summary Session 20 закрывает курс и собирает все основные темы SQL и MongoDB.

SQL-повторение включает базовый SELECT, CodeStyle, DDL, изменения данных, ограничения, UNION, подзапросы, JOIN, агрегацию, даты, HAVING, окна и проектирование.

MongoDB-повторение включает Compass, mongosh, формирование выборки, создание коллекций, агрегацию, Atlas, индексы, репликацию и CAP.

Закрепляющий тест проверяет базовые определения, SELECT *, UPDATE, DELETE, ORDER BY, агрегаты, WHERE, BETWEEN и JOIN.

MongoDB-вопросы проверяют моделирование связей массивами, capped collection, вставку документа, просмотр исходного кода функции и синтаксис индекса.

Главная идея занятия - увидеть карту курса целиком и закрыть пробелы перед проектной презентацией.

Топ-3 ошибки: помнить отдельные команды без понимания порядка выполнения, путать SQL JOIN с MongoDB embedded/array-моделью, забыть про индексы при больших коллекциях.

Решения и разбор шагов

Реляционная база

Данные хранятся в связанных двумерных таблицах.

SELECT *

SELECT * FROM Orders;

UPDATE

Оператор UPDATE изменяет данные.

DELETE

Оператор DELETE удаляет строки.

ORDER BY

ORDER BY сортирует результат.

NULL в агрегатах

COUNT(column), SUM, AVG, MIN и MAX обычно игнорируют NULL; COUNT(*) считает строки.

humidity = 89

SELECT city FROM weather WHERE humidity = 89;

Сортировка температуры

SELECT city, temperature FROM weather ORDER BY temperature;

BETWEEN

SELECT * FROM weather WHERE humidity BETWEEN 63 AND 79;

JOIN

SELECT weather.city, temperature, humidity, country FROM weather JOIN location ON weather.city = location.city;

MongoDB связи

Массивы и вложенные документы подходят для связанных данных, если это удобно сценариям чтения.

Capped collection

При достижении размера старые документы начинают автоматически удаляться.

insertOne

db.collection.insertOne({ field: value });

Исходный код функции

В SQL используйте средства вашей СУБД; в MySQL часто SHOW CREATE FUNCTION function_name.

MongoDB index

db.collection.createIndex({ fieldName: 1 });

Повторение

Закройте пробелы в JOIN, GROUP BY/HAVING, окнах, aggregation и индексах.