Базы данных весна 2025

Материал из Public ATP Wiki
Перейти к: навигация, поиск

Общий сведения

  • Семестр: 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 

Полезные дополнительные материалы

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.