ИТ Парк
Пресс-центр
Центры ИТ сертификации
Вычислительный кластер
Университетский Центр Интернет
Научно-исследовательские работы
Конкурс "У.М.Н.И.К."
Фотогалерея
Контакты


 vkontakte

Курс "База данных Oracle 11g: Программирование на SQL и PL/SQL (Oracle Database: Program with PL/SQL)"

Для грамотного использования Oracle необходимо иметь хорошее понимание языка SQL. Данный курс раскрывает полный спектр возможностей языка SQL в Oracle и ряд особенностей построения типовых конструкций БД.

PL/SQL - процедурный язык, разработанный фирмой Oracle для написания хранимых в БД подпрограмм. PL/SQL обеспечивает общую основу процедурного программирования как в клиентских приложениях, так и на стороне сервера, в том числе хранимых на сервере подпрограмм, пакетов и триггеров базы данных. Курс сопровождается практическими упражнениями, позволяющими закрепить понимание базовых понятий и освоить основные технические приемы программирования на языках SQL и PL/SQL.

По окончании курса слушатели получают возможность самостоятельного программирования Oracle на этих языках для решения задач разработки приложений в архитектуре клиент-сервер, а также задач администрирования БД.

Курс предназначен для разработчиков, программистов и администраторов баз данных. Слушатели должны обладать хорошим уровнем компьютерной грамотности, и иметь опыт программирования.


Введение в Oracle SQL


1. Основные понятия
• Базы данных и реляционная модель
• Базы данных
• СУБД
• Реляционный подход к моделированию данных
• Реализация реляционной СУБД
• Другие подходы к моделированию данных и другие типы СУБД
• SQL .Что такое SQL ?
• История и стандарты
• Oracle-диалект SQL
• PL/SQL

2. SQL*Plus и ввод предложений на SQL

3. Пример "схемы" базы данных

4. Создание, удаление таблиц и изменение структуры

• Предложение CREATE TABLE
• Типы данных в столбцах
• Уточнения в описаниях столбцов
• Указание NOT NULL
• Значения по умолчанию
• Проверка CHECK поступающих в таблицу значений
• Создание таблиц по результатам запроса к БД
• Именование таблиц и столбцов
• Виртуальные столбцы
• Удаление таблиц
• Изменение структуры таблиц
• Логические и технические особенности удаления столбца
• Использование синонимов для именования таблиц
• Переименования
• Справочная информация о таблицах в БД

5. Основные элементы предложений DML: выражения
• Непосредственные значения данных (литералы)
• Числовые значения
• Строки текста
• Моменты и интервалы времени
• "Системные переменные"
• Числовые выражения
• Выражения над строками текста
• Выражения над типом "момент времени"
• Функции
• Скалярные функции
• CASE-выражения
• Скалярный запрос
• Условные выражения
• Отдельные замечания по поводу отсутствия значения в выражениях

6. Выборка данных
• Фразы предложения SELECT
• Общие правила построения предложения SELECT
• Порядок обработки предложения SELECT
• Пример 1 предложения SELECT
• Пример 2 предложения SELECT
• Логическая целостность обработки предложения SELECT
• Фраза FROM предложения SELECT
• Варианты указания столбца
• Столбцы из разных таблиц
• Использование псевдонимов в запросе
• Подзапрос в качестве источника данных
• Специальный случай для запроса-соединения
• Фраза WHERE предложения SELECT
• Общий алгоритм отработки фразы WHERE
• Операторы сравнения для получения условного выражения
• Связки AND, OR и NOT для комбинирования условных выражений
• Условный оператор IS
• Условный оператор LIKE
• Условный оператор BETWEEN
• Условный оператор IN с явно перечисляемым множеством
• Условный оператор IN с множеством, получаемым из БД
• Условия сравнения с подзапросом
• Указание ANY и ALL для сравнения с элементами множества значений
• Условный оператор EXISTS
• Фраза SELECT и функции в предложении SELECT
• Сокращенная запись для группового отбора столбцов
• Выражения во фразе SELECT
• Подзапросы во фразе SELECT
• Уточнение DISTINCT
• Особенности поведения стандартных агрегатных функций в предложении SELECT
• Именование столбцов в результате запроса
• Системная функция ("переменная") ROWNUM и особенности ее использования
• Аналитические функции
• Выражение типа ссылка на курсор
• Фраза ORDER BY предложения SELECT
• Простейшая сортировка
• Упорядочение по значению выражения
• Указание номера столбца
• Двоичное и "языковое" упорядочение строк
• Особенности обработки отсутствующих значений (NULL)
• Фразы GROUP BY и HAVING предложения SELECT
• Пример отработки фразы GROUP BY … HAVING
• Отсутствие значения в выражении для группировки
• Другие примеры
• Указание ROLLUP, CUBE и GROUPING SETS в во фразе GROUP BY
• Фраза CONNECT BY предложения SELECT
• Специальные системные функции в предложениях с CONNECT BY
• Упорядочение результата
• Фраза WITH предварительной формулировки подзапросов
• Комбинирование предложений SELECT
• Комбинирование оператором UNION
• Комбинирование оператором INTERSECT
• Комбинирование оператором MINUS
• Общие правила
• Подзапросы
• Операция соединения в предложении SELECT
• Виды соединений
• Упражнения
• Новый синтаксис в версии 9
• Особенности выполнения операции соединения

