Учебный курс «Postgres для разработчиков»

Краткое содержание: проектирование баз данных Postgres, типы данных Postgres, создание таблиц и представлений, ключи, ограничения целостности и представления, синтаксис PL/pgSQL, создание пользовательских функций, процедур и триггерных функций, функции Postgres на Python и Java, оптимизация баз данных Postgres для разработчиков

Общие данные:

курс предназначен для специалистов, которым нужно уметь проектировать базы данных Postgres и реализовывать программную логику приложений с учетом особенностей Postgres. Postgres по своей архитектуре достаточно сильно отличается от других распространенных систем управления базами данных, и эти отличия необходимо учитывать при проектировании баз данных и реализации бизнес-логики приложения. Не изобретайте заново велосипеды, которые давно уже изобретены — записывайтесь на обучение!

Продолжительность: 5 дней (40 учебных часов).

В курсе 17 модулей (на практические работы, выполняемые под руководством преподавателя, отводится 50 % времени учебного курса).

Для кого предназначен: разработчики, которые проектируют и создают объекты баз данных Postgres и реализуют бизнес-логику приложений на PL/pgSQL, Python, Java, C#

План курса:

  1. Введение в Postgres. Особенности СУБД Postgres по сравнению с Oracle, Microsoft SQL Server, MySQL
  2. Проектирование системы баз данных. Выбор типа базы данных: OLTP, хранилище данных (Data Warehouse, DW), шлюзовые базы данных (staging databases), OLAP. Особенности проектирования каждого типа
  3. Проектирование сущностей (таблиц) и атрибутов. Выбор типов данных для столбцов таблиц. Особенности системы типов данных в Postgres. Нормализация таблиц. Создание таблиц
  4. Ограничения целостности данных в Postgres. Первичные и внешние ключи, ограничения уникальности, условия на значения (check constraints). Применение доменов (domains) и правил (rules) в Postgres. Пользовательские типы данных как дополнительная возможность обеспечения целостности данных
  5. Работа с представлениями (views) в Postgres. Для чего нужны назначения. Создание обычных, материализованных и рекурсивных представлений
  6. Введение в язык PL/pgSQL. Основы синтаксиса, структура блоков BEGIN..END, символы строки в виде долларов $$. Работа с анонимными блоками PL/pgSQL
  7. Переменные и константы в PL/pgSQL. Объявление переменных, присвоение значений, SELECT INTO для присвоения значений переменных из запросов. Переменные типа RECORD. Объявления %ROWTYPE
  8. Синтаксические конструкции PL/pgSQL. Операторы условного перехода: IF и CASE. Циклы WHILE и FOR.
    Обработка исключений в PL/pgSQL. Блоки EXCEPTION, команды RAISE и ASSERT
  9. Работа с курсорами в Postgres. Применение курсоров для прохода по набору записей
  10. Создание пользовательских функций PL/pgSQL. Работа с параметрами IN и OUT, возврат значений из функции. Типы функций IMMUTABLE, STABLE и VOLATILE. Перегрузка функций и особенности функций, возвращающих таблицы.
    Создание пользовательских хранимых процедур в Postgres. Отличия хранимых процедур от функций
  11. Триггеры и триггерные функции в Postgres. Виды триггеров, лучшие практики применения триггеров. Триггеры аудита изменений в таблицах
  12. Создание функций Postgres на Python и Java. Особенности работы с функциями, созданными не на PL/pgSQL
  13. Введение в программирование Postgres на C#, Java и Python. Применение ORM
  14. Возможности оптимизации производительности баз данных Postgres для разработчиков.