Фоновый баннер
SQL от начального до продвинутого уровня для анализа данных

SQL от начального до продвинутого уровня для анализа данных

Подробнее о курсе

Краткое описание курса
Задача курса погрузить слушателей в архитектуру базы данных и научить писать запросы к реляционным данным

Целевая аудитория курса
Бизнес аналитики, не знакомые с базами данных, но желающие получить эти знания для успешной работы

Получаемые знания и навыки
По окончании курса слушатели смогут создавать SQL запросы в базу данных Postgresql, получат основные понятия о структуре и реляционной модели базы данных

Краткое содержание курса
Моду
ль 1 — Основы реляционной базы данных

  • Вычисления — Файл — сервер, Клиент — Сервер, Трехзвенная Архитектура
  • Управление бизнес-аналитикой — типичный пример трехзвенной архитектуры
  • Технология Клиент -Сервер и доступ к данным
  • Что такое сервер базы данных и база данных. Тонкие и толстые клиенты.
  • Нормализованная форма реляционных отношений
  • Понимание таблиц, полей, связей между реляционными отношениями. Построение ER-диаграмм (обзор инструментов)
  • Язык описания структур и отношений в базе данных. Краткое введение в язык UML.
  • Ограничения целостности в базе данных. Объекты базы данных и их иерархия. Словарь базы данных. Метаданные
  • Обзор инструментов для работы с различными базами данных — (DBEaver, DBNavigator, OpenIDE, язык программирования Python (pandas), Java). Выбор инструмента для конкретной задачи

Модуль 2 — Язык структурированных запросов — SQL. Группы команд (DDL, DML, DCL, SELECT)

  • Базовый синтаксис команды SELECT. Ключевые фразы
  • Обзор основных типов данных в базе данных
  • Особенности работы с текстовыми типами данных (огромные данные), типы и подтипы DATE
  • Использование однострочных и многострочных функций в команде SELECT
  • Агрегатные функции. Коррелированные запросы
  • Выделение представления фразой WITH, многоуровневые виртуальные представления
  • Рекурсивные запросы. Построение древовидных запросов. Сортировка в древовидных запросах

Модуль 3 — Аналитические запросы

  • Аналитические функции в команде SELECT. Цели введения аналитических функций.
  • Лаконичность и перенос вычислений на сервер. Классификация видов аналитических функций в сравнении с обычными функциями агрегирования
  • Разбиение данных на группы для вычисления
  • Упорядочение в границах отдельной группы
  • Выполнение вычислений для строк в группе по плавающему окну (интервалу)
  • Формирование интервалов агрегирования по строкам и по значениям
  • Поиск первых и последних значений в интервалах агрегирования, особенности работы с интервалами времени
  • Нетрадиционные преобразования SQL запросов — списки агрегатов, вложенные курсоры, группировки по кубам

Модуль 4 — DML команды в SQL

  • Транзакции и уровни изоляции транзакций. Стандарты и их нарушения.
  • Введение в ACID
  • Блокировки на уровне строк, таблиц, словаря метаданных
  • Взаимные блокировки
  • Особенности построения долгоиграющих запросов и уровни изоляции транзакций.
  • Использование временных транзакционных и сессионных таблиц для генерации отчетов

Модуль 5 — Оптимизация запросов

  • Улучшение производительности выполнения запросов — основные понятия
  • Оценка стоимости запроса — два уровня — (до выполнения, после выполнения)
  • Кто и как строит план запроса
  • Искусство читать планы выполнения. Введение в оптимизацию
  • Зачем нужна статистика в базе данных. Кто ее собирает. Стоимостные параметры
  • Построение и чтение плана выполнения запроса
  • Влияние параметров конфигурации сессии пользователя на стоимостные показатели и план выполнения запроса
  • Три алгоритма связывания таблиц и планирование запроса
  • Поиск проблемных мест при выполнении запроса и их оптимизация
  • Использование индексов и два алгоритма доступа к данным по индексам
  • Партиционирование данных для улучшения производительности выполнения запросов
  • Введение в логические и физические репликации для улучшения запросов — на примерах

Модуль 6 — Использование расширений языка SQL

  • Использование расширений языка SQL (plsql, plpgsql) для автоматизации генерации отчетов
  • Быстрая выгрузка результатов запросов во внешние приложения (PDF и прочее) с использованием механизмов среды разработки запросов DBEaver или подобных
  • Использование аналитических возможностей языка Python для построения анализа данных, на примерах библиотек NumPy, Pandas
  • Генерация отчетов в Excel и PDF форматах, на примерах аналитики Python

Отзывы по курсу