PostgreSQL для разработчиков: SQL, PL/PgSQL, Java
PGSQL_develop
Курс проводится в формате workshop, предоставляя слушателям возможность изучить основы разработки приложений на Java для СУБД PostgreSQL.
Аудитория
Начинающие разработчики приложений для СУБД PostgreSQL. Практикум ориентирован на специалистов, имеющих начальные знания языка SQL и понимание принципов работы реляционных баз данных. Минимальные знания GNU/Linux или UNIX приветствуются.
Результат обучения
После обучения специалисты:
- смогут устанавливать ПО PostgreSQL и выполнять базовые функции администрирования СУБД;
- будут знать основные структуры и объекты данных PostgreSQL;
- познакомятся с системой ролей и прав в PostgreSQL;
- научатся выполнять команды языков DML и DDL с помощью SQL;
- смогут использовать структурированные команды SQL;
- познакомятся с особенностями локализации PostgreSQL и работой с временем и датами с учетом поясного времени;
- изучат планы выполнения запросов и работу планировщика;
- познакомятся с программированием на стороне клиентов и сервера, а также с расширениями PostgreSQL;
- изучат написание клиентских программ на Java для PostgreSQL с использованием JDBC и иных клиентов;
- познакомятся с написанием Java кода на стороне сервера PostgreSQL.
Предварительный уровень подготовки
- Базовые знания администрирования PostgreSQL, языка SQL.
- Начальные сведения о программировании на Java.
Программа курса
Модуль 1. Установка PostgreSQL
- Варианты установки.
- Планирование установки.
- Настройка параметров ядра и окружения.
- Установка требуемой версии из репозитория.
Модуль 2. Запуск и остановка PostgreSQL
- Первичная настройка конфигурации PostgreSQL.
- Настройка аутентификации.
- Скрипты запуска.
- Запуск и остановка сервера.
- Создание базы данных.
- Проверка сетевых настроек и аутентификации.
- Архитектура процессов PostgreSQL.
Модуль 3. Клиент psql
- Ввод команд SQL.
- Внутренние команды psql.
- Получение помощи.
- Выполнение скриптов.
- Настройка psql.
Модуль 4. Объекты базы данных.
- Таблицы.
- Ограничения.
- Индексы.
- Внешние ключи.
- Последовательности.
- Представления
Модуль 5. Роли и права.
- Понятие роли.
- Схемы.
- Системные привилегии.
- Привилегии на доступ к объектам.
- Выдача и отзыв привилегий.
Модуль 6. Системный каталог.
- Предназначение системного каталога.
- Важнейшие каталоги.
- Важнейшие представления.
Модуль 7. Работа с таблицами.
- Создание, изменение и удаление таблиц.
- Использование значений по умолчанию.
- Наследование и таблицы.
- Партиционированные таблицы.
- Управление ограничениями.
- Создание и управление первичными ключами.
- Сложные и функциональные индексы.
- Временные таблицы.
- Внешние таблицы.
Модуль 8. Работа с индексами.
- Создание индексов.
- Изменение индексов.
- Применение индексов к таблицам.
Модуль 9. Представления.
- Создание представления.
- Изменение представления.
- Автоматически обновляемые представления.
Модуль 10. Последовательности.
- Создание последовательности.
- Использование генерируемых значений.
- Изменение последовательности
Модуль 11. Подзапросы.
- Скалярные подзапросы.
- Многостолбцовые подзапросы.
- Коррелированные подзапросы.
- Рекурсивные запросы.
- Построение CTE – общих табличных выражений с помощью WITH.
- Вывод иерархических данных с помощью функции connectby.
Модуль 12. Команды DML.
- Подзапросы в командах DML.
- Вставка данных на основе подзапроса.
- Изменение и удаление строк на базе коррелированного подзапроса.
- Использование CTE для многотабличных вставок.
Модуль 13. Работа с массивами.
- Описание массива.
- Ввод значений элементов массива.
- Доступ к массивам.
- Изменение массивов.
- Поиск в массивах
Модуль 14. Локализация.
- Влияние локали на поведение сервера и клиентов СУБД.
- Порядок сопоставления и сортировка.
- Наборы символов.
- Функции, работающие с локалями.
Модуль 15. Работа с временем и календарными датами.
- Типы данных времени и даты.
- Временные интервалы.
- Учет временных зон.
- Летнее время.
- Функции для работы с временем и датами.
Модуль 16. Планы выполнения запросов.
- Получение плана выполнения запроса.
- Интерпретация плана.
- Проверка точности оценок планировщика.
- Выявление наиболее затратных частей запроса.
Модуль 17. Программирование на стороне сервера
- Расширения SQL
- Триггеры
- Модификация запросов правилами
- Процедурные языки
- PL/PgSQL
Модуль 18. PostgreSQL и Java
- Интерфейсы PostgreSQL и Java
- Java на стороне клиента
- Java на стороне сервера
Модуль 19. JDBC
- Возможности JDBC
- Типы JDBC драйверов
- Опции JDBC
- Подключение к БД
- Программирование SQL команд
- JDBC и SSL
- Альтернативы JDBC
Модуль 20. Java на стороне сервера PostgreSQL
- Возможности и особенности PL/Java
- Запуск Java на стороне сервера
- PL/Java хранимый код
- PL/Java триггеры