+7 (812) 703-02-02 info@hse.spbstu.ru

PSQL-01. Основы PL/pgSQL

Длительность дисциплины: 40 ак.ч.


Аннотация

Целью реализации программы (учебного модуля) «PSQL-01. Основы PL/pgSQL» является формирование у слушателей специальных знаний и компетенций, необходимых для разработки программных модулей в базах данных PostgreSQL на основе использования языков SQL и PL/pgSQL.

Знания и умения, полученные в результате изучения

В результате освоения модуля обучающийся должен уметь:
• использовать различные типы данных и функции в запросах SQL и PL/pgSQL;
• создавать функции и триггера на языке PL/pgSQL;
• конструировать код запросов динамически из кода приложения;
• работать с курсорами;
• работать с массивами;
• настраивать триггеры, проводить перехват ошибок в исполняемом коде. 

В результате освоения модуля обучающийся должен знать:
• преимущества использования PL/pgSQL;
• основы языка PL/pgSQL;
• встроенные функции PostgreSQL;
• поддерживаемые типы данных аргументов и возвращаемых значений.

В результате освоения модуля обучающийся должен приобрести практический опыт:
• использования различных типов данных и функций в запросах SQL и PL/pgSQL;
• разработки и отладки блоков кода на языке PL/pgSQL.


Содержание дисциплины

Тема 1. Основы языка PL/pgSQL
1.1 PL/pgSQL — процедурный язык SQL
Введение в язык PL/pgSQL. 
Общие сведения о процедурных языках. 
Работа с переменными и выражениями. 
Основные операторы.
1.2 Управляющие структуры
Блоки и их структура. 
Условные операторы. 
Простые циклы. 
Цикл по результатам запроса
1.3 Пользовательские функции
Использование функций в PL/pgSQL. 
Создание пользовательских функций. 
Объявление параметров функции. 
Практические занятия
Написание функций в PL/pgSQL

Тема 2. Работа с запросами SQL в PL/pgSQL
2.1 SQL-операторы и выражения внутри функции на PL/pgSQL
Выполнение инструкций SQL. 
Подстановка переменных. 
Использование табличных функций.
Практические занятия
Использование запросов в блоках PL/pgSQL

Тема 3. Использование курсоров в PL/pgSQL
3.1 Введение в курсоры
Общие сведения о курсорах. 
Объявление курсорных переменных. 
Открытие курсора. 
3.2 Работа с курсорами
Использование курсоров для обработки данных. 
Операции с курсорами. 
Обработка курсора в цикле
Практические занятия
Работа с курсорами

Тема 4. Динамическое построение запросов
4.1 Динамические запросы
Назначение и возможности динамических запросов. 
Выполнение динамического запроса. 
Конструкции динамических запросов
Практические занятия
Динамические запросы

Тема 5. Работа с массивами
5.1 Работа с массивами
Общие сведения о массивах. 
Использование функций для обработки массивов. 
Работа с массивами средствами PL/pgSQL. 
Цикл по элементам массива
Практические занятия
Работа с массивами

Тема 6. Исключения: перехват ошибок
6.1 Сообщения и ошибки
Необходимость работы с исключениями. 
Вывод сообщений и ошибок. 
Перехват ошибок. 
Журналирование ошибок. 
Уровни обработки ошибок
Практические занятия
Работа с исключениями

Тема 7. Использование триггеров
7.1 Триггеры при изменении данных
Общие сведения о триггерах. 
Функции-обработчики триггеров.