Базы данных весна 2025
Содержание
Общий сведения
- Семестр: 4 (2 курс), 2 (1 курс), 6 (3 курс)
- Форма контроля: Дифференцированный зачёт
- [Ведомость]
Общие правила
Сдача любого контрольного мероприятия после дедлайна не предусмотрена. Опоздание = 0б.
Исключение составляют пропуски по болезни со справкой и олимпиады в сборной университета, о пропусках нужно обязательно предупредить заранее.
Продление дедлайнов по уважительным причинам происходит в инд. порядке (для этого нужно заранее предупредить своего семинариста, поставить рук. курса в копию + приложить документ, подтверждающий причину)
Все дедлайны: указанный день 18-00, если не оговорено другое. То есть прислал работу в указанный день 18-06, Вы получите 0 б.
Как подготовиться к курсу и настроить окружение, ПО
Смотрите тьюториалы согласно Вашей ПО раздел Установка ПО
Как попасть на курс
обязательно всем
1. Заполнить форму регистрации
2. Присоединиться к чату курса и каналу с новостями
3. Если возникли проблемы, то заполни форму
Из чего состоит курс
- Лекции и семинары расписание можно посмотреть на гитлабе
- КР - контрольные работы (практические задания + немного теории)
- ДЗ (практические задания)
- (Блокирующий) 1 отчетный - проект
- Дифф. Зачет в конце семестра
План курса
1. Рел. алгебра + Общая структура запроса ( и простые запросы) + Полезные функции SQL (например read csv и примеры)
2. Джойны, ключи + запросы с условиями + Сравнение с NULL
3. Проектирование, SCD (тут они начинают делать проект), НФ
4. Оконные функции
5. Подзапросы
6. CTE (в т.ч. рекурсивные)
7. Представления
8. Хранимые функции, процедуры, триггеры + интеграция с другими ЯП
9. Индексы
10. Кликхаус + диалекты скл + оптимизация запросов
Формула оценки
Максимальная оценка за курс может быть больше 10 - в ведомость ставится 10
Максимальная сумма баллов за контрольные мероприятия :
- КР - 2
- ДЗ - 1
- ПРОЕКТ - 5
- ЗАЧЕТ - 2
- БОНУС - 1
КР
Формат контрольных работ - Гугл/яндекс или аналогичная форма, которые содержат тестовую часть и часть с развернутым ответом. Формат будет уточнен семинаристом.
За семестр планируется 3 КР.
О проведении контрольной студентам будет сообщено хотя бы за 2 дня в канале или чате телеграм, а также может быть объявлено на занятиях в группе или передана информация через старост групп.
Оценки за КР выставляются до следующего семинара (примерно 1 неделя). Пропуск по неуважительной причине = 0б. Любые технические заминки на стороне студента, которые могут привести к “отправке” работы после дедлайна или “сбрасыванию” ответов = 0б и не дают права на повторное написание КР.
Даты проведения КР
КР № | Дата |
---|---|
1 | 24 - 28 марта |
2 | 21 - 25 апреля |
3 | 12 - 16 мая |
Контрольные проводятся на семинарах, ссылки на КР выдаются на занятии перед началом КР. Работы пишутся по вариантам. КОллективная работа над КР может привести к обнулению баллов.
ДЗ
Выполнять ДЗ можно с момента публикации
Как правильно сдавать задание
Для сдачи задач использовать выданные вам gitlab-репозитории.
1. Суть дз — написать SQL-скрипт по мотивам задачи.
2. Скрипты сохраняем в корне репозитория.
3. Имя файла с решением формируется из имени ветки: <ИМЯ ВЕТКИ>.sql (создайте его самостоятельно).
4. Каждая ветка — это отдельное решение. Имя ветки: hw<НОМЕР ДЗ>task<НОМЕР ЗАДАЧИ>. Для каждого ДЗ будет создан отдельный репозиторий.
5. На защите ДЗ Вас попросят продемонстрировать работу всех скриптов и решить 1 -2 задание или похожие задачи.
Условия ДЗ и исходные данные можно [ здесь]
Дедлайны по ДЗ:
ДЗ 1 - 01.03.2025
ДЗ 2 - 14.03.2025
ДЗ 3 - 14.04.2025
ДЗ 4 - 30.04.2025
ДЗ 5 - 10.05.2025
Организационные моменты
ДЗ № | Балл от итоговой оценки | Темы |
---|---|---|
1 | 0.2 | Простые запросы |
2 | 0.2 | Агрегации, группировки, соединения, подзапросы |
3 | 0.2 | Оконные функции |
4 | 0.2 | CTE, Views |
5 | 0.2 | Functions, Stored Procedures, Triggers |
Курсовой проект
Важно! Всю информацию и итерации сдачи/защиты курсового проекта можно найти в разделе Проект. Обратите внимание на примеры оформления.
Общая информация Проект нужно сдавать по итерациям своему семинаристу(ке) или асситенту. Работа над проектом исключительно индивидуальная.
На последнем семинаре (до зачета) защитить проект с презентацией. Все баллы за проект выставляются “финально” только после защиты. Любые ошибки или неточности найденные в процессе защиты - могут снизить или обнулить заработанные баллы. При защите проекта могут задавать уточняли вопросы, на которые нужно ответить. Ответы на эти вопросы тоже входят в финальную оценка проекта.
Сдача проекта по итерациям: Итерация может включать в себя только отправку материалов на почту семинаристу/ассистенту. В таком случае на проверку закладывается до 5 раб.дней.
Итерация (большинство) сдаются лично ассистента или семинаристу. Сдача итерации может также включать в себя дополнительным вопросы и задачи для практики, не более 5 шт. На каждую защиту итерации необходимо приносить в цифровом и печатном виде материалы всех предыдущих и текущей итераций. На печатных материалах должна быть проставлена подпись принимающего, предварительная оценка, дата, фио, комментарий (если потребуется)
Итерация считается сданной, только при ответа семинариста/ассистента, что больше никаких исправлений не требуется, и выставления предварительной оценки за итерацию. Пересдать итерацию после получения предварительной оценки нельзя. Пересдачу итерации происходит только в случае нахождения критических замечаний, требующие исправления перед началом работы над следующей итерацией. Каждая “сдача” после 1-ой несет за собой снижение максимального возможного для получения балла за итерацию на 30% от текущего максимального балла.
Обязательно:
После получения предварительной оценки за итерацию (и после защиты), необходимо загрузить материалы данной итерации на гитлаб. В комментариях надо указать :
1. Группу,
2. Итерацию,
3. Поставленную оценку,
4. Комментарии семинариста/ассистента (если есть) и кто это принял.
Команда курса
Директор курса: Смолкина Юлия Александровна
Почта: smolkina.iua@phystech.edu
Телеграм: @malayataglit
Команда курса:
Фамилия | Имя | Позиция | ТГ |
---|---|---|---|
Аллаберенов | Керим | Ассистент | @allaberenov_k |
Абдухоликзода | Ховар | Ассистент | @howardabd |
Чечеткин | Александр | Ассистент | @snakemanysss |
Ахмедов | Амонуллохон | Ассистент | @isfarinski |
Багрянов | Владислав | Ассистент | @vlad_bg |
Байстрюченко | Дмитрий | Ассистент | @LuciremD |
Басылбеков | Исабек | Ассистент | @isabek03 |
Бикещенко | Анастасия | Ассистент | @anastasia_bikes |
Богданов | Азат | Ассистент | @meganiger |
Булгаков | Георгий | Ассистент | @gbulgakov |
Герасимова | Александра | Ассистент | @Alexia_Kady |
Гулямов | Рахим | Ассистент | @rahimgulyamov |
Дементьев | Сергей | Ассистент | @sdementev33 |
Зайнуллин | Валерий | Ассистент | @valeriy_zainullin |
Ильин | Иван | Ассистент | @evfrpol |
Каныбеков | Канатбек | Ассистент | @getylman666 |
Кмито | Глеб | Ассистент | @sasamb4ik |
Кулешова | Анастасия | Ассистент | @stasiacool |
Мирзоев | Асрорхон | Ассистент | @alliseeisgoal |
Морочковский | Владислав | Ассистент | @what_is_10vee |
Мостовых | Егор | Ассистент | @Mostovykh |
Нам | Илья | Ассистент | @NIYrevich |
Новикова | Варвара | Ассистент | @pipipapyyy |
Обжерин | Евсей | Ассистент | @Ewseymath |
Парамонова | Анастасия | Ассистент | @witchernastia |
Петросян | Вера | Ассистент | @veerrkka |
Поляков | Геннадий | Ассистент | @nullziro |
Попов | Александр | Ассистент | @apopovprodby |
Руденко | Даниил | Ассистент | @RuDanechka4 |
Сазанович | Михаил | Ассистент | @Sazan1209 |
Собол | Жан | Ассистент | @Jan4ikS7 |
Хусрабов | Рустам | Ассистент | @khusrabov |
Ядров | Платон | Ассистент | @Platonrylit |
Андреева | Камилла | Ассистент | @msnkch |
Курбанбай | Куаныш | Ассистент | @haoydkqlsboql |
Масленникова | София | Ассистент | @So_haku |
Белков | Иван | Семинарист | @Belkovanya |
Бобоев | Муродали | Семинарист | @boboevm003 |
Будажапов | Марат | Семинарист | @budddma |
Викентьев | Михаил | Семинарист | @maelkaard |
Голуб | Алла | Семинарист | @Golub_Alla |
Ермошин | Михаил | Семинарист | @m_erMachine |
Кожанов | Глеб | Семинарист | @int_main_int |
Лушко | Есения | Семинарист | @Cocoroko |
Новиков | Иван | Семинарист | @novikov_ie |
Павлов | Михаил | Семинарист | @mikipaw |
Смолкина | Юлия | Семинарист | @malayataglit |
Ткачик | Андрей | Семинарист | @sfzxcboy |
Якушева | София | Семинарист | @stager108 |
Муромцев | Илья | Семинарист | @murrromcev |
Ссылки на материалы прошлых лет
2023
2024
- Форма регистрации
- Чат курса
- Все материалы по курсу 2024
- Форма: Проблемы на курсе БД
- Видеозаписи лекций 2024
Полезные дополнительные материалы
https://www.youtube.com/watch?v=DJJEr6IaW1Y&list=PL4_hYwCyhAva6-f-YxobKju-6ltmn-jNC
Темы:
Интерфейсы современных баз данных: реляционные, ключ-значение, документные, графовые. Реляционная алгебра и язык SQL.
Работа с диском в классических реляционных СУБД: страницы, пул страниц, вытеснение из пула.
Выполнение SQL запросов: разбор выражения, планирование, исполнение. Интерпретация и кодогенерация с помощью LLVM.
Индексы в реляционных СУБД: типы индексов, способы хранения, использование в запросах.
Транзакции: аббревеатура ACID, уровни изоляции, реализация транзакций через блокировки и MVCC.
Восстановление при аварии: журнал, чекпойнты, алгоритм ARIES.
Хранение данных методом Log-Structured Merge Tree.
Поколоночные СУБД: преимущества, особенности, алгоритмы сжатия данных.
Распределённые СУБД: шардирование, транзакции, выполнение запросов.
СУБД, распологающиеся в основной памяти. Структуры данных для индексов в памяти.
SQL.
CLI+Hadoop, доступ к кластеру, Scala base.
Захват данных с источника. Spark STG -> RAW.
ETL-платформы на базе Airflow. ETL + RAW -> ODS + Airflow.
Продвинутый Spark.
Классические хранилища, DV, AM. Проектирование.
MPP системы и GP в частности.
ODS->GP->DDS -> CDM.
Витрины, заказчик витрин, отчеты, взгляд со стороны BI. Визуализация в Tableau.
DQ, SLA, monitoring.
Управление, развитие, DWH.