Содержание курса
Модуль 1. Введение в PostgreSQL
- Установка и управление сервером
- Настройка параметров сервера
- Подключение с помощью psql
Лабораторная работа 1. Подключение к СУБД с помощью клиента psql
Модуль 2. Структура PostgreSQL
- Архитектура PostgreSQL
- Многоверсионность, блокировки и транзакции
- Структура буферного кэша
- Журналирование
Лабораторная работа 2.1. Многоверсионность и блокировки
Лабораторная работа 2.2. Работа с кэшем и журналами
Модуль 3. Физическая структура данных
- Файлы данных и табличные пространства
- Слои
- Технология TOAST
Лабораторная работа 3. Работа с табличными пространствами
Модуль 4. Логическая структура данных
- База данных
- Схема данных
- Системный каталог
Лабораторная работа 4. Работа со схемой данных
Модуль 5. Проектирование приложения
- Принципы проектирования структуры базы данных
- Требования форм нормализации данных
- Разработка схемы данных приложения
Лабораторная работа 5. Разработка схемы данных приложения
Модуль 6. Введение в язык SQL
- Основные понятия. Общий синтаксис команд
- Типы данных
- Работа с таблицами
- Описание типов данных, ограничения.
- Связи между таблицами
- Представления данных
Лабораторная работа 6. Работа с таблицами базы данных
Модуль 7. Формирование запросов SQL к базе данных
- Лексическая структура, выражения
- Запросы на выборку данных
- Использование связей между таблицами в запросах
- Модифицирующие запросы
- Запросы на удаление данных
Лабораторная работа 7. Работа с запросами
Модуль 8. Обращение к данным из клиентских приложений
- Протокол для обращения к БД
- Работа с транзакциями
- Интерфейс пользователя
Лабораторная работа 8. Работа с представлениями
Модуль 9. Использование функций в SQL
- Функции: параметры и возвращаемые значения
- Вызов функций в запросах
- Подстановки в запросах
- Ограничения
Лабораторная работа 9. Использование функций в запросах
Модуль 10. Работа с составными типами данных
- Составные типы и их параметры
- Функции, возвращающие составной тип
- Варианты вызова функций
Лабораторная работа 10. Использование составных типов в функциях запросов
Модуль 11. Основы языка PL/pgSQL
- Общие сведения о процедурных языках
- Блоки и их структура
- Работа с переменными и выражениями
- Использование функций в PL/pgSQL
- Ветвления и циклы
Лабораторная работа 11. Написание функций в PL/pgSQL
Модуль 12. Работа с запросами SQL в PL/pgSQL
- Выполнение инструкций SQL
- Подстановка переменных
- Использование табличных функций
Лабораторная работа 12. Использование запросов в блоках PL/pgSQL
Модуль 13. Использование курсоров в PL/pgSQL
- Общие сведения о курсорах
- Описание и открытие курсора
- Использование курсоров для обработки данных
- Операции с курсорами
Лабораторная работа 13. Работа с курсорами
Модуль 14. Динамическое построение запросов
- Назначение и возможности динамических запросов
- Выполнение динамического запроса
- Конструкции динамических запросов
Лабораторная работа 14. Динамические запросы
Модуль 15. Работа с массивами
- Общие сведения о массивах
- Использование функций для обработки массивов
- Работа с массивами средствами PL/pgSQL
Лабораторная работа 15. Работа с массивами
Модуль 16. Исключения: перехват ошибок
- Необходимость работы с исключениями
- Перехват ошибок
- Журналирование ошибок
- Уровни обработки ошибок
Лабораторная работа 16. Работа с исключениями
Модуль 17. Использование триггеров
- Общие сведения о триггерах
- Функции-обработчики триггеров
- Варианты использования триггеров
- Триггеры, срабатывающие по событиям
Лабораторная работа 17. Настройка триггеров
Модуль 18. Отладка программного кода
- Способы отладки
- Использование служебных сообщений для отладки
- Трассировка
Лабораторная работа 18. Отладка кода приложения
Модуль 19. Разграничение доступа
- Пользователи и роли
- Привилегии
- Политики защиты записей
- Разграничение подключений к серверу
Лабораторная работа 19. Управление ролями и привилегиями