<aside> 💡 Курс поддержан фондом и рекомендован как спецкурс в рамках Академической программы по искусственному интеллекту.

</aside>

Формат курса:

Курс является обязательным для студентов 4-го курса кафедры ММП и является спецкурсом по выбору для остальных бакалавров. Читается в осеннем семестре.

Преподаватели:

Майсурадзе Арчил Ивериевич

кандидат физ.-мат. наук, доцент кафедры ММП, ВМК МГУ.

Основные научные интересы: модели данных, анализ расстояний, анализ сетей;

aim3.jpg

Аннотация:

В наши дни автоматизация и оптимизация многих видов деятельности невозможна без сбора и последующего анализа больших объёмов информации. При этом со временем стало ясно, что некоторые способы хранить и читать данные – модели данных – особенно удобны для людей. Именно такие модели стали универсальным языком общения людей с самыми разными технологиями. В этом смысле широчайшее распространение получила реляционная модель, а одним из самых широкоупотребительных языков оказался SQL, и сегодня самые разные технологии (совсем не только реляционные) позволяют его использовать. В ходе занятий мы будем осваивать именно само аналитическое мышление, принятое в отрасли обработки и анализа данных. Это мышление применимо в самых разных технологиях или продуктах. В курсе на практических примерах будут даваться знания и отрабатываться навыки, которые понадобятся практически любому аналитику при работе с источниками данных. Акцент делается именно на аналитической деятельности: аналитик пользуется системами сбора и хранения данных, но не администрирует их. Занятия предполагают интерактивное выполнение заданий на реальных БД. Студентам рекомендуется приходить с ноутбуками. Курс сопровождается домашними практическими заданиями, предполагающими работу с реальной системой хранения данных.

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

Актуальные материалы курса:

https://classroom.google.com/c/NDkwMDY5NzMwMjU2?cjc=a3oxpvn

Программа курса:

Занятие 1 Знакомство. Предисловие. Введение в бизнес-анализ данных. Хранение и анализ данных в бизнесе. SQL, его роль в информационно-аналитических системах. Основные виды моделей в аналитической деятельности. Модели в науке и ИТ. Информация о курсе. Используемые технологии. Полезные ссылки.

Занятие 2 Основы SQL. Реляционное моделирование. Целостность базы данных. SQL как язык работы с данными. Модель «таблица данных» (data table) в реляционном моделировании. Интерпретация модели. Атрибуты. Первичный ключ. Учебная таблица CD_CUSTOMERS. Пример изменяющегося словаря. Модель «результат запроса» (result set) в реляционном моделировании. Понятие о курсоре. Понятие о классе RecordSet в объектно-ориентированных системах доступа к данным. Основные сущности при взаимодействии с СУБД: база данных, объекты БД, пользователь, сессия, права доступа к объектам и схемы. Смена текущей схемы. Квалифицированные имена.

Основы работы в клиенте MySQL Workbench: каталог схем и таблиц, просмотр для таблиц модели и данных, создание таблиц из интерфейса, уничтожение таблиц из интерфейса. Создание запроса данных из таблицы. Запуск запроса, остановка слишком долгого запроса. Первое определение таблицы (CREATE TABLE), соответствие такого запроса модели «таблица данных». Создание новой таблицы по результату запроса данных (CREATE TABLE as SELECT). Добавление новых строк в существующую таблицу (INSERT). Основные типы данных и базовые операции с ними. Числовые типы, разные размеры. Дата и время. Строки, разные виды. Неявное преобразование типов. Базовый запрос SELECT. Запрос всех столбцов входящей таблицы (SELECT *). Запрос части столбцов входящей таблицы. Именование столбцов результата (AS). Ограничение размера ответа (LIMIT, TOP).

Занятие 3 Пользовательские типы как ограничения на базовые типы СУБД. Понятие о NULL. Фильтрация (WHERE). Функции над значениями одной записи. Условный оператор (CASE). Операции с датами. Операции со строками. Упорядочивание (ORDER BY). Отбрасывание дубликатов (DISTINCT). Общий вид SELECT от одной таблицы (без агрегирования, без группирования).

Задание 1.

Занятие 4 Функции агрегации (без групп). Задача о числе возвращаемых строк. Подзапросы в IN (множество). Подзапросы в FROM (таблица). Подзапросы в WHERE (скаляр). Группирование по категориям (GROUP BY). Фильтрация по категориям (HAVING). Общий вид SELECT от одной таблицы.