Бакалавриат
2026/2027





Data Engineering 0: основы баз данных и SQL
Статус:
Курс обязательный (Дизайн и разработка информационных продуктов)
Кто читает:
Базовая кафедра Т-Банка
Где читается:
Факультет компьютерных наук
Когда читается:
2-й курс, 2 модуль
Охват аудитории:
для своего кампуса
Язык:
русский
Кредиты:
4
Контактные часы:
28
Программа дисциплины
Аннотация
Курс посвящен изучению принципов работы с базами данных и языка структурированных запросов SQL. В первой части курса студенты познакомятся с реляционной моделью данных, принципами проектирования и нормализации баз данных, научатся создавать и изменять структуру баз данных, а также писать сложные SQL-запросы.
Отдельное внимание уделяется внутренним механизмам работы СУБД PostgreSQL, транзакциям и уровням изоляции, индексам, планированию и оптимизации выполнения запросов.
Во второй части курса студенты познакомятся с основными подходами к организации распределенных систем хранения данных, репликацией и шардированием, а также получат практический опыт работы с различными типами СУБД: документо-ориентированными, типа «ключ-значение» и колоночными аналитическими базами данных.
По окончании курса студенты смогут проектировать модели данных, писать и оптимизировать SQL-запросы, понимать основные принципы работы современных СУБД и выбирать подходящий способ хранения данных в зависимости от решаемой задачи.
Цель освоения дисциплины
- Понять основные принципы организации и хранения данных в СУБД
- Научиться проектировать реляционные модели данных и применять принципы нормализации
- Приобрести практические навыки создания, получения и изменения данных с использованием SQL
- Понять принципы работы транзакций, уровней изоляции и механизмов обеспечения целостности и согласованности данных
- Научиться анализировать планы выполнения и оптимизировать запросы к базам данных
- Понять назначение и принципы работы индексов в PostgreSQL
- Познакомиться с принципами репликации, шардирования и распределенного хранения данных
- Познакомиться с различными моделями хранения данных и понимать границы применимости реляционных, документо-ориентированных, ключ-значение и колоночных СУБД
Планируемые результаты обучения
- Понимает и применяет основные принципы организации и хранения данных в системах управления базами данных (СУБД)
- Проектирует реляционные модели данных и применяет принципы нормализации для построения оптимальной структуры базы данных.
- Создаёт, извлекает, обновляет и удаляет данные с помощью SQL, уверенно выполняя CRUD‑операции на практике
- Работает с транзакциями: определяет подходящие уровни изоляции, обеспечивает целостность и согласованность данных в различных сценариях
- Анализирует планы выполнения запросов и применяет методы оптимизации SQL‑запросов для повышения производительности
- Оценивает необходимость использования индексов в PostgreSQL и грамотно настраивает их для ускорения работы с данными
- Объясняет принципы репликации, шардирования и распределённого хранения данных, подбирает подходящие стратегии масштабирования под конкретные задачи
- Различает особенности реляционных, документо‑ориентированных, «ключ‑значение» и колоночных СУБД, обоснованно выбирает модель хранения данных исходя из требований проекта
Содержание учебной дисциплины
- Введение. Реляционные БД, таблицы, ключи, нормальные формы
- SQL: DDL, DML, DTL. Агрегационные и оконные функции, подзапросы
- Транзакции. ACID, конкурентный доступ, уровни изоляции, аномалии чтения/записи
- Как работает PostgreSQL, индексы, оптимизация запросов
- Введение в NoSQL. Репликация и шардирование
- MongoDB и Redis. Документо-ориентированные БД и модель данных ключ-значение
- ClickHouse. Колоночно-ориентированные аналитические БД
Элементы контроля
- Домашнее заданиеДомашнее задание выдаётся после каждого семинара с целью закрепления полученных знаний на практике. Домашние задания могут содержать проектирование схемы модели данных, написание и оптимизацию SQL-запросов, а также практические задания по работе с различными СУБД.
- Активность на семинареБаллы за активность выставляются студентам, активно участвующим в обсуждении материала и решении практических задач на семинарах
Промежуточная аттестация
- 2026/2027 2nd moduleИтог = Мин(10; Округление((ДЗ1 + ДЗ2 + ДЗ3 + ДЗ4 + ДЗ5 + ДЗ6 + ДЗ7) / 7 + 0.2 * СемАктивность))
Список литературы
Рекомендуемая основная литература
- Juba, S., & Volkov, A. (2019). Learning PostgreSQL 11 : A Beginner’s Guide to Building High-performance PostgreSQL Database Solutions, 3rd Edition (Vol. Third edition). Birmingham, UK: Packt Publishing. Retrieved from http://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=edsebk&AN=2023612
- Kleppmann, M. (2017). Designing Data-Intensive Applications : The Big Ideas Behind Reliable, Scalable, and Maintainable Systems. Sebastopol, CA: O’Reilly Media. Retrieved from http://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=edsebk&AN=1487643
Рекомендуемая дополнительная литература
- Beaulieu, A. (2009). Learning SQL : Master SQL Fundamentals: Vol. 2nd ed. O’Reilly Media.