Модуль 2
35,00ч

Хранение структурированных данных, SQL

Дисциплина рассматривает вопросы, связанные с организацией современных баз данных. Особое внимание уделяется проектированию структурированных данных, описанию ограничений целостности. Изучаются SQL DDL и DML. Рассматриваются запросы с агрегированием и соединением, аналитические функции. Также дается представление об оптимизации запросов и применении индексов.
Часов в программе
12,00 часов
лекции
8,00 часов
практика
11,00 часов
самостоятельная
4,00 часа
промежуточная аттестация
35,00 часов
всего
Материально-технические условия реализации программы:
Вид занятий: Просмотр онлайн лекций
Требуемое ПО:
Web-браузер - любой из перечисленных:
Chrome, Safari, Internet Explorer
Для работы с текстовыми материалами Adobe Acrobat Reader DC
Вид занятий: Участие в вебинаре
Требуемое ПО:
Web-браузер - любой из перечисленных:
Chrome, Safari, Internet Explorer
Для работы с текстовыми материалами Adobe Acrobat Reader DC
Вид занятий: Выполнение практических заданий
Требуемое ПО:
Операционная система:
Windows - 64-битная x86, 32-битная x86; MacOS - 64-битная x86; Linux - 64-битная x86, 64-битная Power8 / Power9
online.ifmo.ru - облачный сервис, предоставляющий возможность работы с хранилищами данных
https://online.ifmo.ru/pls/apex - Oracle Apex
https://online.ifmo.ru/mongo/ - MongoDb
https://online.ifmo.ru/cassandra/ - Apach Cassandra
https://online.ifmo.ru/pgadmin4/ - PostgreSQL
Альтернативное программное обеспечение доступно по ссылкам:
https://sandbox.neo4j.com - Neo4j
https://www.postgresql.org/download/windows/ - PostgreSQL
https://www.oracle.com/database/technologies/xe-downloads.html - Oracle Express
https://redis.io/download - Redis
https://www.mongodb.com/try/download - MongoDb
https://cassandra.apache.org/download/ - Cassandra
https://neo4j.com/download/ - Neo4j
https://colab.research.google.com — облачная среда для работы с кодом Python в браузере.
http://www.numpy.org — библиотека на языке программирования Python, добавляющая поддержку больших многомерных массивов и матриц.
https://pandas.pydata.org — библиотека на языке программирования Python для обработки и анализа данных.
https://matplotlib.org — библиотека на языке программирования Python для построения графиков.
Вид занятий: Самостоятельная работа
Требуемое ПО:
Операционная система:
Windows - 64-битная x86, 32-битная x86; MacOS - 64-битная x86; Linux - 64-битная x86, 64-битная Power8 / Power9
online.ifmo.ru - облачный сервис, предоставляющий возможность работы с хранилищами данных
https://online.ifmo.ru/pls/apex - Oracle Apex
https://online.ifmo.ru/mongo/ - MongoDb
https://online.ifmo.ru/cassandra/ - Apach Cassandra
https://online.ifmo.ru/pgadmin4/ - PostgreSQL
Альтернативное программное обеспечение доступно по ссылкам:
https://sandbox.neo4j.com - Neo4j
https://www.postgresql.org/download/windows/ - PostgreSQL
https://www.oracle.com/database/technologies/xe-downloads.html - Oracle Express
https://redis.io/download - Redis
https://www.mongodb.com/try/download - MongoDb
https://cassandra.apache.org/download/ - Cassandra
https://neo4j.com/download/ - Neo4j
https://colab.research.google.com — облачная среда для работы с кодом Python в браузере.
http://www.numpy.org — библиотека на языке программирования Python, добавляющая поддержку больших многомерных массивов и матриц.
https://pandas.pydata.org — библиотека на языке программирования Python для обработки и анализа данных.
https://matplotlib.org — библиотека на языке программирования Python для построения графиков.
Информационные ресуры
https://online.ifmo.ru/ - тренажеры для работы с базами данных
https://sqliteonline.com/ - песочница для работы с реляционными СУБД
Образовательные ресуры
https://oracleplsql.ru/postgresql-manual.html — PostgreSQL учебник
http://www.orasql.ru/sqltut.html — Учебник по Oracle SQL

Учебно-методические материалы

Методы, формы и технологии

Обучение происходит в смешанном формате. Модуль реализуется с помощью :
- онлайн лекций на платформе https://dc-edu.itmo.ru/,
- установочных лекций через видеоконференции Zoom,
- практических заданий с автоматизированной системой проверки,
- мастер-классов и консультаций через видеоконференции Zoom,
- проверочной работы, выполняемой с системой прокторинга.
После установочной лекции слушатели изучают материалы онлайн курса, выполняют обучающие и проверочные задания. Регулярно устраиваются мастер-классы и консультации по материалам модуля.

Методические разработки

Обучающие материалы модуля представлены в виде видеолекций, текстовых материалов, обучающих инструкций, размещенных на платформе https://dc-edu.itmo.ru/.
Тренажеры по работе с базами данных https://online.ifmo.ru/

Материалы курса

видео-лекции
текстовые материалы лекций
инструкции для выполнения заданий
обучающие задания с автоматизированой системой проверки и подсказками
проверочные задания с автоматизированой системой проверки

Учебная литература

1) СУБД: язык SQL в примерах и задачах [Электронный ресурс] : учеб. пособие / И.Ф. Астахова [и др.]. — Электрон. дан. — Москва : Физматлит, 2009. — 168 с. — Режим доступа: https://e.lanbook.com/book/2101
2) Брешенков, А.В. Практическое освоение основных возможностей СУБД Oracle Database 10g [Электронный ресурс] : метод. указ. / А.В. Брешенков, А.М. Губарь. — Электрон. дан. — Москва : МГТУ им. Н.Э. Баумана, 2015. — 17 с. — Режим доступа: https://e.lanbook.com/book/103556

Темы

Системы управления базами данных. Проектирование данных. Ограничения целостности Использование языка SQL (DDL) для создания структур данных Запросы на языке SQL (DML). Объекты базы данных. Интерфейсы к БД
Лекции
3,00ч
Практические занятия
3,00ч
Самостоятельная работа
5,00ч
Всего
11,00ч
Лекции
3,00ч
Практические занятия
2,00ч
Самостоятельная работа
2,00ч
Всего
7,00ч
Лекции
3,00ч
Самостоятельная работа
2,00ч
Всего
5,00ч
Лекции
3,00ч
Практические занятия
3,00ч
Самостоятельная работа
2,00ч
Всего
8,00ч
Промежуточная аттестация 4,00 часа
В качестве промежуточной аттестации слушатели должны выполнить 5 заданий, включающих в себя формирование запросов к данным на языке SQL, скачивание данных по заданным параметрам из реляционного хранилища , преобразование датасета из указанного источника, визуализация.

Дана таблица сотрудников с показателями их деятельности в различные периоды времени. Напишите запрос с использованием оконных функций, определяющий лучших сотрудников для заданного месяца. Для этого надо применить линейную нормировку, сложить полученные нормированные показатели деятельности сотрудников за указанный период, отсортировать результаты запроса и выбрать лучших сотрудников.