• A
  • A
  • A
  • АБB
  • АБB
  • АБB
  • А
  • А
  • А
  • А
  • А
Обычная версия сайта
Магистратура 2026/2027

SQL для работы с рыночными данными

ID 1124626

Когда читается: 2-й курс, 1, 2 модуль
Охват аудитории: для всех кампусов НИУ ВШЭ
Язык: русский
Кредиты: 6
Контактные часы: 36

Программа дисциплины

Аннотация

Курс «SQL для работы с рыночными данными» формирует у студентов практические навыки проектирования и управления реляционными базами данных, а также эффективной работы с данными с помощью SQL. Особое внимание уделяется построению сложных запросов, нормализации данных и проектированию ER-диаграмм, необходимых для эффективной обработки большого объема данных и цифровой аналитики социальных и рыночных данных. В завершающей части курса студенты интегрируют SQL с аналитикой, выполняя финальный проект с использованием либо R, либо Python — по выбору, в зависимости от предпочтений и уровня подготовки. Курс ориентирован на реальные задачи обработки социологических и рыночных данных и позволяет освоить полный цикл работы с данными — от проектирования базы до анализа и визуализации.
Цель освоения дисциплины

Цель освоения дисциплины

  • Возможности проектирования реляционных баз данных для хранения и анализа социологических и рыночных данных, применив принципы концептуального моделирования (ER-диаграммы) и нормализации (до 3НФ).
  • Приобрести навыки настройки и управления реляционной СУБД (PostgreSQL) в локальной или облачной среде, включая создание, модификацию и проверку целостности структуры базы данных.
  • Формулировать и выполнять эффективные SQL-запросы любой сложности — от базовых выборок до аналитических операций с использованием оконных функций, CTE и сложных JOIN’ов.
  • Модифицировать данные в базе с использованием операций INSERT, UPDATE, DELETE, включая фильтрацию, транзакции и работу с ограничениями целостности.
  • Интегрировать SQL с языками анализа данных (R или Python) для извлечения, обработки и визуализации результатов анализа.
  • Получить навыки подготовки и представления аналитического отчёта на основе данных из реляционной базы, используя современные инструменты документирования (RMarkdown, Jupyter Notebook, PDF).
Планируемые результаты обучения

Планируемые результаты обучения

  • Настраивать среду разработки для работы с реляционными БД (PostgreSQL, DBeaver, VSCode) и интегрировать её с R/Python
  • Понимать архитектуру реляционных СУБД и различия между серверными (PostgreSQL) и файловыми (SQLite) системами
  • Организовывать воспроизводимый аналитический проект с версионированием SQL-скриптов и данных.
  • Строить ER-диаграммы в нотациях Crowʼs Foot и Chen на основе текстового описания социологической или рыночной предметной области.
  • Определять типы связей между сущностями (1:1, 1:M, M:N) и корректно разрешать M:N связи через ассоциативные сущности.
  • Выявлять типовые ошибки концептуального проектирования и обосновывать выбор структуры БД.
  • Выявлять аномалии данных и приводить таблицы к 3НФ через последовательную декомпозицию.
  • Писать DDL-скрипты с корректными типами данных, ключами и CHECK-ограничениями для социологических и рыночных БД.
  • Обеспечивать целостность данных через декларативные ограничения (PK, FK, UNIQUE, CHECK, NOT NULL) и транзакционные механизмы.
  • Формулировать SQL-запросы любой сложности: многотабличные JOIN'ы, подзапросы, CTE для построения аналитических пайплайнов.
  • Применять оконные функции (LAG, LEAD, RANK, SUM OVER) для когортного анализа, расчёта трендов и сегментации социологических и рыночных данных.
  • Оптимизировать SQL-запросы по производительности и читаемости, интерпретировать результаты в социологическом/маркетинговом контексте.
  • Интегрировать PostgreSQL с R (через DBI/RPostgres/dbplyr) и Python (через SQLAlchemy/psycopg2/pandas) для извлечения и обработки данных.
  • Строить воспроизводимые аналитические отчёты в RMarkdown/Jupyter Notebook с внедрённым SQL-кодом и визуализациями.
  • Применять паттерны безопасного подключения к БД и эффективной передачи данных между СУБД и аналитической средой.
Содержание учебной дисциплины

Содержание учебной дисциплины

  • [Т1] Введение в СУБД: инструментальная среда и концептуальная схема курса
  • [Т2] Логика построения баз данных: ER-диаграммы как концептуальная схема
  • [Т3] Нормализация данных и управление базой данных (DDL)
  • [Т4] SQL-запросы: от базовых до аналитических (DML)
  • [Т5] Построение аналитических пайплайнов: SQL + R/Python
Элементы контроля