7. Обновление данных в таблицах
• Добавление новых строк
• Явное добавление строки
• Добавление строк, полученных подзапросом
• Добавление в несколько таблиц одним оператором
• Изменение существующих значений полей
• Использование умолчательных значений в INSERT и UPDATE
• Удаление строк из таблицы
• Выборочное удаление
• Вариант полного удаления
• Комбинирование UPDATE, INSERT и DELETE в одном операторе
• Логическая целостность операторов обновления данных таблиц и реакция на ошибки
• Реакция на ошибки в процессе исполнения
• Фиксация изменений в БД
• Данные о системном номере изменения для строки
• Ускорение выполнения COMMIT

8. Быстрое обращение к прошлым значениям данных
• Чтение старых значений строк таблицы
• Восстановление таблиц и данных ранее удаленных таблиц

9. Схемные ограничения целостности
Разновидности схемных ограничений целостности
• Ограничение NOT NULL
• Первичные ключи
• Уникальность значений в столбцах
• Внешние ключи
• Дополнительное условие для значения в поле строки
• Дополнительное условие, связывающее значения в нескольких полях строки
• Добавление ограничения при наличии нарушений
• Приостановка проверки схемных ограничений в пределах транзакции
• Отключение и включение схемных ограничений целостности
• Технология включения и выключения схемных ограничений целостности
• Более сложные правила целостности

10. Виртуальные таблицы (производные, выводимые: views)
• Основные ("базовые") и виртуальные таблицы
• Обновление виртуальных таблиц
• Ограничения прямой модификации данных через виртуальные таблицы
• Запрет непосредственных обновлений
• Сужение возможности непосредственных обновлений
• Виртуальные таблицы с хранием данных
• Особенности именованных виртуальных таблиц
• Неименованные виртуальные таблицы без хранения данных
 
11. Нескалярные типы для "сложно устроенных" данных в Oracle
• Хранимые объекты
• Простой пример
• Использование свойств и методов объектов
• Использование ссылок на объект
• Коллекции
• Вложенные таблицы
• Массивы VARRAY
• Различия в употреблении
• Тип XMLTYPE
• Простой пример
• Таблицы данных XMLTYPE
• Преобразование табличных данных в тип XMLTYPE
• Тип ANYDATA

12. Вспомогательные виды хранимых объектов

• Генератор уникальных номеров
• Каталог операционной системы
• Таблицы с данными временного хранения
• Ссылка на другую БД
• Подпрограммы
• Индексы
• Индексы для проверки схемных ограничений целостности
• Таблицы с внешним хранением данных

13. Некоторые замечания по оптимизации SQL-предложений

14. Транзакции и блокировки
• Транзакции в Oracle
• Примеры блокировок данных транзакциями
• Разновидности блокировок
• Неявные блокировки при операциях DML
• Влияние внешних ключей
• Явная блокировка таблиц (тип TM) командой LOCK
• Явная блокировка отдельных строк таблиц
• Недокументированная разновидность групповой блокировки
• Блокировки предложениями DDL

15. Пользователи (схемы) и дополнительные средства разграничения доступа к данным

16. Таблицы системного каталога (словаря-справочника)

17. Хранение объектов БД

18. Встроенный SQL

• Некоторые примеры составления запросов

19. Выдать сотрудников в соответствии с большим (меньшим) окладом
• Вопрос к БД
• "Очевидное", но неправильное решение
• Правильные решения
• Решение типа top-N (начиная с версии 8.1.5)
• Решение с использованием аналитических функций ранжирования

20. Переформулировка запроса с HAVING

21. Декартово произведение

22. Ловушка условия с отрицанием NOT

23. Ловушка в NOT IN (S)


Введение в PL/SQL

1. Основные понятия

• Место PL/SQL в архитектуре Oracle
• Общая структура программы на PL/SQL

2. Основные типы и структуры данных
• Скалярные переменные
• Числовые типы
• Строковые типы
• Моменты времени и интервалы
• Булевы переменные
• LOB-типы
• Объявление переменных и постоянных
• Записи
• Объявление записей в программе
• Присвоения
• Ссылка на типы уже имеющихся данных
• Пользовательские подтипы

3. Выражения


4. Основные управляющие структуры
• Ветвление программы
• Предложение IF-THEN
• Предложение IF-THEN-ELSE
• Предложение IF-THEN-ELSIF
• Предложения CASE
• Безусловная передача управления
• Циклы
• Простой цикл
• Счетный цикл (FOR)
• Цикл по курсору (FOR)
• Цикл WHILE
• Имитация цикла REPEAT UNTIL
• Метки в циклах и в блоках

