Oracle Database 19c: PL/SQL Workshop
Oracle Database 19c: PL/SQL Workshop - это полный курс по PL/SQL, включающий введение в программирование и управление кодом на PL/SQL
Oracle Database 19c: PL/SQL Workshop - это полный курс по PL/SQL, включающий введение в программирование и управление кодом на PL/SQL
Обзор курса и учебная среда;
Структура и цели программы обучения;
Подключение к базе данных Oracle 19c;
Инструменты разработки: SQL Developer, SQL*Plus;
Назначение и преимущества PL/SQL;
Структура блока PL/SQL: DECLARE, BEGIN, EXCEPTION, END;
Типы блоков: анонимные, именованные;
Выполнение блоков PL/SQL в SQL Developer;
Скалярные типы данных: VARCHAR2, NUMBER, DATE, BOOLEAN;
Атрибуты %TYPE и %ROWTYPE;
Переменные подстановки и привязки;
Последовательности в выражениях PL/SQL;
Синтаксические правила блоков PL/SQL;
Операторы присваивания и выражения;
Вложенные блоки и области видимости;
Функции DBMS_OUTPUT.PUT_LINE для вывода;
Операторы SELECT INTO для выборки данных;
DML-операции: INSERT, UPDATE, DELETE в PL/SQL;
Управление транзакциями: COMMIT, ROLLBACK, SAVEPOINT;
Неявные курсоры и атрибуты SQL%ROWCOUNT, SQL%FOUND;
Условные операторы: IF-THEN-ELSIF-ELSE, CASE;
Простые и поисковые выражения CASE;
Циклы: LOOP, WHILE, FOR;
Вложенные циклы и метки;
Записи PL/SQL (RECORD);
Коллекции: ассоциативные массивы (INDEX BY);
Вложенные таблицы и VARRAY;
Методы коллекций: COUNT, FIRST, LAST, NEXT;
Объявление, открытие, выборка и закрытие курсора;
Атрибуты курсора: %FOUND, %NOTFOUND, %ROWCOUNT, %ISOPEN;
Цикл FOR для курсоров;
Курсоры с параметрами;
Типы исключений: предопределённые, пользовательские;
Обработка исключений в секции EXCEPTION;
Распространение исключений во вложенных блоках;
Директива RAISE_APPLICATION_ERROR;
Прагма EXCEPTION_INIT;
Различия между анонимными блоками и подпрограммами;
Преимущества хранимых подпрограмм;
Параметры: IN, OUT, IN OUT;
Хранение подпрограмм в словаре данных;
Синтаксис CREATE PROCEDURE;
Параметры процедур и режимы передачи;
Вызов процедур из анонимных блоков и других подпрограмм;
Обработка исключений в процедурах;
Удаление и пересоздание процедур;
Синтаксис CREATE FUNCTION и оператор RETURN;
Вызов функций из SQL-запросов;
Ограничения на функции в SQL;
Различия между процедурами и функциями;
Рекомендации по использованию;
Использование DBMS_OUTPUT для отладки;
Отладчик SQL Developer;
Компиляция с информацией для отладки;
Обработка ошибок компиляции: SHOW ERRORS;
Представления USER_ERRORS и USER_OBJECTS;
Компоненты пакета: спецификация и тело;
Синтаксис CREATE PACKAGE и CREATE PACKAGE BODY;
Публичные и приватные элементы пакета;
Инициализация пакета;
Перегрузка подпрограмм в пакетах;
Вызов элементов пакета;
Персистентное состояние пакетных переменных;
Курсоры пакетного уровня;
Прагма SERIALLY_REUSABLE;
Удаление пакетов;
Пакет DBMS_OUTPUT: вывод информации;
Пакет UTL_FILE: работа с файлами ОС;
Пакет DBMS_SQL: динамические запросы;
Пакет UTL_MAIL: отправка электронной почты;
Обзор других полезных стандартных пакетов;
Оператор EXECUTE IMMEDIATE;
Динамические DML и DDL;
Связываемые переменные в динамическом SQL;
Пакет DBMS_SQL для сложных сценариев;
Защита от SQL-инъекций: DBMS_ASSERT;
Типы триггеров: DML, INSTEAD OF;
Триггеры уровня строки и уровня оператора;
Новые и старые значения: :NEW и :OLD;
Условие WHEN для триггеров;
Порядок срабатывания триггеров;
Составные (compound) триггеры;
Триггеры на DDL-события: CREATE, ALTER, DROP;
Триггеры на события базы данных: LOGON, STARTUP, SERVERERROR;
Применение триггеров для аудита и безопасности;
Стандарты именования переменных и подпрограмм;
Обработка ошибок как стандартная практика;
Использование BULK COLLECT и FORALL для производительности;
Избегание распространённых ошибок;
Рекомендации Oracle по написанию PL/SQL;
Уровни оптимизации компилятора: PLSQL_OPTIMIZE_LEVEL;
Встроенная компиляция: PLSQL_CODE_TYPE;
Предупреждения компилятора: PLSQL_WARNINGS;
Условная компиляция;
Прагма INLINE;
Прямые и косвенные зависимости объектов;
Состояния объектов: VALID и INVALID;
Представление USER_DEPENDENCIES;
Управление инвалидацией и перекомпиляцией;
Пакет UTL_RECOMP для массовой перекомпиляции;
Всё отлично! Интересно и познавательно. подчеркнул много нового.
Материал подан структурированно, от простого к сложному. Понравилось, что много практики: сразу закрепляешь теорию реальными запросами. Преподаватель отвечал на вопросы развёрнуто и понятно.
Доходчиво был передан материал, спасибо за курс, информация легко воспринималась, а главное не было воды!
Данный курс был очень полезен для меня, как администратора БД Postgres. Прежде всего хотелось бы отметить некую харизму преподавателя, его хорошо поставленную и артистичную речь, его внимание к слушателям и глубокие знания предмета курса. Я узнал много полезных деталей о работе отказоустойчивых кластеров. Я бы предложил немного усовершенствовать данный курс примерами решения типовых проблем с кластером Patroni в таком ключе:"что-то не работает - ищем причину - делаем то-то".
Впечатления положительные. Курс сильный, много тем, очень насыщенный теоретическим материалом, примерами и практикой. Лектор тоже понравился, дает свои комментарии и отвечает на вопросы по ходу изложения материала. Дает сравнения с другими база данных, в основном Oracle в местах где есть различия. Были темы не только по PostgreSQL, его архитектуре, хранении данных в памяти и модели, но и половина курса была посвящена языку PL/pgSQL, его основным конструкциям, синтаксису, отладке, тестированию, в конце затронули большую тему на тему оптимизации запросов, логирования, анализу статистики выполнения. В общем и целом мне понравилось.
Курс очень насыщенный, лектор увлекательно и доступно объясняет материал. Практика отличная: есть специальный тестовый стенд, на котором наглядно показано, как должна работать система.
Благодарю учебный центр за проведение курса по PostgreSQL - данный курс охватил большой объём информации связанный с особенностями СУБД и в доступной и понятной форме дал возможность освоить эти знания на практике
Отличный практический курс! Материал структурирован, всё чётко и без «воды». На реальных примерах разобрана полная схема развёртывания высоко доступного кластера PostgreSQL с Patroni, etcd и HAProxy. Отдельное спасибо за разбор типовых проблем и способов их предотвращения.
Аркадий Новоселов отлично преподносит материал. Владеет информацией, всегда готов помочь и ответить на возникающие вопросы.
Спасибо за курс!
В целом все понравилось. Некоторым темам, безусловно, хотелось бы уделить больше времени, в частности добавить в курс основные моменты связанные с настройкой iptables/nftables, созданием модулей systemd.
О курсе "Мониторинг баз данных при помощи Zabbix"
Мне было тяжело. Курс очень концентрированный. Я не успевал делать практические задания. Вины преподавателя в этом нет. Сначала мне нужно было пройти базовый курс плюс я специализируюсь всетаки на мониторинг устройств а не баз данных.
Но тем не менее многое удалось понять. Думаю что при необходимости смогу применить на практике.
О курсе "Администрирование Astra Linux 1.7"
Отличный курс, материал, формат подачи, качество связи. Преподаватель грамотный высококвалифицированный специалист, доступно преподносит и объясняет материал, отвечает на вопросы, помогает. Спасибо!
О курсе "Миграция и доверительные отношения между Astra Linux 1.8 - FreeIPA и Microsoft AD, синхронизация, интеграция. Построение инфраструктуры служб каталогов"
Отличный курс, материал, формат подачи, качество связи. Преподаватель грамотный высококвалифицированный специалист, доступно преподносит и объясняет материал, отвечает на вопросы, помогает. Спасибо!
О курсе "Диагностика и устранение неполадок Linux"
Хороший курс. Много практических заданий. Преподаватель грамотно отвечал на вопросы.
О курсе "Технология контейнеризации Docker"
Отличный и полезный курс. Емко, понятно и по делу. Отличные учебные пособия и хорошо объясняющий преподаватель
Очень хороший курс, затрагивающий самую суть выбранной дисциплины. Лектор рассказывал материал очень интересно, показывая реальные применения функционала на практических примерах, а так же сравнивая особенности PostgresQL с другими кластерами баз данных. После курса остался очень компактный и удобный материал.
О курсе "Технология контейнеризации Docker"
Всё понравилось, материал доступный, лектор объясняет хорошо и оперативно отвечает на вопросы
О курсе "Миграция и доверительные отношения между Astra Linux 1.8 - FreeIPA и Microsoft AD, синхронизация, интеграция. Построение инфраструктуры служб каталогов"
Было интересно. Спасибо за курс !
О курсе "Диагностика и устранение неполадок Linux"
Отличный полезный курс
О курсе "Основы SQL: создание переносимого кода"
Хороший курс. Достаточно понятно, интересные практики. Спасибо