Элементы контроля

  • неблокирующий Активность на онлайн-семинарах и форуме
    Форма контроля оценивает вовлечённость студента в учебный процесс в условиях онлайн-формата (Webinar.ru). Активность складывается из двух компонентов: синхронное участие в вебинарах (задание вопросов в чате, участие в live-coding сессиях, решение мини-задач в реальном времени) и асинхронная активность в учебном форуме LMS (помощь одногруппникам с ошибками подключения к БД, обсуждение архитектурных решений, публикация полезных шпаргалок или найденных пакетов). Данный элемент контроля компенсирует сложности онлайн-формата и создаёт поддерживающую образовательную среду, поощряя регулярную работу с материалом. Оценка выставляется еженедельно на основе наблюдений преподавателя и метрик LMS, итоговый балл — среднее арифметическое.
  • неблокирующий Домашнее задание №1 — ER-диаграмма
    Первое домашнее задание закладывает фундамент курса, фокусируясь на концептуальном моделировании. Студент получает текстовое описание предметной области (социологический опрос или рыночная CRM-система) и должен перевести его в формализованную графическую схему. Задание требует выявления сущностей, атрибутов, типов связей (1:1, 1:M, M:N) и их визуализации в нотации Crowʼs Foot. Особое внимание уделяется разрешению связей «многие-ко-многим» через ассоциативные сущности и выделению слабых сущностей. Результат оформляется в виде PDF-отчёта, включающего графическую схему и текстовое обоснование принятых проектных решений.
  • неблокирующий Домашнее задание №2 — Нормализация и DDL
    Задание развивает концептуальную модель из ДЗ №1 до уровня физической реализации. Студент должен провести нормализацию таблиц до 3НФ, выявив и устранив аномалии вставки, обновления и удаления. На основе нормализованной схемы пишется полный DDL-скрипт для PostgreSQL: создаются таблицы с оптимальными типами данных, настраиваются первичные и внешние ключи (с явным указанием действий ON DELETE / ON UPDATE), а также добавляются ограничители целостности (CHECK, UNIQUE, NOT NULL). Задание сопровождается тестовыми INSERT-запросами для проверки работоспособности схемы.
  • неблокирующий Домашнее задание №3 — Аналитические SQL-запросы
    Центральное задание курса, проверяющее владение продвинутым аналитическим SQL. Студент пишет серию из 10 запросов к базе данных, которую он самостоятельно спроектировал и создал в ДЗ №2. Задание охватывает весь спектр аналитических инструментов: многотабличные JOIN (включая SELF и CROSS), иерархические запросы через CTE (Common Table Expressions) и оконные функции (ROW_NUMBER, RANK, LAG, LEAD, скользящие агрегации SUM OVER). Каждый запрос должен решать конкретную бизнес- или социологическую задачу (например, когортный анализ, расчёт LTV, выявление трендов).
  • неблокирующий Лабораторная работа — Интеграция SQL + R/Python
    Интеграционная работа, выполняющая роль мостика между «чистым SQL» и аналитическими средами. Студент подключается к своей PostgreSQL базе (из ДЗ №2) из R (через DBI/RPostgres) или Python (через SQLAlchemy/psycopg2), извлекает данные с помощью SQL-запросов, выполняя тяжёлую агрегацию на стороне СУБД, и передаёт в среду программирования только подготовленные датасеты. В R/Python проводится финальная статистическая обработка и строятся публикационные визуализации (ggplot2 / seaborn). Результат оформляется в виде воспроизводимого RMarkdown или Jupyter Notebook.
  • неблокирующий Финальный проект — End-to-End пайплайн
    Завершающая часть курса, требующая самостоятельного исследования. Студент выбирает один датасет из предложенного меню (или согласовывает свой), формулирует исследовательский/бизнес-вопрос и реализует полный цикл: от ER-диаграммы и DDL до сложных SQL-запросов и финального отчёта с визуализацией в R/Python. Проект выполняется в мини-командах. Обязательным этапом является Proposal Gate (на 13-й неделе студент подаёт 1-страничный proposal, который должен быть одобрен преподавателем).
Промежуточная аттестация

Промежуточная аттестация

  • 2026/2027 2nd module
    0.2 * Лабораторная работа — Интеграция SQL + R/Python + 0.05 * Активность на онлайн-семинарах и форуме + 0.3 * Финальный проект — End-to-End пайплайн + 0.1 * Домашнее задание №1 — ER-диаграмма + 0.15 * Домашнее задание №3 — Аналитические SQL-запросы + 0.15 * Домашнее задание №2 — Нормализация и DDL
Список литературы

Список литературы

Рекомендуемая основная литература

  • Нестеров, С. А.  Базы данных : учебник и практикум для вузов / С. А. Нестеров. — 2-е изд., перераб. и доп. — Москва : Издательство Юрайт, 2026. — 258 с. — (Высшее образование). — ISBN 978-5-534-18107-4. — Текст : электронный // Образовательная платформа Юрайт [сайт]. — URL: https://urait.ru/bcode/583591 (дата обращения: 02.07.2026).
  • Оптимизация запросов в PostgreSQL - А.Бейликова; Б.Новиков; Г.Домбровская - ДМК Пресс - - - 2022 - русский - https://hse.alpinadigital.ru/document/24347 - Alpina - 24347

Рекомендуемая дополнительная литература

  • Построение запросов и программирование на SQL - Маркин А. В. - Рязанский государственный радиотехнический университет им. В.Ф. Уткина - - - 2008 - русский - https://e.lanbook.com/book/168022 - ЛАНЬ - 168022
  • Реляционные базы данных и системы NoSQL - Григорьев Ю. А., Плутенко А. Д., Плужникова О. Ю. - Амурский государственный университет - 978-5-93493-308-2 - 2018 - русский - https://e.lanbook.com/book/156492 - ЛАНЬ - 156492
  • Чулюков, В. А. Проектирование баз данных. Практический курс : учебное пособие / В. А. Чулюков, И. Ф. Астахова, С. О. Башарина, О. А. Сидорова. — Москва : Русайнс, 2024. — 163 с. — ISBN 978-5-466-04281-8. — URL: https://book.ru/book/951573 (дата обращения: 01.07.2026). — Текст : электронный.

Авторы

  • Пашков Станислав Георгиевич
  • Десятова Мария Ивановна