5. Подпрограммы
• Локальные подпрограммы
• Переопределение «внешних» имен
• Предваряющие (forward) объявления
• Повторение имен на одном уровне (overloading)

6. Взаимодействие с базой данных: статический SQL
• Использование записей вместо (списка) скаляров

7. Регулирование изменений в БД
• Управление транзакциями
• Блокировки
• Автономные транзакции

8. Встроенный динамический SQL
• Операторы встроенного динамического SQL
• Сравнительный пример двух способов работы с динамическим SQL

9. Использование курсоров
• Явные курсоры
• Объявление явных курсоров
• Открытие явных курсоров
• Извлечение результата через явный курсор
• Закрытие явного курсора
• Отсутствие запрета изменений таблиц при открытом курсоре
• Атрибуты для явных курсоров
• Несколько примеров использования циклов и курсоров
• Курсоры с блокировкой строк таблицы
• Предложение SELECT … FOR UPDATE
• Предосторожности употребления курсоров с блокировкой
• Возможность изменять строки, выбираемые курсором
• Ссылки на курсор
• Общие сведения
• Пример употребления для структуризации программы
• Неявные курсоры

10. Обработка исключительных ситуаций
• Объявление исключительных ситуаций
• Примеры обработки
• Порождение исключительных ситуаций
• Зона действия и распространение
• «Внутренние» исключительные ситуации блока
• Использование функций SQLCODE и SQLERRM

11. Хранимые процедуры и функции
• Общий синтаксис
• Параметры
• Тип параметра
• Режим использования параметра
• Значения по умолчанию
• Способы указать фактические значения параметрам
• Обращение к параметрам и к локальным переменным в теле подпрограммы
• Взаимные вызовы и повторения имен
• Указания компилятору при создании подпрограмм
• Хранимые подпрограммы и привилегии доступа к данным в БД
• Две логики реализации привилегий доступа к данным БД
• Особенности передачи привилегий через роли

12. Триггерные процедуры
• Создание триггерной процедуры
• Отключение триггерных процедур
• Триггерные процедуры для событий категории DML
• Комбинированные триггерные процедуры
• Управление транзакциями в теле триггерной процедуры
• Последовательность срабатывания триггерных процедур, когда их несколько
• Триггерные процедуры INSTEAD OF для выводимых таблиц
• Триггерные процедуры для событий категории DDL
• Триггерные процедуры для событий уровня схемы и БД

13. Пакеты в PL/SQL
• Общая структура пакета
• Обращение к элементами пакета
• (Глобальные) данные пакета
• Взаимные вызовы и повторения имен
• Инициализация пакета
• Прагма SERIALLY_REUSABLE

14. Вызов функций PL/SQL в предложениях SQL
• Требования и ограничения на применение функций пользователей в SQL
• Обращение в SQL к функциям из состава пакетов
• Разрешение конфликта имен столбцов и функций
• Табличные функции в SQL

15. Более сложные типы данных: коллекции
• Синтаксис объявления типов для коллекций
• Работа с ассоциативными массивами
• Создание вложенной таблицы и массива VARRAY в программе
• Добавление и убирание элементов в коллекциях
• Множественные действия с коллекциями
• Преобразования коллекций
• Методы для работы с коллекциями в программе
• Примеры использования коллекций в программе
• Привилегии
• Серийное выполнение и привязывание запросов к массивам
• Серийное выполнение однотипных операций: конструкция FORALL
• Привязка массивами: конструкция BULK COLLECT INTO
• Пример для схемы SCOTT
• Использование коллекций в табличных функциях (потоковой реализации)
• Простой пример
• Использование для преобразования данных

16. Отладка процедур в PL/SQL
• Таблицы словаря-справочника
• Зависимости подпрограмм
• Системные пакеты
• Пакет DBMS_PROFILER
• Пакет DBMS_TRACE
• Функции пакета DBMS_UTILITY
• Пакет DBMS_DEBUG
• Пример построения профиля работы программы

17. Системы программирования для PL/SQL

18. Системные пакеты PL/SQL

• Пакеты STANDARD и DBMS_STANDARD
• Прочие системные пакеты
• Запись данных из программы в файл и обратно
• Шифрование данных
• Автоматический запуск заданий в Oracle
• Управление динамическим размещением объектов в библиотечном буфере
• Манипулирование большими неструктурированными объектами NULL
• Доступ к старым значениям данных
• Рассылка сообщений из программы на PL/SQL
• Возможности работы в PL/SQL с COM Automation
• Дополнительные сведения

19. Примеры употребления ссылки на курсор для разделения обработки запроса
• Простой пример разделения открытия курсора и обработки
• Более сложный пример разделения работы

20. Атрибуты триггерных процедур уровня схемы БД и событий в СУБД
































































 

 

  Сетевая академия
Cisco
IT Academy
Microsoft
ORACLE ACADEMY Академическая
программа EMC
ИПАП Учебный центр
D-Link