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 для массовой перекомпиляции;
Очень много систематизированной информации.
Смог собрать воедино разрозненные знания и увидел методы решения имеющихся пробелов в резервировании
Спасибо центру за интересный курс и хорошую организацию. Перед началом курса выслали подробную инструкцию, все было понятно, вируталка у меня работала без проблем.
Большое спасибо лектору Олегу Иванову. Лектор отзывчивый, ответил на все вопросы слушателей. Изложение материала было доступным и понятным. Видно, что лектор эксперт в области PostgreSQL и Oracle.
Материал курса оказался для меня полезным и актуальным.
Интересная подача, не только собственно содержимое курса, но и история появления нововведений их полезность или бесполезность на практике. Много практики, что тоже полезно.
В целом понравилось, произошла некоторая систематизация знаний, узнал кое-что новое для себя. При наличии возможностей посещу другие курсы по этой тематике.
Курс отличается полнотой и доступностью, живостью подачи материала. Преподаватель-эксперт в области postgreSql(и не только) и великолепный рассказчик. Благодаря этому, курс можно рекомендовать тем, кому требуется разработать надёжное и производительное приложение на основе PostgreSql
К сожалению, не удалось выполнить в полном объёме практические задания.
Очень содержательный курс. Рассматриваются действительно необходимые темы для погружения во внутреннюю механику PostgreSQL.
Хотя курс был для меня совершенно новым и не все материалы усвоились сразу, я получил главное – четкое понимание дальнейших шагов в изучении PostgreSQL, включая необходимые ресурсы и ПО. Особо хочу отметить преподавателя: его глубокие знания и педагогические навыки впечатляют. Он смог адаптировать программу под уровень каждого слушателя, что было очень ценно. Примеры и аналогии были подобраны точно, а ответы на вопросы – максимально понятными.
В целом курс удачный. Большим плюсом является живой рассказ преподавателя, а не чтение по бумажке. Можно задать дополнительные вопросы. Преподаватель хорошо владеет темой
Благодарю Дмитрия Головицина и УЦ Fors за организацию и проведение курса. Материалы просматривал заранее так как они были в открытом доступе, но ценной была возможность задавать свои вопросы и слушать ответы на вопросы других слушателей. Надеюсь удалось немного систематизировать свои знания и продвинуться к цели сертификации. Планирую посещение других курсов по PostgreSQL и по Linux. Очень бы хотелось получить записи занятий
Курс понравился, помогает понять основные сущности PostgreSQL и как они взаимодействуют между собой. Почти все, с чем можно столкнуться в PostgreSQL при полном цикле работ, разбирается в данном курсе. Полезен как администраторам, так и инженерам, работающим напрямую с БД.
Преподаватель подробно разъясняет нюансы по каждой теме. Теория своевременно разбавляется практикой для закрепления знаний.
О курсе "Технология контейнеризации Docker"
Отличное погружение в архитектуру контейнеризации, оптимизацию, безопасность и внутреннее устройство Docker. Самое то, что надо, для тех, кто желает использовать технологию, но не знает с чего начать и как правильно эксплуатировать. На практических работах, освоена теория о компонентах Docker при работе в локальной среде. На тестовом стенде развернуты интеграции с CI/CD, terraform, ansible, kubernetes. Теперь могу использовать, в своей работе и в своих наработках, много-контейнерные окружения разработки для приложений.
Информативно, не перегружено, наглядно, доходчиво, с юмором преподнесен материал. Моя благодарность.
Лектор - огонь! Однако есть пара моментов: - любит уходить в себя и эффектно возвращаться так, что забываешь, о чём шла речь буквально пять минут назад; - если кто-то задаёт ему вопрос, то он резко начинает его перебивать, типа ему всё понятно и это заставляет людей тупо не активничать, ибо этот поток не остановить); - наконец есть тяжёлые фонетические искажения при произношении некоторых обычных англицизмов и не только, однако это является фишкой лектора, как я понял. В целом - масса полезной информации и подача весьма экспрессивна (в хорошем смысле). Лучший лектор на всех курсах по Postgres по моему скромному мнению.
Мне курс понравился, прям база, буду рекомендовать коллегам.
Единственное, что платформа не совсем корректно работает на Iphone, иногда переключался.
О курсе "Технология контейнеризации Docker"
Отличное погружение в архитектуру контейнеризации, оптимизацию, безопасность и внутреннее устройство Docker. Самое то, что надо, для тех, кто желает использовать технологию, но не знает с чего начать и как правильно эксплуатировать. На практических работах, освоена теория о компонентах Docker при работе в локальной среде. На тестовом стенде развернуты интеграции с CI/CD, terraform, ansible, kubernetes. Теперь могу использовать, в своей работе и в своих наработках, много-контейнерные окружения разработки для приложений.
Отличный курс, сформировал мое представление о кластерное решениях для СУБД PostgreSQL на основе Pacemaker/Corosync
В целом обширная тема курса освещена преподавателем в полной мере. Спасибо Тимофею Нечаеву за выдержку и профессионализм в разборе и решении возникавших по ходу курса вопросов.
Очень понравился курс, все рассказанное необходимо в моей работе DBA каждый день. Преподаватель профессионал своего дела, материал подается легко и понятно с хорошими практиками, чествуется сразу что это реальный опыт. Возможно стоит расширить курс до 5 дней и дать больше времени для практик и обсуждения вопросов.
О курсе "Python основы программирования"
Очень интересно и подробно с примерами и практикой. Для начинающего питонца самое то.
О курсе "Основы администрирования РЕД ОС. 2024"
Обучалась дистанционно впервые. Очень понравилось. Преподаватель Гамаюнов Семён Алексеевич рассказывал всё чётко, доступно и очень интересно. Постоянно приводил примеры, что очень влияет на изучение курса. Успехов и процветания вашему учебному центру!
О курсе "Основы администрирования РЕД ОС. 2024"
Отличный курс. Материалы позволяют как освоить администрирование так и погрузиться в нюансы и тонкости администрирования ОС. Отличные преподаватели, качественное оснащение учебного процесса и грамотное изложение учебного материала. Спасибо!