Курсы High Tech

Системы управления базами данных

Postgres для разработчиков


Продолжительность: 40 ч    

Описание курса

Продолжительность: 5 дней (40 учебных часов).
ФОРМАТ ОНЛАЙН, занятия с сертифицированным тренером в режиме реального времени.
Минимальная группа для запуска курса - 4 (четыре) человека.

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

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

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

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

Сертификат учебного центра.

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

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 для разработчиков.