Базы данных весна 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.