Курс "Профессиональное использование SQL и PLpg/SQL в PostgreSQL"Код: EDU-PSQL-06
Продолжительность - 5 дней
Задача курса «Профессиональное использование SQL и PLpg/SQL в PostgreSQL» показать архитектурные особенности сервера PostgreSQL версии 15 и выше, его тонкую настройку с точки зрения разработчика серверной части приложения с использованием SQL/PLpg/SQL. Новые возможности SQL. Настройку производительности SQL запросов. Мониторинг и трассировку SQL. Общее понимание разработки Web и мобильных приложений средствами PLpg/SQL. Аудитория: Профессиональные разработчики SQL, желающие упорядочить свои знания в базе данных PostgreSQL, разработчики клиентских приложений, администраторы базы данных PostgreSQL. Необходимая подготовка: основы SQL, элементарные навыки написания приложений. Цель: по окончанию курса слушатели смогут создавать приложения и запросы на SQL и PLpg/SQL на новом, современном уровне. Будет понимание написания современных приложений для базы данных PostgreSQL. Программа курса1. PostgreSQL – интегрированная база данных. Логическая и физическая компоновка базы данных. Процессы управления. Архитектура табличных пространств. Оптимальное использование памяти сервером. Слушатель сервера и клиентские процессы сервера. Настройка процессов прослушивания. 2. Клиентские места для организации рабочего места разработчика и администратора PostgreSQL. Сравнение приложений - Python и Java для работы с PostgreSQL. Популярные приложения - выбор разработчика. 3. Типы данных данных PostgreSQL (обзор). Рациональное использование табличных пространств для размещения больших объектов. Слои храннения данных в табличных пространствах. Использование объектных и агрегатных типов для хранения данных. Порядок доступа к объектам базы данных, их размер, страничное хранение. 4. Расширеня базы данных для организации наблюдения за распределением памяти и процессом подготовки SQL запросов. Страницы в shared памяти. 5. SELECT. Использование подзапросов во фразе From. Подзапросы. Коррелированные подзапросы. Древовидные структуры. Конструкции во фразе SELECT. (rollup, cube, case…). Аналитические функции в запросах. Вложенные таблицы в виде агрегатных типов данных. 6. Язык манипулирования данными DML. выполнения сложных операторов DML с подзапросами. Оператор Merge. 7. Оптимизация SQL запросов: Настройка производительности приложения. Разделяемый пул и рабочая область. Оптимизатор. Команда Analyze. Организация и планирование сбора статистики по объектам. Вакум. Ранжирование методов доступа. Анализ запросов с целью повышения скорости их выполнения. Команда Explain и алгоритмы ее использования. Правила оптимизации запросов и их оценка. Практические примеры оптимизации, Автоматический сбор статистики по таблицам и параметры конфигурации сервера. Использование расширений для управления планом выполнения SQL. Подсказки оптимизатору, заморозка планов выполнения запросов. 8. Язык DDL. Создание и изменение таблиц (DDL). Команда Create Table. Определение параметров хранения таблиц на физическом уровне. 9. Создание временных транзакционных и сессионных таблиц. Создание таблиц с разбивкой на партиции. Ссылочные партиционные таблицы. Примеры использования партиционных таблиц с различными типами разбивки. Индексные таблицы. Доступ к данным в индексных таблицах, проблемы обновления данных. Особенности размещения индексных таблиц в физических блоках дисковой памяти. 10. Декларативные ограничения целостности. Индексы и ограничения. "Откладываемые" ограничения целостности и проблемы каскадного обновления первичных ключей. Команда SET CONSTRAINT. Изменение структуры таблицы, команда Alter table и ограничения целостности. Создание неуникальных индексов для первичных и уникальных ключей. Мгновенное включение ограничений. 11. Транзакции. Оптимистические и пессимистические запросы. Алгоритмы совместного доступа к базам данных. Конкуренция параллельность и согласованность. Транзакции и взаимовлияние. Потери изменений, черновое чтение, повторяемое и неповторяемое чтение. Уровни изоляции. Алгоритмы блокирования. Блокировки DML – табличные и строчные блокировки, тупики. Разрешения тупиков. Блокировки DDL-исключающие и разделяемые блокировки, многовариантность. Многовариантность и согласованность чтения на уровне транзакций. Исполбзование расширений и таблиц статистики для оценки заполнения страниц сервера данными 12. Другие объекты. Представления. Ограничение представлений и правила их обновляемости, Instead off триггер. Индексы. Правила применения и рекомендации. Использование функций в индексах. Индексы и оптимизация. Необходимость использования индексов. Связи с базами данных. Использование ролей для разграничения доступа к данным – безопасность. Практический пример создания связей со схемами нескольких удаленных баз данных. Логические репликации, примеры создания. Методы обновления. Материализованные представления данных. Принудительное обновление данных. 13. PLpg/SQL.Обзор и конструкции языка. Выполнение запросов. Простые и подготовленные запросы, CTE - таблицы. 14. Курсоры. Явные и неявные курсоры. Атрибуты и параметры курсоров. Использование курсоров внутри управляющих блоков. Оператор CURSOR и фраза INTO. Обновляемые курсоры и транзакции. 15. Процедуры и функции. Схема базы данных - как определение пространства имен бизнес логики приложений. Ограничения для пользовательских SQL процедур. Зависимые процедуры и их сопровождение. Использование хранимых функций в SQL запросах. 16. Исключительные ситуации. Предопределенные и пользовательские исключительные ситуации. Явное возбуждение исключений. Методика обработки ошибок в PLpg/SQL. 17. Триггеры таблиц – как разновидность хранимых процедур. Атрибуты триггеров PostgreSQL. Обработка исключительных ситуаций в триггерах. 18. Python в базе данных PostgreSQL. Создание расширения. Практические примеры использования Python в PostgreSQL для генерации отчетов в стандартных форматах. Python приложение - как клиентское приложение для PostgreSQL. 19. Введение в архитектуру распределенных и мобильных приложений. PostgreSQL - как хранилище данных. Реактивные механизмы доступа к данным с использованием микросервисной архитектуры и реактивных клиентских приложений. В конце обучения на курсе проводится итоговая аттестация в виде теста или на основании оценок за практические работы, выполненных в процессе обучения. В современном мире сложно обойтись без информационных технологий и их производных - компьютеров, мобильных телефонов, интернета и т.д., особенно в крупных компаниях и государственных организациях, работающих с большим количеством людей, а не только с парой VIP-клиентов, как это может быть в случае небольшой компании. А там, где есть большое количество контрагентов, заявителей и т.д. - не обойтись без баз данных, необходимых для обработки информации. Естественно, что времена гроссбухов и карточек, памятных многим по библиотекам, давно прошли, сегодня используются персональные компьютеры и электронные базы данных. Сегодня невозможно представить работу крупнейших компаний, банков или государственных организаций без использования баз данных и средств Business Intelligence. Базы данных позволяют нам хранить и получать доступ к большим объемам информации, а система управления базами данных (СУБД) — осуществлять менеджмент доступных хранилищ информации. В Учебном центре « Интерфейс» Вы научитесь эффективно использовать системы управления базами данных: быстро находить нужную информацию, ориентироваться в схеме базы данных, создавать запросы, осуществлять разработку и создание баз данных. Обучение позволит Вам не только получить знания и навыки, но и подтвердить их, сдав соответствующие экзамены на статус сертифицированного специалиста . Опытные специалисты по СУБД Microsoft SQL Server или Oracle могут быть заинтересованы в изучении систем бизнес-аналитики. Это задачи достаточно сложные, использующие громоздкий математический аппарат, но они позволяют не только анализировать происходящие процессы, но и делать прогнозы на будущее, что востребовано крупными компаниями. Именно поэтому специалисты по бизнес-аналитике востребованы на рынке, а уровень оплаты их труда весьма и весьма достойный, хотя и квалифицированным специалистам по базам данных, администраторам и разработчикам, жаловаться на низкий уровень дохода тоже не приходится. Приходите к нам на курсы и получайте востребованную и высокооплачиваемую профессию. Мы ждем Вас! В конце обучения на курсах проводится итоговая аттестация в виде теста или путём выставления оценки преподавателем за весь курс обучения на Учебный центр "Интерфейс" оказывает консалтинговые услуги по построению моделей бизнес-процессов, проектированию информационных систем, разработке структуры баз данных и т.д.
|