SQL от начального до продвинутого уровня для анализа данных
Описание
Аудитория: Бизнес аналитики, незнакомые с базами данных, но желающие получить эти знания для успешной работы в своих областях бизнеса
Цель: по окончанию курса слушатели смогут создавать SQL запросы в базу данных Postgresql или другие аналогичные реляционные базы данных, получат основные понятия о структуре и реляционной модели базы данных, грамматике и синтаксисе команд для выполнения запросов в базу данных, анализ производительности запросов.
Задачи: ввести слушателей в архитектуру базы данных и научить писать запросы к реляционным данным, быстро создавать отчеты с использованием современных инструментов для работы с данными
Программа курса
- Вычисления — Файл — сервер, Клиент — Сервер, Трехзвенная Архитектура.
- Управление бизнес Аналитикой — типичный пример трехзвенной архитектуры
- Технология Клиент -Сервер и доступ к данным.
- Что такое сервер базы данных и база данных. Тонкие и толстые клиенты
- Нормализованная форма реляционных отношений. Понимание таблиц, полей, связей между реляционными отношениями. Построение ER-диаграмм (обзор инструментов) .
- Язык описания структур и отношений в базе данных. Краткое введение в язык UML.
- Ограничения целостности в базе данных. Объекты базы данных и их иерархия. Словарь базы данных. Метаданные. Обзор инструментов для работы с различными базами данных — (DBEaver, DBNavigator, OpenIDE, язык программирования Python (pandas), Java). Выбор инструмента для конкретной задачи.
- Язык структурированных запросов — SQL. Группы команд (DDL, DML, DCL, SELECT). Обзор.
- Базовый синтаксис команды SELECT. Ключевые фразы. Обзор основных типов данных в базе данных. Особенности работы с текстовыми типами данных (огромные данные), типы и подтипы DATE. Использование однострочных и многострочных функций в команде SELECT. Агрегатные функции. Коррелированные запросы. Выделение представления фразой WITH , многоуровневые виртуальные представления. Рекурсивные запросы. Построение древовидных запросов. Сортировка в древовидных запросах.
- Аналитические функции в команде SELECT. Цели введения аналитических функций. Лаконичность и перенос вычислений на сервер. Классификация видов аналитических функций в сравнении с обычными функциями агрегирования. Разбиение данных на группы для вычисления. Упорядочение в границах отдельной группы. Выполнение вычислений для строк в группе по плавающему окну (интервалу). Формирование интервалов агрегирования по строкам и по значениям. Поиск первых и последних значений в интервалах агрегирования, особенности работы с интервалами времени. Нетрадиционные преобразования SQL запросов — списки агрегатов, вложенные курсоры, группировки по кубам.
- Транзакции и уровни изоляции транзакций. Стандарты и их нарушения. Введение а ACID. Блокировки на уровне строк, таблиц, словаря метаданных. Взаимные блокировки. Особенности построения долгоиграющих запросов и уровни изоляции транзакций. Использование временных транзакционных и сессионных таблиц для генерации отчетов.
- Улучшение производительности выполнения запросов. Оценка стоимости запроса — два уровня — (до выполнения, после выполнения). Кто строит план запроса. Искусство читаь планы выполнения. Введение в оптимизацию. Зачем нужна статистика в базе данных. Кто ее собирает. Стоимостные параметры. Построение и чтение плана выполнения запроса. Влияние параметров конфигурации сессии пользователя на стоимостные показатели и план выполнения запроса. Три алгоритма связывания таблиц и планирование запроса. Поиск проблемных мест при выполнении запроса и их оптимизация. Использование индексов и два алгоритма доступа к данным по индексам. Партиционирование данных для улучшения производительности выполнения запросов. Введение в логические и физические репликации для улучшения запросов.
- Использование расширений языка SQL (plsql, plpgsql) для автоматизации генерации отчетов. Быстрая выгрузка результатов запросов во внешние приложения (PDF и прочее) с использованием механизмов среды разработки запросов DBEaver или подобных.
- Использование аналитических возможностей языка Python для построения анализа данных, на примерах библиотек NumPy, Pandas. Генерация отчетов в Excel и PDF форматах, на примерах аналитики Python.
Расписание
Время проведения курса пока не определено, отправьте нам заявку, пожалуйста.
Возможно, мы предложим пройти курс в дистанционном режиме или организуем выездной курс, если у Вас группа.