Базы данных весна 2025 — различия между версиями

Материал из Public ATP Wiki
Перейти к: навигация, поиск
(Из чего состоит курс)
 
(не показано 38 промежуточных версий этого же участника)
Строка 2: Строка 2:
 
* Семестр: 4 (2 курс), 2 (1 курс), 6 (3 курс)
 
* Семестр: 4 (2 курс), 2 (1 курс), 6 (3 курс)
 
* Форма контроля: Дифференцированный зачёт
 
* Форма контроля: Дифференцированный зачёт
 +
* 15 недель, Семестр с 01.02 по 16.05
  
* [https://docs.google.com/document/d/1KJVumOF6nXr8UXpCV0qozQrR-SFw7o4I/edit?usp=sharing&ouid=114577160067925802179&rtpof=true&sd=true План курса, а также основная информация]
+
* [https://docs.google.com/document/d/1KJVumOF6nXr8UXpCV0qozQrR-SFw7o4I/edit?usp=sharing&ouid=114577160067925802179&rtpof=true&sd=true Вводная информация]
  
 
* [Ведомость]
 
* [Ведомость]
 +
 +
* [https://gitlab.com/fpmi-atp/db2022-supplementary/global Гитлаб]
  
 
== Общие правила ==
 
== Общие правила ==
  
Сдача любого контрольного мероприятия после дедлайна не предусмотрена. Опаздание = 0б. Исключение составляют пропуски по болезни со справкой и олимпиады в сборной университет, о пропуска нужно обязательно предупредить заранее.
+
Сдача любого контрольного мероприятия после дедлайна не предусмотрена. Сдача любого контрольного мероприятия имеет жесткий дедлайн. Продление дедлайнов возможно только по уважительной причине, +- три дня после даты мероприятия
 +
 
 +
Исключение составляют пропуски по болезни со справкой и олимпиады в сборной университета, о пропусках нужно обязательно предупредить заранее.
 +
 
 +
Продление дедлайнов по уважительным причинам происходит в инд. порядке (Для этого нужно в рамках указанных сроков написать письмо на почту семинариста, указать рук. курса в копию. В теле письма нужно написать мероприятие по которому хотите продлить дедлайн и указать причину + приложить подтверждающий документ). Дедлайн переносится на неделю от момента проведения мероприятия.
  
Продление дедлайнов по уважительным причинам происходит в инд. порядке ( для этого заранее предупредить своего семинариста, поставить рук. курса в копию + приложить документ, подтверждающий причину)
 
  
Все дедлайны: указанный день 18-00, если не оговорено другое. То есть прислал работу в указанный день 18-06, Вы получите 0 б.
+
Все дедлайны: указанный день 23-59, если не оговорено другое.  
  
''' Как подготовиться к Корсу и настроить окружение, ПО '''
+
''' Как подготовиться к курсу и настроить окружение, ПО '''
  
 
Смотрите тьюториалы согласно Вашей ПО [https://docs.google.com/document/d/1KJVumOF6nXr8UXpCV0qozQrR-SFw7o4I/edit?usp=sharing&ouid=114577160067925802179&rtpof=true&sd=true раздел  Установка ПО]
 
Смотрите тьюториалы согласно Вашей ПО [https://docs.google.com/document/d/1KJVumOF6nXr8UXpCV0qozQrR-SFw7o4I/edit?usp=sharing&ouid=114577160067925802179&rtpof=true&sd=true раздел  Установка ПО]
 
  
 
== Как попасть на курс ==
 
== Как попасть на курс ==
Строка 31: Строка 36:
 
== Из чего состоит курс ==
 
== Из чего состоит курс ==
  
* Лекции и семинары  расписание можно посмотреть [тут]
+
* Лекции и семинары  расписание можно посмотреть на гитлабе
 
* КР - контрольные работы (практические задания + немного теории)
 
* КР - контрольные работы (практические задания + немного теории)
 
* ДЗ (практические задания)
 
* ДЗ (практические задания)
* Квизы (Гугл или яндекс формы) по материалам лекций (проводятся на лекциях)
 
 
* (Блокирующий) 1 отчетный - проект  
 
* (Блокирующий) 1 отчетный - проект  
 
* Дифф. Зачет в конце семестра
 
* Дифф. Зачет в конце семестра
  
== Фрмула оценки ==
+
 
 +
''' План курса'''
 +
 
 +
1. Занятие №1
 +
* Рел. алгебра
 +
* Архитектура СУБД (схема, таблица и тд)
 +
* Общая структура SELECT-запроса и Порядок выполнения запроса
 +
* Полезные функции, в том числе If-ELSE, CASE ветвления
 +
* Unioun и Union all
 +
* Обработка NULL, NaN и функционал greatest, least
 +
* Работа с разными типами данных (время и дата, текстовые форматы, логические данные)
 +
* Полезные функции SQL (например read csv и примеры)
 +
 
 +
2. Занятие №2
 +
* Джойны
 +
* Ключи
 +
* Запросы с условиями и группировками
 +
 
 +
3. Занятие №3
 +
* Проектирование
 +
* Версионирование SCD
 +
* НФ
 +
 
 +
4. Занятие №4
 +
* Сложные запросы (WITH, целостность, полезные функци)
 +
* Подзапросы (связанные, несвязанные, скалярные)
 +
 
 +
5. Занятие №5
 +
* Оконные функции
 +
 
 +
6. Занятие №6
 +
* Оконные функции (продолжение)
 +
* CTE
 +
 
 +
7. Занятие №7
 +
* Рекурсия
 +
* Представления
 +
 
 +
8. Занятие №8
 +
* Хранимые функции
 +
* Процедуры
 +
* Триггеры
 +
 
 +
9. Занятие №9
 +
* Индексы
 +
* Интеграция с другими ЯП
 +
 
 +
10. Занятие №10
 +
* Кликхаус
 +
* Диалекты скл
 +
* Оптимизация запросов
 +
 
 +
== Формула оценки ==
  
 
Максимальная оценка за курс может быть больше 10 - в ведомость ставится 10
 
Максимальная оценка за курс может быть больше 10 - в ведомость ставится 10
  
 
Максимальная сумма баллов за контрольные мероприятия :
 
Максимальная сумма баллов за контрольные мероприятия :
КР - 2
 
ДЗ - 1
 
ПРОЕКТ - 5
 
ЗАЧЕТ - 2
 
БОНУС - 1
 
  
== Контрольные работы ==
+
* КР - 2
 +
* ДЗ - 1
 +
* ПРОЕКТ - 5
 +
* ЗАЧЕТ - 2
 +
* БОНУС - 1
 +
 
 +
 
 +
 
 +
== КР ==
 +
Формат контрольных работ - Гугл/яндекс или аналогичная форма, которые содержат тестовую часть и часть с развернутым ответом. Формат будет уточнен семинаристом.
 +
 
 +
За семестр планируется 3 КР.
 +
 
 +
О проведении контрольной студентам будет сообщено хотя бы за 2 дня в канале или чате телеграм, а также может быть объявлено на занятиях в группе или передана информация через старост групп.
 +
 
 +
Оценки за КР выставляются до следующего семинара (примерно 1 неделя). Пропуск по неуважительной причине = 0б. Любые технические заминки на стороне студента, которые могут привести к “отправке” работы после дедлайна или “сбрасыванию” ответов = 0б и не дают права на повторное написание КР.
 +
 
 +
'''Даты проведения КР'''
 +
{|  class="wikitable"
 +
|-
 +
! КР №
 +
! Дата
 +
|-
 +
|1 || 24 - 28 марта
 +
|-
 +
|2 || 21 - 25 апреля
 +
|-
 +
|3 || 12 - 16 мая
 +
|-
 +
|}
 +
 
 +
Контрольные проводятся на семинарах, ссылки на КР выдаются на занятии перед началом КР. Работы пишутся по вариантам. КОллективная работа над КР может привести к обнулению баллов.
 +
 
 +
 
 +
 
 +
== ДЗ ==
 +
 
 +
Выполнять ДЗ можно с момента публикации
 +
 
  
Проводятся на семинарах.
+
'''Как правильно сдавать задание'''
  
Даты проведения: -/-
+
Для сдачи задач использовать выданные вам gitlab-репозитории.
  
== Домашние задания ==
+
1. Суть дз — написать SQL-скрипт по мотивам задачи.
Условия доступны [зесь]. Выполнять можно с момента публикации условий.
 
  
Как правильно сдавать ДЗ: -/-
+
2. Скрипты сохраняем в корне репозитория.
  
== Курсовой проект ==
+
3. Имя файла с решением формируется из имени ветки: <ИМЯ ВЕТКИ>.sql (создайте его самостоятельно).
 +
 
 +
4. Каждая ветка — это отдельное решение. Имя ветки: hw<НОМЕР ДЗ>task<НОМЕР ЗАДАЧИ>. Для каждого ДЗ будет создан отдельный репозиторий.
 +
 
 +
5. На защите ДЗ Вас попросят продемонстрировать работу всех скриптов и решить 1 -2 задание или похожие задачи.
 +
 
 +
 
 +
'''Условия ДЗ'''
 +
 
 +
HW 1 - https://drive.google.com/drive/folders/1OYg71tXxKQ0hYbIITY0f1Cj5aZtVqEbR?usp=sharing
 +
 
 +
HW 2 - https://drive.google.com/drive/folders/1n9hQF-rMfr6QD4imS7I_X-G-X8lSgnJd?usp=sharing
 +
 
 +
HW 3 - https://drive.google.com/drive/folders/1riyye6rRBH_t7uVjnhdgzgOAh7MK-UTA?usp=sharing
 +
 
 +
HW 4 - https://drive.google.com/drive/folders/1eGn7Yotnfz256uv9nTON0GMdDKyOzoGW?usp=sharing
 +
 
 +
HW 5 - https://drive.google.com/drive/folders/1Kk7mfKskQQHYiH2PXZHR9N9eDVdZTI8u?usp=sharing
 +
 
 +
Исходные данные (sql) - https://drive.google.com/drive/folders/1M5XvYuNUAhll_nPitrVatJKhPIFlzxx5?usp=drive_link
 +
 
 +
Исходные данные - https://drive.google.com/drive/folders/1bdwD7k7U_hk__pcahcYnHE0N9b8QKe6v?usp=sharing
 +
 
 +
'''Дедлайны по ДЗ:'''
 +
 
 +
ДЗ 1 - 01.03.2025
  
Всю информацию о курсовом проекте можно найти [здесь] в разделе Проект. Обратите внимание на примеры оформления.
+
ДЗ 2 - 14.03.2025
  
'''Общая информация'''
+
ДЗ 3 - 14.04.2025
Проект нужно сдавать по итерациям своему семинаристу(ке) или асситенту. Работа над проектом '''исключительно индивидуальная'''.
 
  
На последнем семинаре (до зачета) защитить проект с презентацией. Все баллы за проект выставляются “финально” только после защиты.
+
ДЗ 4 - 30.04.2025
Любые ошибки или неточности найденные в процессе защиты - могут снизить или обнулить заработанные баллы. При защите проекта могут задавать уточняли вопросы, на которые нужно ответить. Ответы на эти вопросы тоже входят в финальную оценка проекта.
 
  
[[Сдача проекта по итерациям:]]
+
ДЗ 5 - 10.05.2025
Итерация может включать в себя только отправку материалов на почту семинаристу/ассистенту. В таком случае на проверку закладывается '''до 5 раб.дней'''.  
 
  
Итерация (большинство) сдаются лично ассистента или семинаристу. Сдача итерации может также включать в себя дополнительным вопросы и задачи для практики, не более 5 шт.
+
'''Организационные моменты'''
На каждую защиту итерации необходимо приносить в цифровом и печатном виде материалы всех предыдущих и текущей итераций. На печатных материалах должна быть проставлена подпись принимающего, предварительная оценка, дата, фио, комментарий (если потребуется)
+
{|  class="wikitable"
 +
|-
 +
! ДЗ №
 +
! Балл от итоговой оценки
 +
! Темы
 +
|-
 +
|1 || 0.2 || Простые запросы
 +
|-
 +
|2 || 0.2 || Агрегации, группировки, соединения, подзапросы
 +
|-
 +
|3 || 0.2 || Оконные функции
 +
|-
 +
|4 || 0.2 || CTE, Views
 +
|-
 +
|5 || 0.2 || Functions, Stored Procedures, Triggers
 +
|}
  
Итерация считается сданной, только при ответа семинариста/ассистента, что больше никаких исправлений не требуется, и выставления предварительной оценки за итерацию.  
+
[https://docs.google.com/document/d/1OEci8859lss-NeYjKrRjqzwO0lhugtedg6UVO9RaASw/edit?usp=sharing Разбаловал по каждой задаче в каждом ДЗ]
Пересдать итерацию после получения предварительной оценки нельзя. Пересдачу итерации происходит только в случае нахождения критических замечаний, требующие исправления перед началом работы над следующей итерацией.
 
Каждая “сдача” после 1-ой несет за собой снижение максимального возможного для получения балла за итерацию '''на 30%''' от текущего максимального балла.
 
  
[[От вас ожидается примерная структура проекта в вашем личном гитлаб репозитории]]
+
== Курсовой проект ==
.
 
├── .gitlab-ci.yml          <- описание пайплайна для проекта (по шагам)
 
├── README.md                <- описание вашего проекта (какая предметная область и тд)
 
├── analysis                <- описание
 
│  ├── __init__.py
 
│  ├── analysis.py
 
│  └── fill_tables.py
 
│  └── ...
 
├── docs                    <- картинки и таблички
 
│  ├── conceptual-model.png
 
│  ├── logical-model.png
 
│  └── physical-model.md
 
├── requirements.txt        <- зависимости для Python
 
├── scripts                  <- sql-скрипты (структура этой директории может быть другой на ваше усмотрение)
 
│  ├── inserts1.sql
 
│  ├── ...
 
│  ├── table1_ddl.sql
 
│  └── ...
 
├── tests                    <- директория с тестами (структура этой директории может быть другой на ваше усмотрение)
 
│  ├── __init__.py
 
│  ├── conftest.py
 
│  ├── test1.py
 
│  ├── test2.py
 
│  └── ...
 
└── ...                      <- любые другие необходимые файлы
 
  
 +
Важно! Всю информацию, итерации сдачи/защиты курсового проекта можно найти [https://docs.google.com/document/d/1KJVumOF6nXr8UXpCV0qozQrR-SFw7o4I в разделе Проект].
 +
Обратите внимание на примеры оформления.
  
Также должен быть заполнен readme , хотя бы как здесь:
+
[https://drive.google.com/drive/folders/1lCZIeHXCFy6YEmNcIe7hKTtXmCr50FNn?usp=sharing Примеры хорошо оформленных интеграций по проекту ]
[https://drive.google.com/drive/folders/1lCZIeHXCFy6YEmNcIe7hKTtXmCr50FNn?usp=share_link Проект. Примеры]
 
  
В реадми файле должны быть разделы:
 
О проекте
 
общее описание проекта
 
Физ. модель
 
“картинка” физ модели и комментарии к ней
 
Сценарии использования
 
Как запускать, и какпровертяь Ваш проект.
 
Скрипты
 
Описание очередности запуска скриптов, ожидаемых результатов и ограничений
 
Где его можно использовать
 
  
 
'''Обязательно:'''
 
'''Обязательно:'''
Строка 126: Строка 215:
 
После получения предварительной оценки за итерацию (и после защиты), необходимо загрузить материалы данной итерации на гитлаб.  
 
После получения предварительной оценки за итерацию (и после защиты), необходимо загрузить материалы данной итерации на гитлаб.  
 
В комментариях надо указать :
 
В комментариях надо указать :
 +
 
1. Группу,
 
1. Группу,
 +
 
2. Итерацию,  
 
2. Итерацию,  
3. Поставленную оценка,  
+
 
 +
3. Поставленную оценку,  
 +
 
 
4. Комментарии семинариста/ассистента (если есть) и кто это принял.
 
4. Комментарии семинариста/ассистента (если есть) и кто это принял.
  
 +
'''ДЕДЛАЙНЫ'''
  
== Дифференцированный зачёт ==
+
Все пункты должны быть сданы и утверждены до дедлайна. При сдаче в последние дни перед дедлайном или в день дедлайна, если что-то требует доработки, то этот пункт не засчитывается
  
* Правила сдачи зачета:
+
Рекомендация (не обязательно, но логично): выполнять и сдавать пункты №1 и №2 вместе, №3 и №4 вместе, №5 и №6 вместе
  
* Предварительный список вопросов к зачету:
+
'''Обязательная часть (итерации 1-7)''' - 30.03
  
* Пример задач для подготовки:
+
'''Дополнительная часть''' - 15.05
  
 
== Команда курса ==
 
== Команда курса ==
'''Директор курса''': Смолкина Юлия Александровна smolkina.iua@phystech.edu или телеграм @malayataglit
+
'''Директор курса''': Смолкина Юлия Александровна
 
 
  
'''Лектор''':  
+
Почта: smolkina.iua@phystech.edu
  
 +
Телеграм: @malayataglit
  
 
    
 
    
Строка 156: Строка 250:
 
! ТГ
 
! ТГ
 
|-
 
|-
| Шевцова || Маргарита || shevtsova.ma@phystech.edu || @MargoSh2
+
|Аллаберенов  ||Керим      || Ассистент|| @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
 
|-
 
|-
| Аллаберенов ||Керим|| allaberenov.k@phystech.edu|| @allaberenov_k
+
|Хусрабов    ||Рустам ||Ассистент|| @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
 +
|-
 +
 
|-
 
|-
 
|}
 
|}
Строка 180: Строка 369:
 
* [https://forms.yandex.ru/u/65743da3e010db4ef59de155/  Форма: Проблемы на курсе БД]
 
* [https://forms.yandex.ru/u/65743da3e010db4ef59de155/  Форма: Проблемы на курсе БД]
 
* [https://drive.google.com/drive/folders/1rQDVVHW2BTXLXpGGZhYnnnEDrSzmaloY?usp=sharing Видеозаписи лекций 2024]
 
* [https://drive.google.com/drive/folders/1rQDVVHW2BTXLXpGGZhYnnnEDrSzmaloY?usp=sharing Видеозаписи лекций 2024]
 +
---------------------
 +
 +
''' Полезные дополнительные материалы'''
 +
 +
https://www.youtube.com/watch?v=DJJEr6IaW1Y&list=PL4_hYwCyhAva6-f-YxobKju-6ltmn-jNC

Текущая версия на 12:38, 5 декабря 2024

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

  • Семестр: 4 (2 курс), 2 (1 курс), 6 (3 курс)
  • Форма контроля: Дифференцированный зачёт
  • 15 недель, Семестр с 01.02 по 16.05
  • [Ведомость]

Общие правила

Сдача любого контрольного мероприятия после дедлайна не предусмотрена. Сдача любого контрольного мероприятия имеет жесткий дедлайн. Продление дедлайнов возможно только по уважительной причине, +- три дня после даты мероприятия

Исключение составляют пропуски по болезни со справкой и олимпиады в сборной университета, о пропусках нужно обязательно предупредить заранее.

Продление дедлайнов по уважительным причинам происходит в инд. порядке (Для этого нужно в рамках указанных сроков написать письмо на почту семинариста, указать рук. курса в копию. В теле письма нужно написать мероприятие по которому хотите продлить дедлайн и указать причину + приложить подтверждающий документ). Дедлайн переносится на неделю от момента проведения мероприятия.


Все дедлайны: указанный день 23-59, если не оговорено другое.

Как подготовиться к курсу и настроить окружение, ПО

Смотрите тьюториалы согласно Вашей ПО раздел Установка ПО

Как попасть на курс

обязательно всем

1. Заполнить форму регистрации

2. Присоединиться к чату курса и каналу с новостями

3. Если возникли проблемы, то заполни форму

Из чего состоит курс

  • Лекции и семинары расписание можно посмотреть на гитлабе
  • КР - контрольные работы (практические задания + немного теории)
  • ДЗ (практические задания)
  • (Блокирующий) 1 отчетный - проект
  • Дифф. Зачет в конце семестра


План курса

1. Занятие №1

  • Рел. алгебра
  • Архитектура СУБД (схема, таблица и тд)
  • Общая структура SELECT-запроса и Порядок выполнения запроса
  • Полезные функции, в том числе If-ELSE, CASE ветвления
  • Unioun и Union all
  • Обработка NULL, NaN и функционал greatest, least
  • Работа с разными типами данных (время и дата, текстовые форматы, логические данные)
  • Полезные функции SQL (например read csv и примеры)

2. Занятие №2

  • Джойны
  • Ключи
  • Запросы с условиями и группировками

3. Занятие №3

  • Проектирование
  • Версионирование SCD
  • НФ

4. Занятие №4

  • Сложные запросы (WITH, целостность, полезные функци)
  • Подзапросы (связанные, несвязанные, скалярные)

5. Занятие №5

  • Оконные функции

6. Занятие №6

  • Оконные функции (продолжение)
  • CTE

7. Занятие №7

  • Рекурсия
  • Представления

8. Занятие №8

  • Хранимые функции
  • Процедуры
  • Триггеры

9. Занятие №9

  • Индексы
  • Интеграция с другими ЯП

10. Занятие №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 задание или похожие задачи.


Условия ДЗ

HW 1 - https://drive.google.com/drive/folders/1OYg71tXxKQ0hYbIITY0f1Cj5aZtVqEbR?usp=sharing

HW 2 - https://drive.google.com/drive/folders/1n9hQF-rMfr6QD4imS7I_X-G-X8lSgnJd?usp=sharing

HW 3 - https://drive.google.com/drive/folders/1riyye6rRBH_t7uVjnhdgzgOAh7MK-UTA?usp=sharing

HW 4 - https://drive.google.com/drive/folders/1eGn7Yotnfz256uv9nTON0GMdDKyOzoGW?usp=sharing

HW 5 - https://drive.google.com/drive/folders/1Kk7mfKskQQHYiH2PXZHR9N9eDVdZTI8u?usp=sharing

Исходные данные (sql) - https://drive.google.com/drive/folders/1M5XvYuNUAhll_nPitrVatJKhPIFlzxx5?usp=drive_link

Исходные данные - https://drive.google.com/drive/folders/1bdwD7k7U_hk__pcahcYnHE0N9b8QKe6v?usp=sharing

Дедлайны по ДЗ:

ДЗ 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

Разбаловал по каждой задаче в каждом ДЗ

Курсовой проект

Важно! Всю информацию, итерации сдачи/защиты курсового проекта можно найти в разделе Проект. Обратите внимание на примеры оформления.

Примеры хорошо оформленных интеграций по проекту


Обязательно:

После получения предварительной оценки за итерацию (и после защиты), необходимо загрузить материалы данной итерации на гитлаб. В комментариях надо указать :

1. Группу,

2. Итерацию,

3. Поставленную оценку,

4. Комментарии семинариста/ассистента (если есть) и кто это принял.

ДЕДЛАЙНЫ

Все пункты должны быть сданы и утверждены до дедлайна. При сдаче в последние дни перед дедлайном или в день дедлайна, если что-то требует доработки, то этот пункт не засчитывается

Рекомендация (не обязательно, но логично): выполнять и сдавать пункты №1 и №2 вместе, №3 и №4 вместе, №5 и №6 вместе

Обязательная часть (итерации 1-7) - 30.03

Дополнительная часть - 15.05

Команда курса

Директор курса: Смолкина Юлия Александровна

Почта: 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